[Bioc-devel] Bioconductor Git/GitHub Mirrors

Leonardo Collado Torres lcollado at jhu.edu
Wed Jun 17 02:55:05 CEST 2015


This sounds great! Not having to setup all those bridges everytime a
new BioC version is released should be a great feature, plus keeping
the commit history tidy. And we can still use Travis or other things
like Slack notifications on our own bridges. I guess that it'd be good
to remind users to pull new content from the bioc remote before trying
to commit to svn.

Anyhow, great work!

I'm having a few problems with this new setup which hopefully are easy
to iron out. Basically, I am stuck at the "git svn rebase && git svn
dcommit --add-author-from" step. See 2b) below.

1) My git was pointing to an older version even after updated with
brew. This was because I still had MacPorts around.
How to diagnose:
$ which git
Wrong version was pointing to /opt/local/bin/git instead of
/usr/local/bin/git Can also see by running
$ git --version ## if it doesn't match the version number you
installed from brew
* Uninstall all of MacPorts following instructions from
* Follow part of
$ sudo brew prune
$ brew update
$ brew install git
$ brew unlink git && brew link git

You might want to update subversion.
http://blog.victorquinn.com/fix-git-svn-in-mountain-lion might be
relevant for you.

2) Test case: derfinderHelper.

Smallest and simplest package I have, which won't matter much if
things break because it's stable.

a) You might want to delete update_remotes.sh after using it.
* I deleted the git-svn bridges to both
https://github.com/leekgroup/derfinderHelper and
* On https://github.com/leekgroup/derfinderHelper I removed bioc as a
collaborator and deleted the push-hook since it seems like we don't
need this anymore
* Download and ran update_remotes.sh as instructed. It doesn't seem
like we need it anymore after that point. If you leave it there, it
seems to give problems.
Easy to solve, but might want to clarify in the instructions.

b) Following the section "Use Git Locally And Publicly" I get stuck on
the "git svn rebase && git svn dcommit --add-author-from" step as
shown at https://gist.github.com/lcolladotor/ac8838b25955caeebcf1. The
"CONFLICT (add/add): Merge conflict" message lead me to
from where I could resolve the initial problem that I saw using "git
diff". But was basically the changes between the very first version of
README.md and the very latest version of it.
There must be a way to not have to go through every single commit
and/or file one by one. Using "git rebase --continue" doesn't help.

c) Given the issue with b, the devel branch already has a merge
commit. Using http://stackoverflow.com/questions/927358/how-to-undo-the-last-commit
I cleaned things up. I don't think it's needed, but I don't want to
run into more issues.
$ git rebase --abort
$ git reset HEAD~1

As you can tell, I'm no "git rebase" expert. From
http://git-scm.com/docs/git-rebase it seems like the "ours" option
might be useful. But right now I prefer to get some pointers on how to
proceed before playing around further :P


PS At the "Unable to determine upstream SVN information" section, I
believe that there is a typo. "git svn dcomit" should be "git svn

On Tue, Jun 16, 2015 at 3:20 PM, Ryan C. Thompson <rct at thompsonclan.org> wrote:
> This is great to hear. I sometimes want to delve into the source code of a
> package's internals, but doing so through the SVN web interface is clunky.
> Being able to use Github's repo browsing functionality for Bioc packages is
> great.
> On 06/16/2015 12:00 PM, Dan Tenenbaum wrote:
>> Dear Bioconductors,
>> We're pleased to announce the availability of Bioconductor Git Mirrors.
>> These are read-only GitHub repositories (available under
>> https://github.com/Bioconductor-mirror)
>> for every Bioconductor software package. These repositories are
>> synchronized with our
>> Subversion repository. Package maintainers (or anyone else) can fork these
>> repositories
>> and do their development on the fork. Complete documentation of the
>> mirrors is at
>> http://bioconductor.org/developers/how-to/git-mirror/
>> These mirrors supersede the Git-SVN bridge, which is now deprecated.
>> Creation of new bridges is disabled and maintainers who are using the
>> bridge
>> should migrate to the Git mirrors as soon as it's convenient, as the
>> bridge
>> will eventually go away. Instructions for migrating can be found at the
>> above link.
>> Some features of the new Git Mirrors, and why we feel they are a better
>> solution than the Git-SVN bridge:
>>   - The mirrors contain complete commit history.
>>   - The mirrors contain release branches for Bioconductor 3.0 and 3.1, and
>>     new releases will be added as they happen. You will no longer need
>>     separate repositories for release and devel.
>>   - Setup is easy and you no longer have to grant any permissions on your
>>     repository to other users. You can commit directly to Subversion
>>     using git-svn (https://git-scm.com/docs/git-svn).
>>   - Each git commit appears in the SVN log as a distinct SVN commit;
>> commits
>>     are no longer grouped together as they were with the bridge. Each git
>>     commit can be mapped to a specific svn commit, and vice versa.
>>   - The Git mirrors are much more reliable.
>>   - Use is flexible. You can use git locally (without GitHub) or you
>>     can use GitHub as well, to take advantage of all its social coding
>> features.
>>   - Using GitHub's code search, you can search the entire Bioconductor
>> codebase.
>>     Here's a sample search: https://goo.gl/jI92Ys
>>   - Subversion is fully supported and remains the cannonical repository;
>> use
>>     of Git and GitHub is optional.
>> We are excited about these new mirrors (brought to you by the hard
>> work of Jim Hester) and we hope you are too. Questions and comments are
>> welcome on the bioc-devel mailing list.
>> Dan
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel

More information about the Bioc-devel mailing list