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