Merge branch 'jc/fix-tree-walk' (early part)
* 'jc/fix-tree-walk' (early part): unpack_callback(): use unpack_failed() consistently unpack-trees: typofix diff-lib.c: fix misleading comments on oneway_diff()
This commit is contained in:
commit
39add7a36f
@ -383,7 +383,7 @@ static inline void skip_same_name(struct cache_entry *ce, struct unpack_trees_op
|
|||||||
* For diffing, the index is more important, and we only have a
|
* For diffing, the index is more important, and we only have a
|
||||||
* single tree.
|
* single tree.
|
||||||
*
|
*
|
||||||
* We're supposed to return how many index entries we want to skip.
|
* We're supposed to advance o->pos to skip what we have already processed.
|
||||||
*
|
*
|
||||||
* This wrapper makes it all more readable, and takes care of all
|
* This wrapper makes it all more readable, and takes care of all
|
||||||
* the fairly complex unpack_trees() semantic requirements, including
|
* the fairly complex unpack_trees() semantic requirements, including
|
||||||
|
@ -277,6 +277,17 @@ static int unpack_nondirectories(int n, unsigned long mask,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int unpack_failed(struct unpack_trees_options *o, const char *message)
|
||||||
|
{
|
||||||
|
discard_index(&o->result);
|
||||||
|
if (!o->gently) {
|
||||||
|
if (message)
|
||||||
|
return error("%s", message);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
static int unpack_callback(int n, unsigned long mask, unsigned long dirmask, struct name_entry *names, struct traverse_info *info)
|
static int unpack_callback(int n, unsigned long mask, unsigned long dirmask, struct name_entry *names, struct traverse_info *info)
|
||||||
{
|
{
|
||||||
struct cache_entry *src[MAX_UNPACK_TREES + 1] = { NULL, };
|
struct cache_entry *src[MAX_UNPACK_TREES + 1] = { NULL, };
|
||||||
@ -294,7 +305,7 @@ static int unpack_callback(int n, unsigned long mask, unsigned long dirmask, str
|
|||||||
int cmp = compare_entry(ce, info, p);
|
int cmp = compare_entry(ce, info, p);
|
||||||
if (cmp < 0) {
|
if (cmp < 0) {
|
||||||
if (unpack_index_entry(ce, o) < 0)
|
if (unpack_index_entry(ce, o) < 0)
|
||||||
return -1;
|
return unpack_failed(o, NULL);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!cmp) {
|
if (!cmp) {
|
||||||
@ -352,17 +363,6 @@ static int unpack_callback(int n, unsigned long mask, unsigned long dirmask, str
|
|||||||
return mask;
|
return mask;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int unpack_failed(struct unpack_trees_options *o, const char *message)
|
|
||||||
{
|
|
||||||
discard_index(&o->result);
|
|
||||||
if (!o->gently) {
|
|
||||||
if (message)
|
|
||||||
return error("%s", message);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* N-way merge "len" trees. Returns 0 on success, -1 on failure to manipulate the
|
* N-way merge "len" trees. Returns 0 on success, -1 on failure to manipulate the
|
||||||
* resulting index, -2 on failure to reflect the changes to the work tree.
|
* resulting index, -2 on failure to reflect the changes to the work tree.
|
||||||
@ -617,7 +617,7 @@ static int verify_absent(struct cache_entry *ce, const char *action,
|
|||||||
* found "foo/." in the working tree.
|
* found "foo/." in the working tree.
|
||||||
* This is tricky -- if we have modified
|
* This is tricky -- if we have modified
|
||||||
* files that are in "foo/" we would lose
|
* files that are in "foo/" we would lose
|
||||||
* it.
|
* them.
|
||||||
*/
|
*/
|
||||||
ret = verify_clean_subdirectory(ce, action, o);
|
ret = verify_clean_subdirectory(ce, action, o);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user