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:
parent
0dd1f0c3a6
commit
90d3405196
4
cache.h
4
cache.h
@ -1786,8 +1786,8 @@ int add_files_to_cache(const char *prefix, const struct pathspec *pathspec, int
|
||||
extern int diff_auto_refresh_index;
|
||||
|
||||
/* match-trees.c */
|
||||
void shift_tree(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(struct repository *, const struct object_id *, const struct object_id *, struct object_id *, int);
|
||||
void shift_tree_by(struct repository *, const struct object_id *, const struct object_id *, struct object_id *, const char *);
|
||||
|
||||
/*
|
||||
* whitespace rules.
|
||||
|
@ -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
|
||||
* 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,
|
||||
struct object_id *shifted,
|
||||
int depth_limit)
|
||||
@ -290,7 +291,7 @@ void shift_tree(const struct object_id *hash1,
|
||||
if (!*del_prefix)
|
||||
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",
|
||||
del_prefix, oid_to_hex(hash2));
|
||||
return;
|
||||
@ -307,7 +308,8 @@ void shift_tree(const struct object_id *hash1,
|
||||
* Unfortunately we cannot fundamentally tell which one to
|
||||
* 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,
|
||||
struct object_id *shifted,
|
||||
const char *shift_prefix)
|
||||
@ -317,12 +319,12 @@ void shift_tree_by(const struct object_id *hash1,
|
||||
unsigned candidate = 0;
|
||||
|
||||
/* 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))
|
||||
candidate |= 1;
|
||||
|
||||
/* 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))
|
||||
candidate |= 2;
|
||||
|
||||
|
@ -153,9 +153,9 @@ static struct tree *shift_tree_object(struct repository *repo,
|
||||
struct object_id shifted;
|
||||
|
||||
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 {
|
||||
shift_tree_by(&one->object.oid, &two->object.oid, &shifted,
|
||||
shift_tree_by(repo, &one->object.oid, &two->object.oid, &shifted,
|
||||
subtree_shift);
|
||||
}
|
||||
if (oideq(&two->object.oid, &shifted))
|
||||
|
@ -20,7 +20,7 @@ int cmd__match_trees(int ac, const char **av)
|
||||
if (!two)
|
||||
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));
|
||||
|
||||
exit(0);
|
||||
|
Loading…
Reference in New Issue
Block a user