path: root/Documentation/git-reflog.txt
diff options
authorJakub Narebski <>2007-06-16 19:03:46 (GMT)
committerJunio C Hamano <>2007-06-16 20:08:12 (GMT)
commitcb877cd7b6c2a47ca4cbf58cd018ed1e73e8e0f3 (patch)
tree40797a2e84ef2af815c31e26c940fdc6e1efdd2b /Documentation/git-reflog.txt
parentc9bf7be238ac3c767f9ac6546d5bb7b11765253c (diff)
Document git reflog --stale-fix
Document --stale-fix, used in "git reflog expire --stale-fix --all" to remove invalid reflog entries, to fix situation after running non reflog-aware git-prune from an older git in the presence of reflogs (see RelNotes-1.5.0.txt). Based on description of commit 1389d9ddaa68a4cbf5018d88f971b9bbb7aaa3c9 "reflog expire --fix-stale" which introduced this option. Signed-off-by: Jakub Narebski <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to 'Documentation/git-reflog.txt')
1 files changed, 13 insertions, 0 deletions
diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt
index f717e1e..89bc9c5 100644
--- a/Documentation/git-reflog.txt
+++ b/Documentation/git-reflog.txt
@@ -39,6 +39,19 @@ the current branch. It is basically an alias for 'git log -g --abbrev-commit
+ This revamps the logic -- the definition of "broken commit"
+ becomes: a commit that is not reachable from any of the refs and
+ there is a missing object among the commit, tree, or blob
+ objects reachable from it that is not reachable from any of the
+ refs.
+This computation involves traversing all the reachable objects, i.e. it
+has the same cost as 'git prune'. Fortunately, once this is run, we
+should not have to ever worry about missing objects, because the current
+prune and pack-objects know about reflogs and protect objects referred by
Entries older than this time are pruned. Without the
option it is taken from configuration `gc.reflogExpire`,