1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-05-05 09:26:12 +02:00

match-trees.c: remove the_repo from shift_tree*()

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2019-06-27 16:28:51 +07:00 committed by Junio C Hamano
parent 0dd1f0c3a6
commit 90d3405196
4 changed files with 12 additions and 10 deletions

View File

@ -1786,8 +1786,8 @@ int add_files_to_cache(const char *prefix, const struct pathspec *pathspec, int
extern int diff_auto_refresh_index; extern int diff_auto_refresh_index;
/* match-trees.c */ /* match-trees.c */
void shift_tree(const struct object_id *, const struct object_id *, struct object_id *, int); void shift_tree(struct repository *, const struct object_id *, const struct object_id *, struct object_id *, int);
void shift_tree_by(const struct object_id *, const struct object_id *, struct object_id *, const char *); void shift_tree_by(struct repository *, const struct object_id *, const struct object_id *, struct object_id *, const char *);
/* /*
* whitespace rules. * whitespace rules.

View File

@ -248,7 +248,8 @@ static int splice_tree(const struct object_id *oid1, const char *prefix,
* other hand, it could cover tree one and we might need to pick a * other hand, it could cover tree one and we might need to pick a
* subtree of it. * subtree of it.
*/ */
void shift_tree(const struct object_id *hash1, void shift_tree(struct repository *r,
const struct object_id *hash1,
const struct object_id *hash2, const struct object_id *hash2,
struct object_id *shifted, struct object_id *shifted,
int depth_limit) int depth_limit)
@ -290,7 +291,7 @@ void shift_tree(const struct object_id *hash1,
if (!*del_prefix) if (!*del_prefix)
return; return;
if (get_tree_entry(the_repository, hash2, del_prefix, shifted, &mode)) if (get_tree_entry(r, hash2, del_prefix, shifted, &mode))
die("cannot find path %s in tree %s", die("cannot find path %s in tree %s",
del_prefix, oid_to_hex(hash2)); del_prefix, oid_to_hex(hash2));
return; return;
@ -307,7 +308,8 @@ void shift_tree(const struct object_id *hash1,
* Unfortunately we cannot fundamentally tell which one to * Unfortunately we cannot fundamentally tell which one to
* be prefixed, as recursive merge can work in either direction. * be prefixed, as recursive merge can work in either direction.
*/ */
void shift_tree_by(const struct object_id *hash1, void shift_tree_by(struct repository *r,
const struct object_id *hash1,
const struct object_id *hash2, const struct object_id *hash2,
struct object_id *shifted, struct object_id *shifted,
const char *shift_prefix) const char *shift_prefix)
@ -317,12 +319,12 @@ void shift_tree_by(const struct object_id *hash1,
unsigned candidate = 0; unsigned candidate = 0;
/* Can hash2 be a tree at shift_prefix in tree hash1? */ /* Can hash2 be a tree at shift_prefix in tree hash1? */
if (!get_tree_entry(the_repository, hash1, shift_prefix, &sub1, &mode1) && if (!get_tree_entry(r, hash1, shift_prefix, &sub1, &mode1) &&
S_ISDIR(mode1)) S_ISDIR(mode1))
candidate |= 1; candidate |= 1;
/* Can hash1 be a tree at shift_prefix in tree hash2? */ /* Can hash1 be a tree at shift_prefix in tree hash2? */
if (!get_tree_entry(the_repository, hash2, shift_prefix, &sub2, &mode2) && if (!get_tree_entry(r, hash2, shift_prefix, &sub2, &mode2) &&
S_ISDIR(mode2)) S_ISDIR(mode2))
candidate |= 2; candidate |= 2;

View File

@ -153,9 +153,9 @@ static struct tree *shift_tree_object(struct repository *repo,
struct object_id shifted; struct object_id shifted;
if (!*subtree_shift) { if (!*subtree_shift) {
shift_tree(&one->object.oid, &two->object.oid, &shifted, 0); shift_tree(repo, &one->object.oid, &two->object.oid, &shifted, 0);
} else { } else {
shift_tree_by(&one->object.oid, &two->object.oid, &shifted, shift_tree_by(repo, &one->object.oid, &two->object.oid, &shifted,
subtree_shift); subtree_shift);
} }
if (oideq(&two->object.oid, &shifted)) if (oideq(&two->object.oid, &shifted))

View File

@ -20,7 +20,7 @@ int cmd__match_trees(int ac, const char **av)
if (!two) if (!two)
die("not a tree-ish %s", av[2]); die("not a tree-ish %s", av[2]);
shift_tree(&one->object.oid, &two->object.oid, &shifted, -1); shift_tree(the_repository, &one->object.oid, &two->object.oid, &shifted, -1);
printf("shifted: %s\n", oid_to_hex(&shifted)); printf("shifted: %s\n", oid_to_hex(&shifted));
exit(0); exit(0);