[Bioc-devel] stuck in setting up Bioconductor GitHub

Leif Väremo leif.varemo at chalmers.se
Wed Nov 16 10:03:23 CET 2016

Yes, I forked the Bioconductor git-mirror and then cloned my fork locally.

The local master branch automatically gets pushed to my forks master branch.

So now, I “solved it” for the devel branch by running:
git push –u origin devel
instead of just git push (and similar for the release branches).

So after doing some more research, my understanding is that (after running the update_remotes.sh script) the local devel branch gets pushed to SVN (which will be immediately reflected in Bioconductor-git master) and local release-x.x branches get pushed to corresponding “release branches” in SVN (and again mirrored by Bioconductor-git), using the git svn dcommit command.
It is then up to us which branches we also push to our personal GitHub repo (the fork). One could git push all branches up to the GitHub fork, in that way the local repo, the personal GitHub repo (initially forked from Bioconductor-mirror) and the SVN/Bioconductor-mirror will be all in sync, but this seems a bit tedious and redundant to me. If we choose not to push the devel and release-x.x branches to our personal GitHub (the fork), they should be removed from there I assume (anyways, they are available in the Bioconductor-mirror). So I am considering to only keep the master branch in my personal GitHub, synced with the local master branch, and use this for development work. The “syncing” to SVN would then be done locally by merging edits into devel or release-x.x branches and running git svn dcommit.

Is this reasonable? It would be very interesting to hear how others that are using GitHub for their Bioconductor packages are setting this up!

Kind regards


On 15/11/16 15:58, "Dan Tenenbaum" <dtenenba at fredhutch.org> wrote:

    Did you fork the repository first?
    ----- Original Message -----
    > From: "Leif Väremo" <leif.varemo at chalmers.se>
    > To: "bioc-devel" <bioc-devel at r-project.org>
    > Sent: Tuesday, November 15, 2016 1:50:37 AM
    > Subject: [Bioc-devel] stuck in setting up Bioconductor GitHub
    > Hi,
    > I am trying to setup up my pre-existing Bioconductor package piano in GitHub. I
    > am following the steps listed on the Bioconductor website:
    >  1.  git clone https://github.com/USER/REPO to clone the repository to your
    >  machine.
    >  2.  cd REPO to switch to the REPO directory.
    >  3.  bash /path/to/update_remotes.sh to setup the git remotes.
    >  4.  Commit to git and push to GitHub as you normally would.
    >  5.  Each time you want to push git commits to svn:
    >     *   git checkout devel to switch to the devel branch. (use release-X.X for
    >     release branches)
    >     *   git svn rebase to get the latest SVN changes.
    >     *   git merge master --log to merge your changes from the master branch or skip
    >     this step and work directly on the current branch.
    >     *   git svn dcommit --add-author-from to sync and commit your changes to svn.
    >     You may be prompted here for your SVN username and password.
    > After step 3, I have a local devel branch that does not yet exist in my remote
    > (which would be my own fork of the Bioconductor-mirror).
    > My interpretation of step 4 is that I can work on any local branch, say devel or
    > release-3.4, and then commit+push those changes to GitHub. However, when I try
    > to push (either from the devel branch or a release branch) I get this:
    > remote: Permission to Bioconductor-mirror/piano.git denied to varemo.
    > fatal: unable to access 'https://github.com/Bioconductor-mirror/piano.git/': The
    > requested URL returned error: 403
    > So it seems like it is trying to push to Bioconductor-mirror/piano.git whereas I
    > would like to push to varemo/piano.git, right?
    > I assumed it was intended like this at least. So when I would be happy with my
    > changes, e.g. updates to the local devel branch and in sync with the devel
    > branch on varemo/piano.git, then I would move on and go through step 5 to push
    > my edits to svn. But maybe I am missing something here?
    > As a side note: I am able to edit the local master branch and push that to
    > GitHub, i.e. the master on varemo/piano.git. Is the idea that one should only
    > work on master, and just use the other branches when doing step 5?
    > Would be grateful if anyone could clarify the system for me.
    > Thanks
    > /Leif Väremo
    >	[[alternative HTML version deleted]]
    > _______________________________________________
    > Bioc-devel at r-project.org mailing list
    > https://stat.ethz.ch/mailman/listinfo/bioc-devel

More information about the Bioc-devel mailing list