diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-05-25 14:03:50 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-05-25 14:03:50 -0700 |
commit | 0166592495e21b075fa48225ff21568269bf51d4 (patch) | |
tree | 21c295f211ad2aeaa798222e7c5564f17a90a429 /builtin-add.c | |
parent | 488ee2fe21ca69b90aa2b43dc9e30279a12cca63 (diff) | |
parent | 205ffa94be8f6492eef4bdaa3315e7fdc7e64e0b (diff) | |
download | git-0166592495e21b075fa48225ff21568269bf51d4.tar.gz |
Merge branch 'jc/add-n-u'
* jc/add-n-u:
Make git add -n and git -u -n output consistent
"git-add -n -u" should not add but just report
Conflicts:
builtin-add.c
builtin-mv.c
cache.h
read-cache.c
Diffstat (limited to 'builtin-add.c')
-rw-r--r-- | builtin-add.c | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/builtin-add.c b/builtin-add.c index 73235ed08a..6e4e645cb7 100644 --- a/builtin-add.c +++ b/builtin-add.c @@ -100,15 +100,16 @@ static void update_callback(struct diff_queue_struct *q, case DIFF_STATUS_UNMERGED: case DIFF_STATUS_MODIFIED: case DIFF_STATUS_TYPE_CHANGED: - if (add_file_to_cache(path, data->flags & ADD_FILES_VERBOSE)) { - if (!(data->flags & ADD_FILES_IGNORE_ERRORS)) + if (add_file_to_cache(path, data->flags)) { + if (!(data->flags & ADD_CACHE_IGNORE_ERRORS)) die("updating files failed"); data->add_errors++; } break; case DIFF_STATUS_DELETED: - remove_file_from_cache(path); - if (data->flags & ADD_FILES_VERBOSE) + if (!(data->flags & ADD_CACHE_PRETEND)) + remove_file_from_cache(path); + if (data->flags & (ADD_CACHE_PRETEND|ADD_CACHE_VERBOSE)) printf("remove '%s'\n", path); break; } @@ -221,6 +222,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); @@ -233,18 +235,15 @@ 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) | + (ignore_add_errors ? ADD_CACHE_IGNORE_ERRORS : 0)); + if (take_worktree_changes) { - int flags = 0; const char **pathspec; if (read_cache() < 0) die("index file corrupt"); pathspec = get_pathspec(prefix, argv); - - if (verbose) - flags |= ADD_FILES_VERBOSE; - if (ignore_add_errors) - flags |= ADD_FILES_IGNORE_ERRORS; - exit_status = add_files_to_cache(prefix, pathspec, flags); goto finish; } @@ -263,17 +262,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"); @@ -287,7 +275,7 @@ int cmd_add(int argc, const char **argv, const char *prefix) } for (i = 0; i < dir.nr; i++) - if (add_file_to_cache(dir.entries[i]->name, verbose)) { + if (add_file_to_cache(dir.entries[i]->name, flags)) { if (!ignore_add_errors) die("adding files failed"); exit_status = 1; |