| #include "cache.h" |
| #include "tree.h" |
| |
| int cmd_main(int ac, const char **av) |
| { |
| struct object_id hash1, hash2, shifted; |
| struct tree *one, *two; |
| |
| setup_git_directory(); |
| |
| if (get_oid(av[1], &hash1)) |
| die("cannot parse %s as an object name", av[1]); |
| if (get_oid(av[2], &hash2)) |
| die("cannot parse %s as an object name", av[2]); |
| one = parse_tree_indirect(hash1.hash); |
| if (!one) |
| die("not a tree-ish %s", av[1]); |
| two = parse_tree_indirect(hash2.hash); |
| if (!two) |
| die("not a tree-ish %s", av[2]); |
| |
| shift_tree(&one->object.oid, &two->object.oid, &shifted, -1); |
| printf("shifted: %s\n", oid_to_hex(&shifted)); |
| |
| exit(0); |
| } |