From 5e6f003ca8aed546d50a4f3fbf1e011186047bc0 Mon Sep 17 00:00:00 2001 From: Michael Haggerty Date: Tue, 3 Mar 2015 12:43:16 +0100 Subject: reflog_expire(): ignore --updateref for symbolic references If we are expiring reflog entries for a symbolic reference, then how should --updateref be handled if the newest reflog entry is expired? Option 1: Update the referred-to reference. (This is what the current code does.) This doesn't make sense, because the referred-to reference has its own reflog, which hasn't been rewritten. Option 2: Update the symbolic reference itself (as in, REF_NODEREF). This would convert the symbolic reference into a non-symbolic reference (e.g., detaching HEAD), which is surely not what a user would expect. Option 3: Error out. This is plausible, but it would make the following usage impossible: git reflog expire ... --updateref --all Option 4: Ignore --updateref for symbolic references. We choose to implement option 4. Note: another problem in this code will be fixed in a moment. Signed-off-by: Michael Haggerty Reviewed-by: Stefan Beller Signed-off-by: Junio C Hamano --- Documentation/git-reflog.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Documentation/git-reflog.txt') diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt index 730106c90a..5e7908e4f7 100644 --- a/Documentation/git-reflog.txt +++ b/Documentation/git-reflog.txt @@ -88,7 +88,8 @@ Options for `expire` --updateref:: Update the reference to the value of the top reflog entry (i.e. - @\{0\}) if the previous top entry was pruned. + @\{0\}) if the previous top entry was pruned. (This + option is ignored for symbolic references.) --rewrite:: If a reflog entry's predecessor is pruned, adjust its "old" -- cgit v1.2.1