Make git add -n and git -u -n output consistent
Output format from "git add -n $path" lists path to blobs that are going to be added on a single line, separated with SP. On the other hand, the suggested "git add -u -n" shows one path per line, like "add '<file>'\n". Of course, these two are inconsistent. Plain "git add -n" can afford to only say names of paths, as all it does is to add (update). However, "git add -u" needs to be able to express "remove" somehow. So if we need to have them formatted the same way, we need to unify with the "git add -n -u" format. Incidentally, this is consistent with how 'update-index' says it. This changes the output from "git add -n $paths" but as a general principle, output from Porcelain commands is a fair game for improvements and not for script consumption. Signed-off-by: Gustaf Hendeby <hendeby@isy.liu.se> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
38ed1d89f7
commit
205ffa94be
|
@ -196,6 +196,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
||||||
int i, newfd;
|
int i, newfd;
|
||||||
const char **pathspec;
|
const char **pathspec;
|
||||||
struct dir_struct dir;
|
struct dir_struct dir;
|
||||||
|
int flags;
|
||||||
|
|
||||||
argc = parse_options(argc, argv, builtin_add_options,
|
argc = parse_options(argc, argv, builtin_add_options,
|
||||||
builtin_add_usage, 0);
|
builtin_add_usage, 0);
|
||||||
|
@ -208,11 +209,11 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
||||||
|
|
||||||
newfd = hold_locked_index(&lock_file, 1);
|
newfd = hold_locked_index(&lock_file, 1);
|
||||||
|
|
||||||
|
flags = ((verbose ? ADD_CACHE_VERBOSE : 0) |
|
||||||
|
(show_only ? ADD_CACHE_PRETEND : 0));
|
||||||
|
|
||||||
if (take_worktree_changes) {
|
if (take_worktree_changes) {
|
||||||
const char **pathspec;
|
const char **pathspec;
|
||||||
int flags = ((verbose ? ADD_CACHE_VERBOSE : 0) |
|
|
||||||
(show_only ? ADD_CACHE_PRETEND : 0));
|
|
||||||
|
|
||||||
if (read_cache() < 0)
|
if (read_cache() < 0)
|
||||||
die("index file corrupt");
|
die("index file corrupt");
|
||||||
pathspec = get_pathspec(prefix, argv);
|
pathspec = get_pathspec(prefix, argv);
|
||||||
|
@ -234,17 +235,6 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
||||||
|
|
||||||
fill_directory(&dir, pathspec, ignored_too);
|
fill_directory(&dir, pathspec, ignored_too);
|
||||||
|
|
||||||
if (show_only) {
|
|
||||||
const char *sep = "", *eof = "";
|
|
||||||
for (i = 0; i < dir.nr; i++) {
|
|
||||||
printf("%s%s", sep, dir.entries[i]->name);
|
|
||||||
sep = " ";
|
|
||||||
eof = "\n";
|
|
||||||
}
|
|
||||||
fputs(eof, stdout);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (read_cache() < 0)
|
if (read_cache() < 0)
|
||||||
die("index file corrupt");
|
die("index file corrupt");
|
||||||
|
|
||||||
|
@ -258,7 +248,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < dir.nr; i++)
|
for (i = 0; i < dir.nr; i++)
|
||||||
add_file_to_cache(dir.entries[i]->name, verbose ? ADD_CACHE_VERBOSE : 0);
|
add_file_to_cache(dir.entries[i]->name, flags);
|
||||||
|
|
||||||
finish:
|
finish:
|
||||||
if (active_cache_changed) {
|
if (active_cache_changed) {
|
||||||
|
|
Loading…
Reference in New Issue