[Bioc-devel] Merging git mirror and previous git repo ?

Jim Hester james.f.hester at gmail.com
Mon Sep 21 15:38:51 CEST 2015


This situation is complicated due to deficiencies in git-svn.  The safest
(and most limiting) thing to do is to
    git clone https://github.com/sneumann/mtbls2/
    update_remotes.sh
    git checkout devel

Then restrict all further development to the `devel` branch, sync it with
SVN via `git svn rebase` and avoid doing any git merges.

Alternatively you can continue development on the `master` branch and `git
cherry-pick` revisions you want to add onto the `devel` branch.

Doing `git merge` and more complicated things can cause `git svn` conflicts
that are sometimes challenging to resolve.

See the following warning from the git book about git-svn (
https://git-scm.com/book/en/v1/Git-and-Other-Systems-Git-and-Subversion)

> It’s important to note that when you’re using git svn, you’re interacting
with Subversion, which is a system that is far less sophisticated than Git.
Although you can easily do local branching and merging, it’s generally best
to keep your history as linear as possible by rebasing your work and
avoiding doing things like simultaneously interacting with a Git remote
repository.

> Don’t rewrite your history and try to push again, and don’t push to a
parallel Git repository to collaborate with fellow Git developers at the
same time. Subversion can have only a single linear history, and confusing
it is very easy. If you’re working with a team, and some are using SVN and
others are using Git, make sure everyone is using the SVN server to
collaborate — doing so will make your life easier.

Also I should note the legacy git svn bridge has been deprecated, so it is
no longer possible to create new bridges, only continue using existing ones.

The Bioconductor Core team realizes the current situation is less than
ideal, we are working on alternatives which should make this situation
smoother in the future.

Jim

On Fri, Sep 18, 2015 at 5:18 PM, Steffen Neumann <sneumann at ipb-halle.de>
wrote:

> Hi,
>
> sorry for asking another git question, but I want to make sure
> I don't mess up. If something like this was answered elsewhere
> and I missed it, just point me there.
>
> I had developed a package up to Version 0.99.7 on github
> in https://github.com/sneumann/mtbls2/ ,
> and now after acceptance to BioC I have
> version 0.99.8 in https://github.com/Bioconductor-mirror/mtbls2
>
> => Can I just update_remotes.sh on my sneumann/mtbls2
>    without messing up the repo ?
>
> => How do I get the two together ?! Can I just add
>    Bioconductor-mirror/mtbls2 as a remote, fetch and merge
>    into my sneumann/mtbls2, and continue to git svn dcommit from there ?
>
> Or do I have to delete my original git repo
> and drop the whole history before the acceptance into Bioc-SVN ?
>
> Yours,
> Steffen
>
>
>
>
> --
> IPB Halle                    AG Massenspektrometrie & Bioinformatik
> Dr. Steffen Neumann          http://www.IPB-Halle.DE
> Weinberg 3                   http://msbi.bic-gh.de
> 06120 Halle                  Tel. +49 (0) 345 5582 - 1470
>                                   +49 (0) 345 5582 - 0
> sneumann(at)IPB-Halle.DE     Fax. +49 (0) 345 5582 - 1409
>
> _______________________________________________
> Bioc-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list