Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6884521
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T05:31:10+00:00 2026-05-27T05:31:10+00:00

After I did the git svn clone –stdlayout … , everything looks good and

  • 0

After I did the git svn clone –stdlayout …, everything looks good and I have converted remote branches. But when git log –graph, I don’t see any branch merging graph. Is it normal?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T05:31:10+00:00Added an answer on May 27, 2026 at 5:31 am

    Since version 1.5.0 released in summer of 2008 Subversion does support merge-tracking. Subversion keeps information on performed merges as svn:mergeinfo property set on merge target, be it a branch directory, like ^/trunk/, or any other directory.

    There are major differences between merge-tracking mechanisms in Git and Subversion:

    1. The whole branch merge.

      When you’re on master branch, the command

      $ git merge some-branch
      

      results in a merge commit with its first parent set to the commit referenced by master and the second parent set to the commit referenced by some-branch (I don’t take into account fast-forward and conflicted merges here).

      For git it means that created merge commit includes the whole history of both master and some-branch.

      When you’ve checked out ^/trunk/ branch into svn working copy and then run

      $ svn merge ^/branches/some-branch trunk-working-copy
      

      Subversion will set svn:mergeinfo property on trunk-working-copy directory as follows:

      /branches/some-branch:10-20,30-40,50-60
      

      The range 10-20,30-40,50-60 includes those revisions which are not yet merged into ^/trunk/ branch from ^/branches/some-branch/ (Subversion detects them automatically).

      Mergeinfo property just specifies those revisions which were once merged into the branch. And it’s up to user to check whether all these merged revisions include the whole history of the branch.

    2. Cherry-pick merge.

      When you need to merge changes from a single commit into your master branch, you run

      $ git cherry-pick bc347a8
      

      After that git creates a commit with corresponding changes and a single parent set to the commit previously referenced by master branch.

      That is, git doesn’t create any kind of merge commit for cherry-pick. So, git has no means to track cherry-picked commits via its graph structure.

      Opposite to that Subversion does track cherry-pick merges by adjusting svn:mergeinfo property with respect to cherry-picked revision:

      $ svn merge -c100 ^/branches/some-branch trunk-working-copy
      

      This command is quite straight-forward, it adjusts svn:mergeinfo as follows:

      /branches/some-branch:100
      

      That means Subversion tracks cherry-pick merges.

    So, you don’t get merge commits after the translation. To my best knowledge git-svn has certain problems when it comes to merge history.

    But as subgit developer I have to say that subgit should correctly handle the merge-tracking info. Most probably svn:mergeinfo property set on your branches doesn’t include the whole history of the branches merged to them. Here’s how that could happen:

    • You have used old svn client (< 1.5), so your branches don’t have enough merge-tracking information.
    • You have performed cherry-picks and skipped some revision ranges from adding into svn:mergeinfo.
    • You have svn:mergeinfo set on directories which are not branch directories, i.e. they are not ^/trunk/, ^/branches/some-branch, etc (for standard layout).

    To fix that you have to find the skipped part of merge-tracking information and add it into your branches:

    1. Try to find which revision are not yet merged:

      $ svn mergeinfo --show-revs eligible ^/branches/some-branch/@HEAD ^/trunk/@HEAD
      

      The output must include all the revision you haven’t yet merged from ^/branches/some-branch/ to ^/trunk/.

    2. Try to merge not yet merged revisions by svn.

      • If you think all changes are already merged, use –record-only option of svn merge command;
      • If you’re not so sure, it’s better to perform normal svn merge which will apply all the missing changes.
    3. Using subgit you can also merge by git means and then push created merge commits to subgit powered repository, so it will translate these merge commits to svn revisions with correct svn:mergeinfo.

    As a nice bonus you may refer to SubGit specification related to the merge-tracking stuff, it has some pretty diagrams for all I’ve said above.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

A git svn clone with --stdlayout get me multiple branches if the source SVN
I use git to interface with an SVN repository. I have several git branches
After being troubled by an issue that I simply did not have the knowledge
Update: Ok, after getting past the fact that I did not have MSDTC set
After converting my repository to Git using git-svn, I'm seeing both the original master
My post commit hook is not running after git. I have verified that the
I did a fresh git cvsimport into a new folder, after about 30 minutes
I have a big problem with git-svn: I need to just push my git
After searching a lot i did not get any answers and finally i had
I did some googling to try to answer this question but even after that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.