Merge branch 'da/rev-parse-verify-quiet'

"rev-parse --verify --quiet $name" is meant to quietly exit with a
non-zero status when $name is not a valid object name, but still
gave error messages in some cases.

* da/rev-parse-verify-quiet:
  stash: prefer --quiet over shell redirection of the standard error stream
  refs: make rev-parse --quiet actually quiet
  t1503: use test_must_be_empty
  Documentation: a note about stdout for git rev-parse --verify --quiet
This commit is contained in:
Junio C Hamano
2014-09-29 12:36:10 -07:00
8 changed files with 71 additions and 27 deletions

10
refs.c
View File

@ -3159,7 +3159,7 @@ static int read_ref_at_ent_oldest(unsigned char *osha1, unsigned char *nsha1,
return 1;
}
int read_ref_at(const char *refname, unsigned long at_time, int cnt,
int read_ref_at(const char *refname, unsigned int flags, unsigned long at_time, int cnt,
unsigned char *sha1, char **msg,
unsigned long *cutoff_time, int *cutoff_tz, int *cutoff_cnt)
{
@ -3177,8 +3177,12 @@ int read_ref_at(const char *refname, unsigned long at_time, int cnt,
for_each_reflog_ent_reverse(refname, read_ref_at_ent, &cb);
if (!cb.reccnt)
die("Log for %s is empty.", refname);
if (!cb.reccnt) {
if (flags & GET_SHA1_QUIETLY)
exit(128);
else
die("Log for %s is empty.", refname);
}
if (cb.found_it)
return 0;