diff options
author | Adam Simpkins <simpkins@facebook.com> | 2010-02-26 19:50:03 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-02-28 10:28:26 -0800 |
commit | 4a9f439415eda734914c7328a2326ee9590246ee (patch) | |
tree | 4687541ac71913788e36c6b1870ce78bb962dd91 | |
parent | cbf731ed4ec511f2c32598e03d7865f35881fea2 (diff) | |
download | git-4a9f439415eda734914c7328a2326ee9590246ee.tar.gz git-4a9f439415eda734914c7328a2326ee9590246ee.tar.xz |
reflog: honor gc.reflogexpire=never
Previously, if gc.reflogexpire or gc.reflogexpire were set to "never"
or "false", the builtin default values were used instead.
Signed-off-by: Adam Simpkins <simpkins@facebook.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin-reflog.c | 6 | ||||
-rwxr-xr-x | t/t1410-reflog.sh | 41 |
2 files changed, 43 insertions, 4 deletions
diff --git a/builtin-reflog.c b/builtin-reflog.c index 749821078..64e45bd81 100644 --- a/builtin-reflog.c +++ b/builtin-reflog.c @@ -530,16 +530,14 @@ static int cmd_reflog_expire(int argc, const char **argv, const char *prefix) int i, status, do_all; int explicit_expiry = 0; + default_reflog_expire_unreachable = now - 30 * 24 * 3600; + default_reflog_expire = now - 90 * 24 * 3600; git_config(reflog_expire_config, NULL); save_commit_buffer = 0; do_all = status = 0; memset(&cb, 0, sizeof(cb)); - if (!default_reflog_expire_unreachable) - default_reflog_expire_unreachable = now - 30 * 24 * 3600; - if (!default_reflog_expire) - default_reflog_expire = now - 90 * 24 * 3600; cb.expire_total = default_reflog_expire; cb.expire_unreachable = default_reflog_expire_unreachable; diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index 80af6b9b7..25046c420 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -214,4 +214,45 @@ test_expect_success 'delete' ' ' +test_expect_success 'rewind2' ' + + test_tick && git reset --hard HEAD~2 && + loglen=$(wc -l <.git/logs/refs/heads/master) && + test $loglen = 4 + +' + +test_expect_success '--expire=never' ' + + git reflog expire --verbose \ + --expire=never \ + --expire-unreachable=never \ + --all && + loglen=$(wc -l <.git/logs/refs/heads/master) && + test $loglen = 4 + +' + +test_expect_success 'gc.reflogexpire=never' ' + + git config gc.reflogexpire never && + git config gc.reflogexpireunreachable never && + git reflog expire --verbose --all && + loglen=$(wc -l <.git/logs/refs/heads/master) && + test $loglen = 4 +' + +test_expect_success 'gc.reflogexpire=false' ' + + git config gc.reflogexpire false && + git config gc.reflogexpireunreachable false && + git reflog expire --verbose --all && + loglen=$(wc -l <.git/logs/refs/heads/master) && + test $loglen = 4 && + + git config --unset gc.reflogexpire && + git config --unset gc.reflogexpireunreachable + +' + test_done |