Does / Is anyone maintaining CVS for FreeBSD?

mdf at FreeBSD.org mdf at FreeBSD.org
Tue Jan 1 22:35:45 UTC 2013


On Tue, Jan 1, 2013 at 1:18 PM, Alfred Perlstein <bright at mu.org> wrote:
> "git-svn" is somewhat problematic:
>
> http://wiki.freebsd.org/GitWorkflow -> "Using git-svn (FreeBSD committers
> only)" ->
>
>> Things to keep in mind:
>>
>>  *
>>
>>     Never git merge branches, unless you know what you're doing.
>>
>>  *
>>
>>     Always git rebase your work on top of master, then git svn dcommit
>>     can push the top commits to svn.
>>
>>  *
>>
>>     Always double-check with git svn dcommit -n to see what would happen.
>>
>>  *
>>
>>     While you can use git add for new files just fine, you won't be
>>     able to push those upstream, you can however use the patch, apply
>>     it to some subversion checkout and do the commit there. This is a
>>     shortcoming of our very own Subversion hacks, but hey, it's better
>>     than nothing!
>>
>>  *
>>
>>     While git-svn now allows you to set svn:mergeinfo when committing,
>>     this is so fragile that the FreeBSD projects discourages its use.
>>     Please use svn(1) for merging, sorry.
>>
>
> It's very poor (at least according to the wiki).  Seems like you can't do
> much except pull a patch from git, apply to subversion and then commit
> upstream.  Eck...

You can do "normal" code with git-svn just fine.  You can't merge svn
branches with git.  Due to svn: properties on the files, you can't
create new files with git.  Everything else (i.e., in my experience
90% of the code I do) can be done in git.

Because git svn dcommit pushes *all* patches, the recommendation is to
look carefully at what will be pushed.  But it's a quick git checkout
<branch>; git rebase -i HEAD~N; git svn dcommit; git checkout master;
git svn fetch; git rebase; git delete <branch> to push only selected
patches.

Now that was a lot of typing, but heck, it could be scripted too.

Cheers,
matthew


More information about the freebsd-stable mailing list