@matheusbsbs / matheus-bagliano / commits / b0320eaf6a
Fork 0

git-reset: Let -q hush "locally modified" messages

"git reset -q" is advertised to "only report errors", but "locally modified" messages are still shown. They are not errors but diagnostics. Signed-off-by: Stephan Beyer <s-beyer@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Stephan Beyer committed Jul 25, 2008 at 22:49 UTC b0320eaf6a25fbc4adf35d611c27006e6d853aa8
1 file changed +9 -6
builtin-reset.c
+9 -6
@@ -85,7 +85,7 @@ static void print_new_head_line(struct commit *commit)
85 printf("\n");
86 }
87
88 -static int update_index_refresh(int fd, struct lock_file *index_lock)
88 +static int update_index_refresh(int fd, struct lock_file *index_lock, int flags)
89 {
90 int result;
91
@@ -96,7 +96,8 @@ static int update_index_refresh(int fd, struct lock_file *index_lock)
96
97 if (read_cache() < 0)
98 return error("Could not read index");
99 - result = refresh_cache(REFRESH_SAY_CHANGED) ? 1 : 0;
99 +
100 + result = refresh_cache(flags) ? 1 : 0;
101 if (write_cache(fd, active_cache, active_nr) ||
102 commit_locked_index(index_lock))
103 return error ("Could not refresh index");
@@ -128,7 +129,7 @@ static void update_index_from_diff(struct diff_queue_struct *q,
129 }
130
131 static int read_from_tree(const char *prefix, const char **argv,
131 - unsigned char *tree_sha1)
132 + unsigned char *tree_sha1, int refresh_flags)
133 {
134 struct lock_file *lock = xcalloc(1, sizeof(struct lock_file));
135 int index_fd, index_was_discarded = 0;
@@ -152,7 +153,7 @@ static int read_from_tree(const char *prefix, const char **argv,
153 if (!index_was_discarded)
154 /* The index is still clobbered from do_diff_cache() */
155 discard_cache();
155 - return update_index_refresh(index_fd, lock);
156 + return update_index_refresh(index_fd, lock, refresh_flags);
157 }
158
159 static void prepend_reflog_action(const char *action, char *buf, size_t size)
@@ -246,7 +247,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
247 else if (reset_type != NONE)
248 die("Cannot do %s reset with paths.",
249 reset_type_names[reset_type]);
249 - return read_from_tree(prefix, argv + i, sha1);
250 + return read_from_tree(prefix, argv + i, sha1,
251 + quiet ? REFRESH_QUIET : REFRESH_SAY_CHANGED);
252 }
253 if (reset_type == NONE)
254 reset_type = MIXED; /* by default */
@@ -286,7 +288,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
288 case SOFT: /* Nothing else to do. */
289 break;
290 case MIXED: /* Report what has not been updated. */
289 - update_index_refresh(0, NULL);
291 + update_index_refresh(0, NULL,
292 + quiet ? REFRESH_QUIET : REFRESH_SAY_CHANGED);
293 break;
294 }
295