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;
|
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.
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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))
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user