git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Kelvie Wong" <kelvie@ieee.org>
To: "Eric Wong" <normalperson@yhbt.net>
Cc: git@vger.kernel.org
Subject: Re: git-svn rebase issues (the commiter gets changed)
Date: Thu, 29 Nov 2007 08:16:32 -0800	[thread overview]
Message-ID: <94ccbe710711290816t7a6ba9b1o8f37ecf583305a51@mail.gmail.com> (raw)
In-Reply-To: <20071129075205.GB32277@soma>

On Nov 28, 2007 11:52 PM, Eric Wong <normalperson@yhbt.net> wrote:
> Kelvie Wong <kelvie@ieee.org> wrote:
> > When using git-svn rebase (I'm not sure if this happens with a regular
> > rebase as well, I use use git-svn primarily at work), the following
> > oddity happens:
> >
> > kelvie@mudd (working) qt $ git-cat-file commit
> > c27e6207c9078d4225288d55454d6577f0135c16
> > tree 13d9ef9cc67f5e6381d7697e5794c0ab5f72c729
> > parent b9eb187d3029c5f9a816cb8f5473d9b239952d53
> > author kwong <kwong@e2d93294-a71b-0410-9dca-e2ea525a67c9> 1195596864 +0000
> > committer cscrimgeour
> > <cscrimgeour@e2d93294-a71b-0410-9dca-e2ea525a67c9> 1195691944 +0000
>
> This is strange.  Does this commit end below? or did you truncate
> the git-svn-id: line from this message?
>

This is one of my local commits, not yet commited to the SVN repo.
I've talked on IRC, and it seems I'm not the only one that has this
problem.  I have heard that the committer timestamp of _all_ rebased
local commits gets changed to the last SVN commit (made by someone
else), but the committer doesn't get changed (except in the first
commit rebased after SVN).

> >
> > Qt/FME Extensions: QFMEDialog/QFMEWizard -> Windows only, for now
> >
> > This is also a reapplication of r39657, which got rolled back.
> >
> > These have dependencies on QWinWidget (which is a part of the MFC/Qt Migration
> > Solution), and thus, it does not build without it.
> > <kw>
> > kelvie@mudd (working) qt $ git-cat-file commit
> > 7075991c67c6d409ec2315dfeef6f45dd328485b
> > tree 13d9ef9cc67f5e6381d7697e5794c0ab5f72c729
> > parent b9eb187d3029c5f9a816cb8f5473d9b239952d53
> > author kwong <kwong@e2d93294-a71b-0410-9dca-e2ea525a67c9> 1195596864 +0000
> > committer Kelvie Wong <Kelvie.Wong@safe.com> 1195747291 +0000
>
> This commit hasn't made it into SVN, yet, right?  If so, then that's
> alright.
>
> >
> > Qt/FME Extensions: QFMEDialog/QFMEWizard -> Windows only, for now
> >
> > This is also a reapplication of r39657, which got rolled back.
> >
> > These have dependencies on QWinWidget (which is a part of the MFC/Qt Migration
> > Solution), and thus, it does not build without it.
> > <kw>
> >
> >
> > These are both the exact same commit (the tree, parent, and author are
> > equivalent).
> >
> > Sometimes (not always), the committer in a commit changes to be the
> > committer of the parent (svn) commit.  This only happens to the
> > commits whose parent is the SVN commit.  In the above example,
> > cscrimgeour is a SVN user, who obviously could not have changed my
> > code; the proper commit is the one at the bottom.
> >
> > Both of these are the first local commit that I have rebased onto SVN.
>
> Did you get these commits by cherry-picking (or format-patch + am)
> from another SVN branch?  Have these commits been made to SVN already?
>

It's a commit I made directly.

> `gitk --reflog --all' may reveal some answers or clarify
> things for you (assuming you have reflogs enabled in .git/config).
>
> Rebase (all forms of it) *does* rewrite committer info, but how you got
> cscrimgeour in there is very strange to me.
>
> --
> Eric Wong
>

Just did it again this morning, with a clean test branch:

kelvie@mudd (text-edit) qt $ git checkout -b test git-svn
Switched to a new branch "test"
kelvie@mudd (test) qt $ touch test
kelvie@mudd (test) qt $ git add test
kelvie@mudd (test) qt $ git commit -a -m 'Test!'
Created commit 05c4016: Test!
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 apps/qt/test
kelvie@mudd (test) qt $ git-cat-file commit HEAD
tree 867c0aa4c814542f0752b5d4c85fc96ba2279aac
parent 831ffbf25057ed30274d4216269c572cfce12184
author Kelvie Wong <Kelvie.Wong@safe.com> 1196352603 -0800
committer Kelvie Wong <Kelvie.Wong@safe.com> 1196352603 -0800

Test!
kelvie@mudd (test) qt $ git svn rebase
<snip>
HEAD is now at 7319c2a... (svn commit message)
kelvie@mudd (test) qt $ git-cat-file commit HEAD
tree 4edacbd41af76ac243099467b33350887c0fb03d
parent 7319c2a810554aab25a688bcc2b16fc60529b59d
author Kelvie Wong <Kelvie.Wong@safe.com> 1196352603 -0800
committer ogibbins <ogibbins@e2d93294-a71b-0410-9dca-e2ea525a67c9>
1196346907 +0000

Test!
kelvie@mudd (test) qt $ git --version
git version 1.5.3.6.736.gb7f30

And again, the committer of a local commit gets changed.

Now, this part is more interesting:

kelvie@mudd (test) qt $ git checkout working
Switched to branch "working"
kelvie@mudd (working) qt $ git svn rebase
<no fetch, just a checkout and rebase>

And when I cat-file the commit, this time it's preserved.  Wild guess
here (this behaviour seems kind of inconsistent), but it has to do
with the transition between fetch and rebase?  Or is this a bug in
git-rebase somewhere?

-- 
Kelvie Wong

  reply	other threads:[~2007-11-29 16:16 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-22 16:15 git-svn rebase issues (the commiter gets changed) Kelvie Wong
2007-11-29  7:52 ` Eric Wong
2007-11-29 16:16   ` Kelvie Wong [this message]
2007-12-16  3:27     ` Eric Wong
2007-12-16  3:39       ` Eric Wong
2007-12-16  5:50         ` Junio C Hamano
2007-12-18 17:16       ` Kelvie Wong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=94ccbe710711290816t7a6ba9b1o8f37ecf583305a51@mail.gmail.com \
    --to=kelvie@ieee.org \
    --cc=git@vger.kernel.org \
    --cc=normalperson@yhbt.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).