git and git-svn and multiple branches and push and fetch
git svn clone with
--stdlayout get me multiple branches if the source SVN repo has multiple branches (and tags).
I want to push all of them to another git repo. The
git svn clone did seem to have retrieved all the history for all the versions. Is this a matter of giving better instructions to git push?
- Git-Svn dcommit causes branch splitting
- Git-svn refuses to create branch on svn repository error: “not in the same repository”
- difference between 'git svn rebase' and 'git rebase trunk'
- Synchronizing Git and Svn
- Idea to mirror an svn to git
- How do I import svn branches rooted in different directories into git using git-svn?
Here’s my possibly misguided workflow intention.
- run git svn to clone svn into a private repo.
- push it to a shared repo managed with gitosis
- make a shared work branch
- various people the gitosis-managed repo, make private branches, and merge into
the shared work branch.
- I pull from the shared repo back to the one I created in step 1, merge to trunk, and dcommit.
Here’s the output of
git branch -a after running the
git svn clone.
/Users/benson/x/tsk/tsk_git_svn git branch -a * master remotes/origin/master remotes/sleuthkit-3.0 remotes/sleuthkit-3.1 remotes/tags/sleuthkit-3.0.0 remotes/tags/sleuthkit-3.0.1 remotes/tags/sleuthkit-3.1.0 remotes/tags/sleuthkit-3.1.0b1 remotes/tags/sleuthkit-3.1.1 remotes/tags/sleuthkit-3.1.2 remotes/tags/sleuthkit-3.1.3 remotes/tags/sleuthkit-3.1.3b1 remotes/tags/sleuthkit-3.2.0b1 remotes/tags/sleuthkit-3.2.0b2 remotes/trunk
2 Solutions collect form web for “git and git-svn and multiple branches and push and fetch”
you can try a
git push --mirror to be sure to push all references from one git repo to another:
Instead of naming each ref to push, specifies that all refs under
refs/(which includes but is not limited to
refs/tags/) be mirrored to the remote repository.
Newly created local refs will be pushed to the remote end, locally updated refs will be force updated on the remote end, and deleted refs will be removed from the remote end.
But I would recommend
svn2git (if you don’t plan to regularly update your svn repo), in order to get actual tags instead of “branches” for tags.
If you have an access to your SVN server, I would recommend 2 steps solution:
$ subgit install path/to/svn/repository $ cd path/to/svn/repository $ git push --all <target Git repository>
Note that the target Git repository should be bare to avoid problems (created by git init –bare command)