git-svn: both merged commits and original commits are showing up in branches after migration

5 messages, 2 authors, 2016-06-15 · open the first message on its own page

git-svn: both merged commits and original commits are showing up in branches after migration

From: Bradley Wagner <hidden>
Date: 2016-06-15 22:49:06

I've done a migration using "git-svn init" and "git-svn fetch". After
the migration, I did a "git log refs/remotes/svn/6.7" and found that
it listed both the commits that I merged into the 6.7 branch and the
original commits to the trunk/master even though the SVN history
obviously only has what was merged into that branch. Any idea why the
Git branch has both (see below)? I did notice that the merged commits
seem to have extra metadata in the "Merge" property.

Results of "git log /path/to/6.7":

commit 6e18557b8f7e7173d26df7dd1857362c27eb3ab1
Merge: e36cfba c8a400c
Author: <author>
Date:   Fri Jun 25 21:00:19 2010 +0000

    PROJ-6648 (Merged from Trunk): Updated the API version in build file

    git-svn-id:
file:///Users/Developers/git_transition/svn_repo/6.7@14254
f4356f54-06d4-464e-91d3-36485834cb4b

commit c8a400c3ef8ac113dd325382bedd073bfedc3dd1
Author: <author>
Date:   Fri Jun 25 20:39:33 2010 +0000

    PROJ-6648: Updated the API version in build file

    git-svn-id:
file:///Users/Developers/git_transition/svn_repo/trunk@14253
f4356f54-06d4-464e-91d3-36485834cb4b


commit 9b968ba82f6f850919c41702dc024703e5721b7e
Merge: <author2>
Author: Mike Strauch [off-list ref]
Date:   Fri Jun 25 14:45:30 2010 +0000

    PROJ-6819: (Merged from Trunk) Reverted changes from last commit
where initialize and teardown were called on each sftpshuttle
invocation.  Now using a strategy where

    git-svn-id:
file:///Users/Developers/git_transition/svn_repo/6.7@14251
f4356f54-06d4-464e-91d3-36485834cb4b


commit c628db12ef8136cdf22749058e8d8682d0021b8b
Author: <author2>
Date:   Thu Jun 24 20:10:53 2010 +0000

    PROJ-6819: Reverted changes from last commit where initialize and
teardown were called on each sftpshuttle invocation.  Now using a
strategy where the retries counter

    git-svn-id:
file:///Users/Developers/git_transition/svn_repo/trunk@14240
f4356f54-06d4-464e-91d3-36485834cb4b

Re: git-svn: both merged commits and original commits are showing up in branches after migration

From: Bradley Wagner <hidden>
Date: 2016-06-15 22:49:06

Note: I could understand how the log could contain commits to the
trunk from *before* the branch was made, but not commits to the trunk
after the branch was made that were eventually merged into the branch
in a separate commit.

On Thu, Jul 8, 2010 at 10:58 PM, Bradley Wagner
[off-list ref] wrote:
I've done a migration using "git-svn init" and "git-svn fetch". After
the migration, I did a "git log refs/remotes/svn/6.7" and found that
it listed both the commits that I merged into the 6.7 branch and the
original commits to the trunk/master even though the SVN history
obviously only has what was merged into that branch. Any idea why the
Git branch has both (see below)? I did notice that the merged commits
seem to have extra metadata in the "Merge" property.

Results of "git log /path/to/6.7":

commit 6e18557b8f7e7173d26df7dd1857362c27eb3ab1
Merge: e36cfba c8a400c
Author: <author>
Date:   Fri Jun 25 21:00:19 2010 +0000

   PROJ-6648 (Merged from Trunk): Updated the API version in build file

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/6.7@14254
f4356f54-06d4-464e-91d3-36485834cb4b

commit c8a400c3ef8ac113dd325382bedd073bfedc3dd1
Author: <author>
Date:   Fri Jun 25 20:39:33 2010 +0000

   PROJ-6648: Updated the API version in build file

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/trunk@14253
f4356f54-06d4-464e-91d3-36485834cb4b


commit 9b968ba82f6f850919c41702dc024703e5721b7e
Merge: <author2>
Author: Mike Strauch [off-list ref]
Date:   Fri Jun 25 14:45:30 2010 +0000

   PROJ-6819: (Merged from Trunk) Reverted changes from last commit
where initialize and teardown were called on each sftpshuttle
invocation.  Now using a strategy where

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/6.7@14251
f4356f54-06d4-464e-91d3-36485834cb4b


commit c628db12ef8136cdf22749058e8d8682d0021b8b
Author: <author2>
Date:   Thu Jun 24 20:10:53 2010 +0000

   PROJ-6819: Reverted changes from last commit where initialize and
teardown were called on each sftpshuttle invocation.  Now using a
strategy where the retries counter

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/trunk@14240
f4356f54-06d4-464e-91d3-36485834cb4b

Re: git-svn: both merged commits and original commits are showing up in branches after migration

From: Bradley Wagner <hidden>
Date: 2016-06-15 22:49:07

