Subject: Re: [RFH] An early draft of v1.5.0 release notes

From: Jakub Narebski <[email-masked]>
Date: Thu, 28 Dec 2006 01:32:54 +0100

Jakub Narebski wrote:
> Junio C Hamano wrote:
>> Jakub Narebski <[email-masked]> 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 <[email-masked]>
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 <[email-masked]>
---
 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