Skip to content
Prev 9913 / 21312 Next

[Bioc-devel] GitHub and svn

Hi folks, I'm a person who prefers to use Git as my main source for my
Bioc packages.  These Git repositories are then synced online to
GitHub for each collaboration yada yada.  This also means that these
days I also tend to think of the Bioconductor SVN repository mostly as
a communication channel for submitting new versions (very much as you
FTP package updates to CRAN).

That's my setup.  Now, I constantly failed to remember the git svn
commands to synchronizing between local Git repository and the Bioc
SVN repository - to be honest - it was lots of trial and error
whenever I had to do it.  This caused me to hold back on committing
updates or sometimes I committed directly to the Bioc SVN and manually
copied it over to the Git repository.  Things didn't work smoothly
because I constantly ran into those dreaded `git svn` errors that I
think is due to a non-linear Git history or whatever.

So, I wrote the git-bioc tools: https://github.com/HenrikBengtsson/git-bioc

Now, when I've done updates to my Git repository and feel they're
ready to go live on Bioc devel (after first having pushed to GitHub
and verified that Travis CI and Appveyor CI reports all OK), I
basically do:

1. git bioc pull
2. git bioc import (and solve any conflicts, iff needed)
3. git bioc export (and solve any conflicts, iff needed)
4. git bioc push

The first two won't do anything unless there have been updates
directly to the SVN repos.

Feel free to try it out, improve on it and so on.  I don't have any
plans to maintain this for everyone, but maybe it's a good enough stub
for someone else to build something more general.  Things that can be
improved is how commit messages are compiled / generated and how
conflicts are solved.

Before using it, please read the big WARNING in the README file.

/Henrik

On Sat, Oct 15, 2016 at 6:05 PM, Nathan Sheffield
<nathan at code.databio.org> wrote: