[Bioc-devel] Git svn mirror: Duplicated commit entries (introduced by git svn rebase?)

Henrik Bengtsson henrik.bengtsson at gmail.com
Fri Feb 19 22:16:09 CET 2016


Hi.

I've got https://github.com/HenrikBengtsson/aroma.light which I've
successfully used for years to sync to Biconductor SVN via the
BiocGitHub bridge.  All the time I've had the `master` branch synced
to Bioc.  (I've also had my own `develop` branch to which I made all
the commits which I then merged in to `master`).

Next, I'm following the instruction in Section 'Scenario 2: Set Up
Your Own GitHub Repository' on
https://www.bioconductor.org/developers/how-to/git-mirrors/.  However,
I end up with duplicated commit entries.  For example, I fork
https://github.com/HenrikBengtsson/aroma.light to
https://github.com/hb-slash/aroma.light and do the following:

n6{henrik}: curl -O
https://raw.githubusercontent.com/Bioconductor/mirror/master/update_remotes.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3303  100  3303    0     0  13741      0 --:--:-- --:--:-- --:--:-- 18350

n6{henrik}: git clone https://github.com/hb-slash/aroma.light.git
Cloning into 'aroma.light'...
remote: Counting objects: 1936, done.
remote: Compressing objects: 100% (670/670), done.
remote: Total 1936 (delta 1263), reused 1928 (delta 1256), pack-reused 0
Receiving objects: 100% (1936/1936), 813.83 KiB | 1.04 MiB/s, done.
Resolving deltas: 100% (1263/1263), done.
Checking connectivity... done.

n6{henrik}: cd aroma.light

n6{henrik}: git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean

n6{henrik}: bash ../update_remotes.sh
Commit to git as normal, when you want to push your commits to svn
  1. `git checkout devel` to switch to the devel branch. (use release-X.X for
        release branches)
  2. `git svn rebase` to get the latest SVN changes.
  3. `git merge master --log` to merge your changes from the master branch
        or skip this step and work directly on the current branch.
  4. `git svn dcommit --add-author-from` to sync and commit
        your changes to svn.
n6{henrik}: pwd
/home/henrik/ghf/aroma.light

n6{henrik}: git br
  devel
* master
  release-3.0
  release-3.1
  release-3.2

n6{henrik}: git checkout devel
Switched to branch 'devel'
Your branch is up-to-date with 'bioc/master'.

n6{henrik}: git svn rebase
Migrating from a git-svn v1 layout...
Data from a previous version of git-svn exists, but
        .git/svn
        (required for this version (2.1.3) of git-svn) does not exist.
Done migrating from a git-svn v1 layout
Rebuilding .git/svn/refs/remotes/git-svn-devel/.rev_map.bc3139a8-67e5-0310-9ffc-ced21a209358
...
r18895 = 143ee9ee3f234d83b56e32db0b0b8d4383f2a61d
r18903 = 5ef8bcd18515a2ef2de90d165ea831797380dd9d
r18904 = 9c5d176667c453079e571a224b7609f51033a1a9
[... (in total 193 of these lines) ...]
r109270 = 1cfcf8f2d257c6a2a90d9292b93a6863e3aabf51
r109589 = 0c24adb439efd2f30e45e8927e4bcbde0273f320
r109592 = dc91cede48ea7d60263e452304e035622497a25b
r109897 = 496182c760cbac378f98b374008d5273d48b5ec9
r112254 = 44cd054eb4115d6955cd918b84f382bca41a7839
r113262 = 81f338b4f7d6825786f917f9e712889db20f66f2
Done rebuilding
.git/svn/refs/remotes/git-svn-devel/.rev_map.bc3139a8-67e5-0310-9ffc-ced21a209358
Current branch devel is up to date.

n6{henrik}: git status
On branch devel
Your branch is up-to-date with 'bioc/master'.

n6{henrik}: git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.

n6{henrik}: git merge -X theirs devel
Auto-merging tests/normalizeFragmentLength-ex2.R
Merge made by the 'recursive' strategy.
 tests/normalizeFragmentLength-ex2.R | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

n6{henrik}: git status
On branch master
Your branch is ahead of 'origin/master' by 194 commits.
  (use "git push" to publish your local commits)
nothing to commit, working directory clean

Note that this single merge now makes local master to be **194**
commits ahead of origin/master.   This looks like 193 + 1 where 193
corresponds to those 193 "tweaks" introduced by `git svn rebase`.

I did a `git push --all` after the above, so you can see the
repository online at https://github.com/hb-slash/aroma.light/.  For
instance, there are lots of the commits are now duplicated, where one
show my original commit message the other the "Git-SVN bridge"
message, e.g.

"Updated NEWS to reflect new Bioc releases.":
https://github.com/hb-slash/aroma.light/commit/32e70c12bd9b6ea106128a1db466a13aebcf88a6

"Commit made by the Bioconductor Git-SVN bridge. ...":
https://github.com/hb-slash/aroma.light/commit/a0ee1399c24d36b96d5f737907228e250b5ffcba

Note that the code changes are identical, but based on different parents.

Any suggestions?  Are the actions for `git svn rebase` expected?

Thanks

Henrik



More information about the Bioc-devel mailing list