develooper Front page | perl.perl5.porters | Postings from January 2012

re-instating blame (Re: [perl.git] branch nicholas/re-instate, updated. v5.15.6-466-g8deb7db)

Nicholas Clark
January 13, 2012 08:50
re-instating blame (Re: [perl.git] branch nicholas/re-instate, updated. v5.15.6-466-g8deb7db)
Message ID:
On Fri, Jan 13, 2012 at 05:40:21PM +0100, Nicholas Clark wrote:
> In perl.git, the branch nicholas/re-instate has been updated
> <>
> - Log -----------------------------------------------------------------
> commit 8deb7dbdfbd6e133d6cde85839a8acacd2185e32
> Merge: 9e6704a cc5038f
> Author: Nicholas Clark <>
> Date:   Fri Jan 13 17:33:24 2012 +0100
>     Revert "EPOC is special biologist word. [Do not merge to blead]"
>     This reverts commit 9a35cdd44afd0278caefb55a0bb28e5b14175002.

But witness the blame annotation on

It's back in 2001 like nothing had happened.

Whereas (pretty sure) a regular revert ends up with blame as that commit.

What I did was:

1: make a disposable branch from the commit before the one I was interested in
2: merge my real branch (pretend blead) into *it*
   (so that the current tip is the *not* the first parent)
3: git revert as usual after that
4: git reset HEAD^
5: git add everything that should be there
6: git commit --amend on the merge commit
7: git push my disposable branch as the original name - it's a fast forward

Although I have this horrid feeling that this will also "reset" the blame
annotation on every other file that has diverged between the two as if it
came from the merge commit. So maybe it's not a great idea.

[OK, why?
Because I'd like to know if it's possible to have the effect of a git revert,
but merged or somesuch in such a way that blame annotation easily sees the
lines of the restored files as if they were never deleted]

Nicholas Clark Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About