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