Merge branch 'maint' to sync with 1.5.2.5
* maint: GIT 1.5.2.5 git-add -u paths... now works from subdirectory Fix "git add -u" data corruption.
This commit is contained in:
@ -102,6 +102,7 @@ static void update_callback(struct diff_queue_struct *q,
|
||||
break;
|
||||
case DIFF_STATUS_DELETED:
|
||||
remove_file_from_cache(path);
|
||||
cache_tree_invalidate_path(active_cache_tree, path);
|
||||
if (verbose)
|
||||
printf("remove '%s'\n", path);
|
||||
break;
|
||||
@ -109,12 +110,12 @@ static void update_callback(struct diff_queue_struct *q,
|
||||
}
|
||||
}
|
||||
|
||||
static void update(int verbose, const char **files)
|
||||
static void update(int verbose, const char *prefix, const char **files)
|
||||
{
|
||||
struct rev_info rev;
|
||||
init_revisions(&rev, "");
|
||||
init_revisions(&rev, prefix);
|
||||
setup_revisions(0, NULL, &rev, NULL);
|
||||
rev.prune_data = get_pathspec(rev.prefix, files);
|
||||
rev.prune_data = get_pathspec(prefix, files);
|
||||
rev.diffopt.output_format = DIFF_FORMAT_CALLBACK;
|
||||
rev.diffopt.format_callback = update_callback;
|
||||
rev.diffopt.format_callback_data = &verbose;
|
||||
@ -216,7 +217,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
||||
}
|
||||
|
||||
if (take_worktree_changes) {
|
||||
update(verbose, argv + i);
|
||||
update(verbose, prefix, argv + i);
|
||||
goto finish;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user