Jakub Narebski wrote: > Junio C Hamano wrote: >> Jakub Narebski <jnareb@xxxxxxxxx> writes: >>> Junio C Hamano wrote: >>>> >>>> - The commits referred to by reflog entries are now protected >>>> against pruning. The new command "git reflog expire" can be >>>> used to truncate older reflog entries and entries that refer >>>> to commits that have been pruned away previously. >>>> >>>> Existing repositories that have been using reflog may get >>>> complaints from fsck-objects; please run "git reflog expire >>>> --all" first to remove reflog entries that refer to commits >>>> that are no longer in the repository before attempting to >>>> repack it. [...] > I'd rather use "git reflog expire --pruned" to remove reflog entries > which refer to commits which are no longer in the repository; I don't > know, perhaps "git reflog expire --all" does that: but there is no > Documentation/git-reflog.txt (and I'm not running 'next' nor 'master' > but 1.4.4.3). So most probably it is just the case of adding an alias > to reflog expire option. Thanks for adding Documentation/git-reflog.txt. Nevertheless it didn't add the information that "git reflog expire" removes reflog entries that refer to commits that are no longer in the repository (see attached patch). I'm not sure if such technical information should be in git-reflog(1), but does only second, current sha1 in reflog line matters for prune? And does expiring rewrite reflog (previous sha1, making always previous sha1 (first sha1 in reflog line) always to refer some commit in earlier reflog line, or before first reflog line), or only delete lines? -- Jakub Narebski Warsaw, Poland ShadeHawk on #git
>From c39e864dec5fc5542e9dd14235a48fa2bb77ed6a Mon Sep 17 00:00:00 2001 From: Jakub Narebski <jnareb@xxxxxxxxx> Date: Thu, 28 Dec 2006 01:30:05 +0100 Subject: [PATCH] Add information in git-reflog(1) that "expire" removes pruned entries Add information to Documentation/git-reflog.txt that "expire" subcommand also removes entries which refer to commits that are no longer in repository. Signed-off-by: Jakub Narebski <jnareb@xxxxxxxxx> --- Documentation/git-reflog.txt | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt index 55a24d3..04ea51a 100644 --- a/Documentation/git-reflog.txt +++ b/Documentation/git-reflog.txt @@ -22,11 +22,12 @@ updated. This command is to manage the information recorded in it. The subcommand "expire" is used to prune older reflog entries. Entries older than `expire` time, or entries older than `expire-unreachable` time and are not reachable from the current -tip, are removed from the reflog. This is typically not used +tip, are removed from the reflog. Entries which refer to +commits that are no longer in the repository are pruned +regardless of their age. This command is typically not used directly by the end users -- instead, see gitlink:git-gc[1]. - OPTIONS ------- -- 1.4.4.3