[Bioc-devel] Problem with the git mirror when committing to SVN

Diego Diez diego10ruiz at gmail.com
Tue Sep 8 08:08:03 CEST 2015


Dear all,

I am having some problem with the git mirror and I would appreciate
some light into how could it be solved.

I have forked my package "codelink" in github and work on a local copy
in my computer. I used the information in
http://www.bioconductor.org/developers/how-to/git-mirrors/ to set up
the remotes, currently (output of git remote -v):

bioc https://github.com/Bioconductor-mirror/codelink.git (fetch)
bioc https://github.com/Bioconductor-mirror/codelink.git (push)
origin https://github.com/ddiez/codelink (fetch)
origin https://github.com/ddiez/codelink (push)

Usually I follow this workflow:

1. Work on local/master.
2. Push to origin/master when satisfied.
(Submit to SVN when ready)
3. Checkout local/devel
4. Update any changes in SVN (git svn rebase)
5. Merge local/master
6. Commit to SVN (git svn dcommit)
7. Merge changes in devel (SVN commit) back to master (git checkout
master; git merge devel)

Recently I have found an error during "git svn dcommit" then git tries
to do a rebase. Then is when some sort of nightmare begins where older
versions of files that I changed before begin to pop up. I go through
several cycles of git rebase --continue or --skip where I need to fix
the different conflicts. This process has messed up my recent commit
log. Anyway, on trying to learn from this I can confirm that if
instead of committing the changes through git I checkout a clean SVN
copy, move the altered files there and commit no error shows. Then the
mirror will synchronize and I can update master from devel and I am
all done. But this is of course not optimal. I have tried now to
submit changes to two files (NEWS and DESCRIPTION) and got the same
problem (show the error message below-- seems to be related to
.Rbuildignore already in SVN- after this I did git rebase --abort). My
questions:

How can I fix this without going through the fruitless git rebase
--continue/--skip as I did before?

Why this happened and how can I prevent it to happen again?

Thank you very much for any help.

Diego

$ git svn dcommit --add-author-from
Committing to https://hedgehog.fhcrc.org/bioconductor/trunk/madman/Rpacks/codelink
...

ERROR from SVN:
RA layer file already exists: File '.Rbuildignore' already exists
W: de6ada9e216e1e0f0829855b4c22b533131cd162 and
refs/remotes/git-svn-devel differ, using rebase:
:100644 100644 2ea5d2ac8a7f79a4133b1151c399f8900cf0f0fd
47b488122aa8a9f9bc71d6e31f87809afce6131d M DESCRIPTION
:040000 040000 899c7951d0d3e88ee0b73f54506a6f85ea710e92
50f453b70afb84a5fac5d01875c70652352f368f M inst
First, rewinding head to replay your work on top of it...
Applying: Added project files.
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
Applying: - added URL and BugReports information.
Using index info to reconstruct a base tree...
M DESCRIPTION
<stdin>:11: trailing whitespace.
BugReports: https://github.com/ddiez/codelink/issues
warning: 1 line adds whitespace errors.
Falling back to patching base and 3-way merge...
Auto-merging DESCRIPTION
CONFLICT (content): Merge conflict in DESCRIPTION
Failed to merge in the changes.
Patch failed at 0002 - added URL and BugReports information.
The copy of the patch that failed is found in:
   /Users/diez/projects/R/codelink/codelink/.git/rebase-apply/patch

When you have resolved this problem, run "git rebase --continue".
If you prefer to skip this patch, run "git rebase --skip" instead.
To check out the original branch and stop rebasing, run "git rebase --abort".

rebase refs/remotes/git-svn-devel: command returned error: 1



More information about the Bioc-devel mailing list