Hi Nitesh, After looking more closely, I went with option 1 that you clearly outlined below. The cherry picked version of the history is now the origin/master one at https://github.com/jtleek/sva-devel/commits/master. From http://bioconductor.org/developers/how-to/git/resolve-duplicate-commits/ my understanding is that now you have to force the Bioconductor git history (upstream/master with the default setup) to match the one from the sva-devel GitHub repo. The only complicated commit was https://github.com/jtleek/sva-devel/commit/e6b80f62d494f77465650cf3d624feaf8913e837 where I had to use the "theirs" strategy for many files. At the end I added this commit https://github.com/jtleek/sva-devel/commit/05cfab55c893b4280aaaa61ab703f3abd235889a that bumps the version of the package to 3.29.1 on bioc-devel to propagate Claire's recent changes. Best, Leo PS I tried the git push -f upstream/master out of curiousity, and yup, I can't do it: $ git push -f upstream master Counting objects: 111, done. Delta compression using up to 4 threads. Compressing objects: 100% (54/54), done. Writing objects: 100% (111/111), 19.58 KiB | 2.80 MiB/s, done. Total 111 (delta 83), reused 62 (delta 56) remote: Resolving deltas: 100% (83/83), completed with 38 local objects. remote: FATAL: + refs/heads/master packages/sva l.collado-torres DENIED by fallthru remote: error: hook declined to update refs/heads/master To git.bioconductor.org:packages/sva.git ! [remote rejected] master -> master (hook declined) error: failed to push some refs to 'git at git.bioconductor.org:packages/sva.git' PS2 I did push the master_backup branch to GitHub just in case we need it later https://github.com/jtleek/sva-devel/tree/master_backup On Sat, Aug 25, 2018 at 2:00 AM Turaga, Nitesh
<Nitesh.Turaga at roswellpark.org> wrote:
Hi Leo,
I?ll try to help you with this issue.
The duplicates commit you have on your package ?sva? come from the pre-git era of Bioconductor. There are three ways we can fix this,
1,
You fix your GitHub repo by removing the duplicate commits. They happen only after this commit.
commit d12b53824915f0ff7b7906043c7fc9237521e8f3
Author: Kipper Fletez-Brant <cafletezbrant at gmail.com>
Date: Sat Apr 22 10:42:29 2017 -0400
actually did it
You can do the cherry-picking of the commits (only one from a set of duplicate commits, one after the other to construct your git history). It is outlined in this document here,
http://bioconductor.org/developers/how-to/git/resolve-duplicate-commits/.
If you choose this method, I can help with any questions you may have.
Some help if you decide to choose this route,
A.
You might face issues with this commit (7e4aa44 Merge pull request #26 from cafletezbrant/master) while doing the cherry-pick.
You can ignore this, because the commits themselves will be in the git history.
d12b538 actually did it
7cedd49 needed to use tcrossprod(t(...)) a bunch
B.
If you hit a lot of merge conflicts while doing the cherry-pick, the best way I?ve gotten used to is by using
`git mergetool`.
(I personally use the option `git mergetool -t vimdiff`, but feel free to use whatever merge tool you?d like)
C.
Make sure you cherry-pick the RELEASE commits which come from the core team while doing the cherry-pick process.
2,
I can fix the bioconductor repo on my end to show no duplicate commits. Then you?d have to force your Github master branch to be the same as the Bioconductor repo and then put Claire?s commits on top of them. This is a slightly less optimal solution because I might make some mistakes resolving the conflicts, since I don?t know the details of code.
3,
Since the issue of duplicate commits was pre-git era, we can just ignore the duplicates. It is pretty straightforward to disable the duplicate commit check, but it should only be a worst case. I don?t recommend this for your repo because there are very few issues and it seems we can resolve them. I reserve this option for packages which have extensively fractured their git history.
Best regards,
Nitesh
=
Nitesh Turaga
Bioconductor Core Team
On Aug 24, 2018, at 11:29 PM, Leonardo Collado Torres <lcollado at jhu.edu> wrote: Hi, I'm having trouble with synching a github repo with Bioc. At https://github.com/jtleek/sva-devel/commits/master we have 3 recent commits by Claire that we want to sync with Bioc. I followed the instructions at http://bioconductor.org/developers/how-to/git/sync-existing-repositories/ and then had to do step #8 where I ran steps 1-4 from "force Bioconductor master to Github master" http://bioconductor.org/developers/how-to/git/abandon-changes/#force-bioconductor--to-github-. On the optional step 4 I used git cherry-pick to pick the 3 commits by Claire. That's how we got to the current state on the jtleek/sva-devel repo (git added me as a co-author of the commits). However, "git push upstream master" keeps failing as shown below: $ git push upstream master Counting objects: 15, done. Delta compression using up to 4 threads. Compressing objects: 100% (7/7), done. Writing objects: 100% (15/15), 2.76 KiB | 2.76 MiB/s, done. Total 15 (delta 9), reused 11 (delta 8) remote: Error: duplicate commits. remote: remote: There are duplicate commits in your commit history, These cannot be remote: pushed to the Bioconductor git server. Please make sure that this is remote: resolved. remote: remote: Take a look at the documentation to fix this, remote: https://bioconductor.org/developers/how-to/git/sync-existing-repositories/, remote: particularly, point #8 (force Bioconductor master to Github master). remote: remote: For more information, or help resolving this issue, contact remote: <bioc-devel at r-project.org>. Provide the error, the package name and remote: any other details we might need. remote: remote: Use remote: remote: git show 812b53941d5ba3e70797e4ecfef8401b89fc4741 remote: git show a3406ad11056cc5f1896f71c7864e2c3bd80b817 remote: remote: to see body of commits. remote: To git.bioconductor.org:packages/sva.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git at git.bioconductor.org:packages/sva.git' If I clone git at git.bioconductor.org:packages/sva.git I can see that both 812b5394 and a3406ad1 already exist on the Bioc git. I see that one of the notes at http://bioconductor.org/developers/how-to/git/abandon-changes/#force-bioconductor--to-github- mentions that the step 1-4 solution won't work in this scenario. The "Reset to a previous commit" section recommends using git reset --hard. But that still fails. $ git reset -- hard a3406ad11056c 13:58 sva-devel $ git status On branch master Your branch is ahead of 'upstream/master' by 3 commits. (use "git push" to publish your local commits) nothing to commit, working tree clean 13:58 sva-devel $ git push -f upstream master Counting objects: 15, done. Delta compression using up to 4 threads. Compressing objects: 100% (7/7), done. Writing objects: 100% (15/15), 2.76 KiB | 1.38 MiB/s, done. Total 15 (delta 9), reused 11 (delta 8) remote: Error: duplicate commits. remote: remote: There are duplicate commits in your commit history, These cannot be remote: pushed to the Bioconductor git server. Please make sure that this is remote: resolved. remote: remote: Take a look at the documentation to fix this, remote: https://bioconductor.org/developers/how-to/git/sync-existing-repositories/, remote: particularly, point #8 (force Bioconductor master to Github master). remote: remote: For more information, or help resolving this issue, contact remote: <bioc-devel at r-project.org>. Provide the error, the package name and remote: any other details we might need. remote: remote: Use remote: remote: git show 812b53941d5ba3e70797e4ecfef8401b89fc4741 remote: git show a3406ad11056cc5f1896f71c7864e2c3bd80b817 remote: remote: to see body of commits. remote: To git.bioconductor.org:packages/sva.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git at git.bioconductor.org:packages/sva.git' So hm... I have no idea how to fix this. Best, Leo
_______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
This email message may contain legally privileged and/or confidential information. If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited. If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.