blob: e0e2048320d58363e6ca582801f9ecfdf9f4fcc9 [file] [log] [blame]
Patrick Steinhardte7da9382024-06-14 08:50:23 +02001#define USE_THE_REPOSITORY_VARIABLE
2
Nguyễn Thái Ngọc Duy9080e752018-03-24 08:44:45 +01003#include "test-tool.h"
Elijah Newren41771fa2023-02-24 00:09:27 +00004#include "hex.h"
Elijah Newrend4ff2072023-04-22 20:17:15 +00005#include "match-trees.h"
Elijah Newrendabab1d2023-04-11 00:41:49 -07006#include "object-name.h"
Elijah Newrend1cbe1e2023-04-22 20:17:20 +00007#include "repository.h"
Elijah Newrene38da482023-03-21 06:26:05 +00008#include "setup.h"
Junio C Hamano68faf682007-02-15 16:32:45 -08009#include "tree.h"
10
Jeff King126e3b32023-03-28 16:57:25 -040011int cmd__match_trees(int ac UNUSED, const char **av)
Junio C Hamano68faf682007-02-15 16:32:45 -080012{
brian m. carlsonc9baaf92016-04-17 23:10:37 +000013 struct object_id hash1, hash2, shifted;
Junio C Hamano68faf682007-02-15 16:32:45 -080014 struct tree *one, *two;
15
Jeff King11e6b3f2016-03-05 17:16:50 -050016 setup_git_directory();
17
Ævar Arnfjörð Bjarmasond850b7a2023-03-28 15:58:46 +020018 if (repo_get_oid(the_repository, av[1], &hash1))
Junio C Hamano68faf682007-02-15 16:32:45 -080019 die("cannot parse %s as an object name", av[1]);
Ævar Arnfjörð Bjarmasond850b7a2023-03-28 15:58:46 +020020 if (repo_get_oid(the_repository, av[2], &hash2))
Junio C Hamano68faf682007-02-15 16:32:45 -080021 die("cannot parse %s as an object name", av[2]);
brian m. carlsona9dbc172017-05-06 22:10:37 +000022 one = parse_tree_indirect(&hash1);
Junio C Hamano68faf682007-02-15 16:32:45 -080023 if (!one)
Richard Hansenbb8040f2013-09-04 15:04:30 -040024 die("not a tree-ish %s", av[1]);
brian m. carlsona9dbc172017-05-06 22:10:37 +000025 two = parse_tree_indirect(&hash2);
Junio C Hamano68faf682007-02-15 16:32:45 -080026 if (!two)
Richard Hansenbb8040f2013-09-04 15:04:30 -040027 die("not a tree-ish %s", av[2]);
Junio C Hamano68faf682007-02-15 16:32:45 -080028
Nguyễn Thái Ngọc Duy90d34052019-06-27 16:28:51 +070029 shift_tree(the_repository, &one->object.oid, &two->object.oid, &shifted, -1);
brian m. carlsonc9baaf92016-04-17 23:10:37 +000030 printf("shifted: %s\n", oid_to_hex(&shifted));
Junio C Hamano68faf682007-02-15 16:32:45 -080031
Ævar Arnfjörð Bjarmason338abb02021-06-08 12:48:03 +020032 return 0;
Junio C Hamano68faf682007-02-15 16:32:45 -080033}