| #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); |
| } |