aboutsummaryrefslogtreecommitdiff
path: root/builtin-add.c
diff options
context:
space:
mode:
authorGustaf Hendeby <hendeby@isy.liu.se>2008-05-22 23:59:42 +0200
committerJunio C Hamano <gitster@pobox.com>2008-05-23 14:47:02 -0700
commit205ffa94be8f6492eef4bdaa3315e7fdc7e64e0b (patch)
treed07e6fe05a1ee5914c19bb01906ce79a5463e4db /builtin-add.c
parent38ed1d89f759699de56004b08668e1764613f47b (diff)
downloadgit-205ffa94be8f6492eef4bdaa3315e7fdc7e64e0b.tar.gz
git-205ffa94be8f6492eef4bdaa3315e7fdc7e64e0b.tar.xz
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>
Diffstat (limited to 'builtin-add.c')
-rw-r--r--builtin-add.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/builtin-add.c b/builtin-add.c
index 05af57f6e..8f81f3fbf 100644
--- a/builtin-add.c
+++ b/builtin-add.c
@@ -196,6 +196,7 @@ int cmd_add(int argc, const char **argv, const char *prefix)
int i, newfd;
const char **pathspec;
struct dir_struct dir;
+ int flags;
argc = parse_options(argc, argv, builtin_add_options,
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);
+ flags = ((verbose ? ADD_CACHE_VERBOSE : 0) |
+ (show_only ? ADD_CACHE_PRETEND : 0));
+
if (take_worktree_changes) {
const char **pathspec;
- int flags = ((verbose ? ADD_CACHE_VERBOSE : 0) |
- (show_only ? ADD_CACHE_PRETEND : 0));
-
if (read_cache() < 0)
die("index file corrupt");
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);
- 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)
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++)
- add_file_to_cache(dir.entries[i]->name, verbose ? ADD_CACHE_VERBOSE : 0);
+ add_file_to_cache(dir.entries[i]->name, flags);
finish:
if (active_cache_changed) {