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 '[email protected]: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 <[email protected]> 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 <[email protected]> > 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 <[email protected]> > > 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: <[email protected]>. 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 > > '[email protected]:packages/sva.git' > > > > > > If I clone [email protected]: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: <[email protected]>. 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 > > '[email protected]:packages/sva.git' > > > > So hm... I have no idea how to fix this. > > > > Best, > > Leo > > > > _______________________________________________ > > [email protected] 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. _______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
