[Bioc-devel] Bioconductor Git/GitHub Mirrors

Dan Tenenbaum dtenenba at fredhutch.org
Wed Jun 17 07:36:38 CEST 2015



----- Original Message -----
> From: "Dan Tenenbaum" <dtenenba at fredhutch.org>
> To: "Leonardo Collado Torres" <lcollado at jhu.edu>
> Cc: "bioc-devel" <bioc-devel at r-project.org>
> Sent: Tuesday, June 16, 2015 8:10:56 PM
> Subject: Re: [Bioc-devel] Bioconductor Git/GitHub Mirrors
> 
> 
> 
> ----- Original Message -----
> > From: "Dan Tenenbaum" <dtenenba at fredhutch.org>
> > To: "Leonardo Collado Torres" <lcollado at jhu.edu>
> > Cc: "bioc-devel" <bioc-devel at r-project.org>
> > Sent: Tuesday, June 16, 2015 8:05:37 PM
> > Subject: Re: [Bioc-devel] Bioconductor Git/GitHub Mirrors
> > 
> > 
> > 
> > ----- Original Message -----
> > > From: "Dan Tenenbaum" <dtenenba at fredhutch.org>
> > > To: "Leonardo Collado Torres" <lcollado at jhu.edu>
> > > Cc: "bioc-devel" <bioc-devel at r-project.org>, "Ryan C. Thompson"
> > > <rct at thompsonclan.org>
> > > Sent: Tuesday, June 16, 2015 7:02:36 PM
> > > Subject: Re: [Bioc-devel] Bioconductor Git/GitHub Mirrors
> > > 
> > > 
> > > 
> > > ----- Original Message -----
> > > > From: "Leonardo Collado Torres" <lcollado at jhu.edu>
> > > > To: "Ryan C. Thompson" <rct at thompsonclan.org>
> > > > Cc: "Dan Tenenbaum" <dtenenba at fredhutch.org>, "bioc-devel"
> > > > <bioc-devel at r-project.org>
> > > > Sent: Tuesday, June 16, 2015 5:55:05 PM
> > > > Subject: Re: [Bioc-devel] Bioconductor Git/GitHub Mirrors
> > > > 
> > > > Hi,
> > > > 
> > > > 
> > > > 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
> > > > Solution:
> > > > * Uninstall all of MacPorts following instructions from
> > > > https://guide.macports.org/chunked/installing.macports.uninstalling.html
> > > > * Follow part of
> > > > http://stackoverflow.com/questions/20648235/error-linking-git-to-homebrew
> > > > $ sudo brew prune
> > > > $ brew update
> > > > $ brew install git
> > > > $ brew unlink git && brew link git
> > > 
> > > Good to know. Things seem to work on the Macs I have tested with
> > > the
> > > vanilla git-svn that ships with the OS.
> > > 
> > > 
> > > > 
> > > > You might want to update subversion.
> > > > http://blog.victorquinn.com/fix-git-svn-in-mountain-lion might
> > > > be
> > > > relevant for you.
> > > > 
> > > 
> > > I haven't needed to update svn.
> > > 
> > > 
> > > 
> > > > 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
> > > > https://github.com/leekgroup/derfinderHelper-release
> > > > * 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
> > > 
> > > Yes, you can delete the push hook. Leaving it does no harm as
> > > long
> > > as
> > > the bridge has been deleted (nobody will listen to the hook on
> > > the
> > > other end once the bridge is deleted).
> > > 
> > > 
> > > > * 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.
> > > 
> > > Can you explain what problems?
> > > 
> > > > Easy to solve, but might want to clarify in the instructions.
> > > 
> > > I do this in a separate directory:
> > > 
> > > git clone https://github.com/Bioconductor/mirror.git
> > > 
> > > and then I have a repos containing the script where I can run
> > > 'git
> > > pull' if it ever changes. You could also symlink to it in
> > > /usr/local/bin. We'll see about changing the docs for this.
> > > 
> > > > 
> > > > 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
> > > > http://stackoverflow.com/questions/19475387/how-to-handle-fix-git-add-add-conflicts
> > > > 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.
> > > > 
> > > 
> > > 
> > > I didn't have this problem.
> > 
> > 
> > 
> > Sorry, I wasn't following along correctly, I didn't start with your
> > github repos (formerly bridged). What's the link to it?
> > 
> 
> Answering my own question:
> https://github.com/leekgroup/derfinderHelper
> 
> I can reproduce the issue, this is the first time it has come up in
> all the formerly-bridged repos I have tested. Will get back to you.
> 

Laurent Gatto, helping me with a separate but (probably) related issue, may have helped with this one too.

Try starting over again. Remove your local repository and do a fresh clone:

git clone https://github.com/leekgroup/derfinderHelper.git
cd derfinderHelper
bash /path/to/update_remotes.sh
git checkout devel
git svn rebase
git merge master --no-edit
git svn dcommit --add-author-from

That all worked for me and did not end up committing anything.
The difference between this and our documentation is that here there is no rebase in between the merge and dcommit.

You can then review the commits in devel (with git log) and see if you want to merge them into master. If so, do

git checkout master
git merge devel

git status

will now show that master is 30 commits ahead of origin/master. 

Push if you want. Not sure if you want to as you said you wanted git to "win". But note that we are no longer in the land of one SCM unconditionally "winning" over another. That was a concept from the git-svn bridge (a somewhat dangerous one) which in any case only applied to the initial setup of a bridge. With git-svn you have complete control over what goes where.

So anyway, try the above and if it works we will discuss whether and how the documentation needs to be updated.

Thanks,
Dan



> Dan
> 
> 
> > 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