| #include "cache.h" | |
| #include "tree.h" | |
| int main(int ac, char **av) | |
| { | |
| unsigned char hash1[20], hash2[20], shifted[20]; | |
| struct tree *one, *two; | |
| if (get_sha1(av[1], hash1)) | |
| die("cannot parse %s as an object name", av[1]); | |
| if (get_sha1(av[2], hash2)) | |
| die("cannot parse %s as an object name", av[2]); | |
| one = parse_tree_indirect(hash1); | |
| if (!one) | |
| die("not a treeish %s", av[1]); | |
| two = parse_tree_indirect(hash2); | |
| if (!two) | |
| die("not a treeish %s", av[2]); | |
| shift_tree(one->object.sha1, two->object.sha1, shifted, -1); | |
| printf("shifted: %s\n", sha1_to_hex(shifted)); | |
| exit(0); | |
| } |