summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2014-12-12 08:56:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2014-12-12 19:43:48 (GMT)
commit98f31d8589d5a26b1b3ab4f30ec9cc81aa625872 (patch)
treedc8a0b0c8f90b2069a5d31059f6c3c83696bb723 /builtin
parentaba56c89b21ebe64f38c521c0962c45eb4d23749 (diff)
downloadgit-98f31d8589d5a26b1b3ab4f30ec9cc81aa625872.zip
git-98f31d8589d5a26b1b3ab4f30ec9cc81aa625872.tar.gz
git-98f31d8589d5a26b1b3ab4f30ec9cc81aa625872.tar.bz2
expire_reflog(): move dry_run to flags argument
The policy objects don't care about "--dry-run". So move it to expire_reflog()'s flags parameter. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Reviewed-by: Stefan Beller <sbeller@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin')
-rw-r--r--builtin/reflog.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/builtin/reflog.c b/builtin/reflog.c
index dfff5f2..2f21735 100644
--- a/builtin/reflog.c
+++ b/builtin/reflog.c
@@ -20,9 +20,12 @@ static const char reflog_delete_usage[] =
static unsigned long default_reflog_expire;
static unsigned long default_reflog_expire_unreachable;
+enum expire_reflog_flags {
+ EXPIRE_REFLOGS_DRY_RUN = 1 << 0
+};
+
struct cmd_reflog_expire_cb {
struct rev_info revs;
- int dry_run;
int stalefix;
int rewrite;
int updateref;
@@ -438,7 +441,7 @@ static int expire_reflog(const char *refname, const unsigned char *sha1,
}
log_file = git_pathdup("logs/%s", refname);
- if (!cmd->dry_run) {
+ if (!(flags & EXPIRE_REFLOGS_DRY_RUN)) {
/*
* Even though holding $GIT_DIR/logs/$reflog.lock has
* no locking implications, we use the lock_file
@@ -467,7 +470,7 @@ static int expire_reflog(const char *refname, const unsigned char *sha1,
for_each_reflog_ent(refname, expire_reflog_ent, &cb);
reflog_expiry_cleanup(&cb);
- if (cb.newlog) {
+ if (!(flags & EXPIRE_REFLOGS_DRY_RUN)) {
if (close_lock_file(&reflog_lock)) {
status |= error("couldn't write %s: %s", log_file,
strerror(errno));
@@ -658,7 +661,7 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix)
for (i = 1; i < argc; i++) {
const char *arg = argv[i];
if (!strcmp(arg, "--dry-run") || !strcmp(arg, "-n"))
- cb.dry_run = 1;
+ flags |= EXPIRE_REFLOGS_DRY_RUN;
else if (starts_with(arg, "--expire=")) {
if (parse_expiry_date(arg + 9, &cb.expire_total))
die(_("'%s' is not a valid timestamp"), arg);
@@ -752,7 +755,7 @@ static int cmd_reflog_delete(int argc, const char **argv, const char *prefix)
for (i = 1; i < argc; i++) {
const char *arg = argv[i];
if (!strcmp(arg, "--dry-run") || !strcmp(arg, "-n"))
- cb.dry_run = 1;
+ flags |= EXPIRE_REFLOGS_DRY_RUN;
else if (!strcmp(arg, "--rewrite"))
cb.rewrite = 1;
else if (!strcmp(arg, "--updateref"))