I'm getting ready to switch over to Git entirely and wanted to make
sure this was expected behavior. It appears to be based on the
presence of the "Merge" property but I'm still not exactly sure why
the original commit would show up in the branch history.

I asked the same question on StackOverflow:
http://stackoverflow.com/questions/3229024/git-commits-to-master-branch-showing-up-in-other-branches.

On Thu, Jul 8, 2010 at 10:58 PM, Bradley Wagner
[off-list ref] wrote:
I've done a migration using "git-svn init" and "git-svn fetch". After
the migration, I did a "git log refs/remotes/svn/6.7" and found that
it listed both the commits that I merged into the 6.7 branch and the
original commits to the trunk/master even though the SVN history
obviously only has what was merged into that branch. Any idea why the
Git branch has both (see below)? I did notice that the merged commits
seem to have extra metadata in the "Merge" property.

Results of "git log /path/to/6.7":

commit 6e18557b8f7e7173d26df7dd1857362c27eb3ab1
Merge: e36cfba c8a400c
Author: <author>
Date:   Fri Jun 25 21:00:19 2010 +0000

   PROJ-6648 (Merged from Trunk): Updated the API version in build file

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/6.7@14254
f4356f54-06d4-464e-91d3-36485834cb4b

commit c8a400c3ef8ac113dd325382bedd073bfedc3dd1
Author: <author>
Date:   Fri Jun 25 20:39:33 2010 +0000

   PROJ-6648: Updated the API version in build file

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/trunk@14253
f4356f54-06d4-464e-91d3-36485834cb4b


commit 9b968ba82f6f850919c41702dc024703e5721b7e
Merge: <author2>
Author: Mike Strauch [off-list ref]
Date:   Fri Jun 25 14:45:30 2010 +0000

   PROJ-6819: (Merged from Trunk) Reverted changes from last commit
where initialize and teardown were called on each sftpshuttle
invocation.  Now using a strategy where

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/6.7@14251
f4356f54-06d4-464e-91d3-36485834cb4b


commit c628db12ef8136cdf22749058e8d8682d0021b8b
Author: <author2>
Date:   Thu Jun 24 20:10:53 2010 +0000

   PROJ-6819: Reverted changes from last commit where initialize and
teardown were called on each sftpshuttle invocation.  Now using a
strategy where the retries counter

   git-svn-id:
file:///Users/Developers/git_transition/svn_repo/trunk@14240
f4356f54-06d4-464e-91d3-36485834cb4b


-- 
Hannon Hill - Put Us to the Test
bradley.wagner@hannonhill.com | http://www.hannonhill.com

Re: git-svn: both merged commits and original commits are showing up in branches after migration

From: Jonathan Nieder <hidden>
Date: 2016-06-15 22:49:07

Hi Bradley,

Bradley Wagner wrote:
On Thu, Jul 8, 2010 at 10:58 PM, Bradley Wagner wrote:
quoted
I've done a migration using "git-svn init" and "git-svn fetch". After
the migration, I did a "git log refs/remotes/svn/6.7" and found that
it listed both the commits that I merged into the 6.7 branch and the
original commits to the trunk/master even though the SVN history
obviously only has what was merged into that branch.
Yes, this is intentional.  If you try ‘gitk --all’, you can see
the history of all branches, where they branched from, and so on.

As far as I know the svn:mergeinfo is not actually used until
a merge.  Instead, git-svn uses subversion’s file copy tracking
information to follow history past a branch point; see the
find_parent_branch function in the git-svn script for details.

Hope that helps,
Jonathan

Re: git-svn: both merged commits and original commits are showing up in branches after migration

From: Bradley Wagner <hidden>
Date: 2016-06-15 22:49:07

Thanks!

Seemed weird at first that I would see both the original commit and
the merge. I'm realizing now that this is the way Git handles merges,
however, so I guess it's just trying to apply the same logic during
the svn 2 git migration by utilizing the svn:merge-info to "re-create"
the branch history.

I noticed that this did not happen in branches created before we
upgraded to the SVN version that supported merge tracking.

On Mon, Jul 12, 2010 at 2:24 PM, Jonathan Nieder [off-list ref] wrote:
Hi Bradley,

Bradley Wagner wrote:
quoted
On Thu, Jul 8, 2010 at 10:58 PM, Bradley Wagner wrote:
quoted
quoted
I've done a migration using "git-svn init" and "git-svn fetch". After
the migration, I did a "git log refs/remotes/svn/6.7" and found that
it listed both the commits that I merged into the 6.7 branch and the
original commits to the trunk/master even though the SVN history
obviously only has what was merged into that branch.
Yes, this is intentional.  If you try ‘gitk --all’, you can see
the history of all branches, where they branched from, and so on.

As far as I know the svn:mergeinfo is not actually used until
a merge.  Instead, git-svn uses subversion’s file copy tracking
information to follow history past a branch point; see the
find_parent_branch function in the git-svn script for details.

Hope that helps,
Jonathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help