Browse Source

Make git reflog expire honour core.sharedRepository.

Signed-off-by: Pierre Habouzit <madcoder@debian.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Pierre Habouzit 17 years ago committed by Junio C Hamano
parent
commit
336d09daf2
  1. 2
      builtin-reflog.c
  2. 15
      t/t1301-shared-repo.sh

2
builtin-reflog.c

@ -307,6 +307,8 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused, @@ -307,6 +307,8 @@ static int expire_reflog(const char *ref, const unsigned char *sha1, int unused,
unlink(newlog_path);
} else if (cmd->updateref && commit_ref(lock)) {
status |= error("Couldn't set %s", lock->ref_name);
} else {
adjust_shared_perm(log_file);
}
}
free(newlog_path);

15
t/t1301-shared-repo.sh

@ -83,4 +83,19 @@ do @@ -83,4 +83,19 @@ do

done

test_expect_success 'git reflog expire honors core.sharedRepository' '
git config core.sharedRepository group &&
git reflog expire --all &&
actual="$(ls -l .git/logs/refs/heads/master)" &&
case "$actual" in
-rw-rw-*)
: happy
;;
*)
echo Ooops, .git/logs/refs/heads/master is not 0662 [$actual]
false
;;
esac
'

test_done

Loading…
Cancel
Save