Dear Bioconductor team, My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done: My local repository has version 0.99.19. So I did the following in my local repository: 1. git remote add upstream git at git.bioconductor.org:packages/bayNorm 2. git fetch --all 3. git checkout master 4. git merge origin/master 5. git merge upstream/master Now the local version is 1.1.0 rather than 0.99.19. Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository: 1. git push upstream master 2. git push origin master Is the above procedure correct? Will I see the package building report like what I have received during the submission process? Your tutorials are very clear, and I am sorry if my question is too trivial. Thank you very much! Best wishes, Wenhao
[Bioc-devel] A little confuse about how to update accepted package
10 messages · Kasper Daniel Hansen, Tang, Wenhao, Matthias Doering +2 more
The steps below are correct, but perhaps not sufficient for what you want to do. Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced. There is a version numbering scheme, outlined at http://bioconductor.org/developers/how-to/version-numbering/ to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0. If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1. If you intend to make this change also in the release, then the extra steps in http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/ are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push. During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from http://bioconductor.org/checkResults/ note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build. Martin ?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote: Dear Bioconductor team, My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done: My local repository has version 0.99.19. So I did the following in my local repository: 1. git remote add upstream git at git.bioconductor.org:packages/bayNorm 2. git fetch --all 3. git checkout master 4. git merge origin/master 5. git merge upstream/master Now the local version is 1.1.0 rather than 0.99.19. Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository: 1. git push upstream master 2. git push origin master Is the above procedure correct? Will I see the package building report like what I have received during the submission process? Your tutorials are very clear, and I am sorry if my question is too trivial. Thank you very much! Best wishes, Wenhao _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
Wenhao, The night before the release your package was at 0.99.x in the devel branch At release, two things happened: the package was added to the release branch with version 1.0.0 the package in the devel branch was updated to version 1.1.0 So basically version 0.99.19 == 1.0.0 == 1.1.0. And basically after release all packages gets bumped two version numbers. Note that in x.y.z, "y" is odd = devel, "y" is even = release. Usually you should not update the release branch (version 1.0.0) unless there are critical bug fixes. Any update in the release branch should be associated with an email to bioc-devel according to project policies (although this is unfortunately often not done). Most likely you should just continue working on version 1.1.0 Best, Kasper On Sat, Nov 10, 2018 at 6:10 AM Martin Morgan <mtmorgan.bioc at gmail.com> wrote:
The steps below are correct, but perhaps not sufficient for what you want to do. Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced. There is a version numbering scheme, outlined at http://bioconductor.org/developers/how-to/version-numbering/ to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0. If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1. If you intend to make this change also in the release, then the extra steps in http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/ are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push. During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from http://bioconductor.org/checkResults/ note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build. Martin ?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" < bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote: Dear Bioconductor team, My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done: My local repository has version 0.99.19. So I did the following in my local repository: 1. git remote add upstream git at git.bioconductor.org: packages/bayNorm 2. git fetch --all 3. git checkout master 4. git merge origin/master 5. git merge upstream/master Now the local version is 1.1.0 rather than 0.99.19. Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository: 1. git push upstream master 2. git push origin master Is the above procedure correct? Will I see the package building report like what I have received during the submission process? Your tutorials are very clear, and I am sorry if my question is too trivial. Thank you very much! Best wishes, Wenhao [[alternative HTML version deleted]]
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
Dear all, Currently, for both branches: master and RELEASE_3_8 in my github repository: https://github.com/WT215/bayNorm/tree/master have been updated with version number 1.0.2. However, in the latest build report: http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/ the version is still 1.0.0. I have the following two questions: 1. Do I have to wait 24 hours to see whether the update in the release version success or not? 2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced. Thank you very much! Best wishes, Wenhao Thank you very much! Best wishes, Wenhao ________________________________ ???: Martin Morgan <mtmorgan.bioc at gmail.com> ????: 2018?11?10? 19:10:13 ???: Tang, Wenhao; bioc-devel at r-project.org ??: Re: [Bioc-devel] A little confuse about how to update accepted package The steps below are correct, but perhaps not sufficient for what you want to do. Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced. There is a version numbering scheme, outlined at http://bioconductor.org/developers/how-to/version-numbering/ to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0. If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1. If you intend to make this change also in the release, then the extra steps in http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/ are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push. During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from http://bioconductor.org/checkResults/ note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build. Martin ?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote: Dear Bioconductor team, My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done: My local repository has version 0.99.19. So I did the following in my local repository: 1. git remote add upstream git at git.bioconductor.org:packages/bayNorm 2. git fetch --all 3. git checkout master 4. git merge origin/master 5. git merge upstream/master Now the local version is 1.1.0 rather than 0.99.19. Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository: 1. git push upstream master 2. git push origin master Is the above procedure correct? Will I see the package building report like what I have received during the submission process? Your tutorials are very clear, and I am sorry if my question is too trivial. Thank you very much! Best wishes, Wenhao _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
Dear Wenhao, regarding your two points: 1. If you have incremented your version number and pushed to one of the Bioconductor servers (either upstream master or release), a build is automatically triggered. The build cycle is 24 hours if I remember correctly. 2.You don't need to have a local branch of the release. I guess it's just in the tutorial for convenience sake. For example, if you find there are more bugs to fix and you have to do some more edits of the release version, it's easier to keep track .. Kind regards ?Matthias
On 11/11/18 9:43 AM, Tang, Wenhao wrote:
Dear all, Currently, for both branches: master and RELEASE_3_8 in my github repository: https://github.com/WT215/bayNorm/tree/master have been updated with version number 1.0.2. However, in the latest build report: http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/ the version is still 1.0.0. I have the following two questions: 1. Do I have to wait 24 hours to see whether the update in the release version success or not? 2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced. Thank you very much! Best wishes, Wenhao Thank you very much! Best wishes, Wenhao
________________________________ ???: Martin Morgan <mtmorgan.bioc at gmail.com> ????: 2018?11?10? 19:10:13 ???: Tang, Wenhao; bioc-devel at r-project.org ??: Re: [Bioc-devel] A little confuse about how to update accepted package The steps below are correct, but perhaps not sufficient for what you want to do. Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced. There is a version numbering scheme, outlined at http://bioconductor.org/developers/how-to/version-numbering/ to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0. If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1. If you intend to make this change also in the release, then the extra steps in http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/ are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push. During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from http://bioconductor.org/checkResults/ note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build. Martin ?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote: Dear Bioconductor team, My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done: My local repository has version 0.99.19. So I did the following in my local repository: 1. git remote add upstream git at git.bioconductor.org:packages/bayNorm 2. git fetch --all 3. git checkout master 4. git merge origin/master 5. git merge upstream/master Now the local version is 1.1.0 rather than 0.99.19. Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository: 1. git push upstream master 2. git push origin master Is the above procedure correct? Will I see the package building report like what I have received during the submission process? Your tutorials are very clear, and I am sorry if my question is too trivial. Thank you very much! Best wishes, Wenhao [[alternative HTML version deleted]] _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel [[alternative HTML version deleted]] _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
The release branch should be numbered 1.0.1, 1.0.2, 1.0.3, ... The devel branch should be numbered 1.1.1, 1.1.2, 1.1.3, ... It does not matter, from the build and distribution perspective, what your github repository contains. What matters is the content of git.bioconductor.org repository, the 'devel' / master branchs Packages build and check nightly, so please look at the nightly build reports at http://bioconductor.org/checkResults/ The release build report for your package is at http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/malbec1-install.html You can see that the most recent build report (at the time I write this) 'was generated on 2018-11-11' and for your package Snapshot Date: 2018-11-10 16:45:10 -0500 (Sat, 10 Nov 2018) URL: https://git.bioconductor.org/packages/bayNorm Branch: RELEASE_3_8 Last Commit: d371781 Last Changed Date: 2018-10-30 11:42:10 -0500 (Tue, 30 Oct 2018) This says that the most recent builds completed on 2018-11-11, but started on the Snapshot Date 2018-11-10 16:45:10 -0500. Your commit was commit ead59d29ff65eb9eca7b1aa4dc49c12db1f60190 (HEAD -> RELEASE_3_8, origin/RELEASE_3_8) Author: WENHAO TANG <wt215 at ic.ac.uk> Date: Sun Nov 11 06:21:06 2018 +0800 1.0.2 which is AFTER the build started, hence NOT INCLUDED in last night's build and NOT YET AVAILABLE to the end user. The version of your package on git.bioconductor.org has the following DESCRIPTION file git/bayNorm RELEASE_3_8$ head DESCRIPTION Package: bayNorm Type: Package Title: Single-cell RNA sequencing data normalization <<<<<<< HEAD Version: 1.0.0 ======= Version: 1.0.2
55942b4... 1.0.2
Authors at R: c(person("Wenhao", "Tang", role=c("aut", "cre"),
email="wt215 at ic.ac.uk"),
So even though your commit will be included in the Sunday night build, it will not complete successfully. You'll need to update the DESCRIPTION file so that it is formatted correctly, and push that to git.bioconductor.org before tonight's builds start.
For your specific questions
1. Yes you have to wait for the build system to work on a daily basis. But best practice is to build and check your package before committing. Personally I would do this without third-party tools (e.g., devtools) since this is how the nightly builder works.
So for instance using R and Bioconductor version 3.8 I have
~/b/git/bayNorm RELEASE_3_8$ cd ..
~/b/git$ bioc-3.8 CMD build bayNorm
* checking for file ?bayNorm/DESCRIPTION? ...Error : file '/Users/ma38727/b/git/bayNorm/DESCRIPTION' is not in valid DCF format
EXISTS but not correct format
and you therefore know immediately that something needs to be fixed without waiting 24 hours.
A good practice might be
R CMD build bayNorm
R CMD check bayNorm_1.0.2.tar.gz
2. No, work flows do not require two local repositories. For your scenario there is a single repository, with different 'branches' (for devel and RELEASE_3_8) and different 'remotes' (for git.bioconductor.org and github.com)
Item 10 of
http://bioconductor.org/developers/how-to/git/sync-existing-repositories/
tries to sketch the steps required to maintain two remotes and two branches, which is what you art trying to do (it seems like you have the various steps in place, perhaps not coordinated a cleanly as they could be).
Martin
?On 11/11/18, 8:11 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear all,
Currently, for both branches: master and RELEASE_3_8 in my github repository:
https://github.com/WT215/bayNorm/tree/master
have been updated with version number 1.0.2.
However, in the latest build report:
http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/
the version is still 1.0.0.
I have the following two questions:
1. Do I have to wait 24 hours to see whether the update in the release version success or not?
2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced.
Thank you very much!
Best wishes,
Wenhao
Thank you very much!
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?10? 19:10:13
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] A little confuse about how to update accepted package
The steps below are correct, but perhaps not sufficient for what you want to do.
Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced.
There is a version numbering scheme, outlined at
http://bioconductor.org/developers/how-to/version-numbering/
to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0.
If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1.
If you intend to make this change also in the release, then the extra steps in
http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/
are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push.
During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from
http://bioconductor.org/checkResults/
note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build.
Martin
?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear Bioconductor team,
My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done:
My local repository has version 0.99.19. So I did the following in my local repository:
1. git remote add upstream git at git.bioconductor.org:packages/bayNorm
2. git fetch --all
3. git checkout master
4. git merge origin/master
5. git merge upstream/master
Now the local version is 1.1.0 rather than 0.99.19.
Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository:
1. git push upstream master
2. git push origin master
Is the above procedure correct? Will I see the package building report like what I have received during the submission process?
Your tutorials are very clear, and I am sorry if my question is too trivial.
Thank you very much!
Best wishes,
Wenhao
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
1 day later
Dear all, Now I understand how to sync my local master, local RELEASE_3_8, remote master and remote RELEASE_3_8. All of them have version 1.0.5. I also want to update the DEVEL branch, but when I did (the step 9 in http://bioconductor.org/developers/how-to/git/sync-existing-repositories/) git push upstream master I received the following message: Wenhao at TANG MINGW64 /e/RNAseqProject/bayNorm_dev/bayNorm (master) $ git push upstream master Total 0 (delta 0), reused 0 (delta 0) remote: Error: Illegal version bump from '1.1.2' to '1.0.5'. Check remote: http://bioconductor.org/developers/how-to/version-numbering/ remote: for details To git at git.bioconductor.org:packages/bayNorm.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git at git.bioconductor.org:packages/bayNorm.git' What I have tried is to replace 1.0.5 with 1.1.3 and then push it. After that I replaced 1.1.3 with 1.0.5. Obviously this way is not efficient. Since RELEASE nad devel branches have different pattern of version numbers, how could I update them in a consistent way? Thank you in advance! Best wishes, Wenhao ________________________________ ???: Martin Morgan <mtmorgan.bioc at gmail.com> ????: 2018?11?12? 1:15:42 ???: Tang, Wenhao; bioc-devel at r-project.org ??: Re: [Bioc-devel] ??: A little confuse about how to update accepted package The release branch should be numbered 1.0.1, 1.0.2, 1.0.3, ... The devel branch should be numbered 1.1.1, 1.1.2, 1.1.3, ... It does not matter, from the build and distribution perspective, what your github repository contains. What matters is the content of git.bioconductor.org repository, the 'devel' / master branchs Packages build and check nightly, so please look at the nightly build reports at http://bioconductor.org/checkResults/ The release build report for your package is at http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/malbec1-install.html You can see that the most recent build report (at the time I write this) 'was generated on 2018-11-11' and for your package Snapshot Date: 2018-11-10 16:45:10 -0500 (Sat, 10 Nov 2018) URL: https://git.bioconductor.org/packages/bayNorm Branch: RELEASE_3_8 Last Commit: d371781 Last Changed Date: 2018-10-30 11:42:10 -0500 (Tue, 30 Oct 2018) This says that the most recent builds completed on 2018-11-11, but started on the Snapshot Date 2018-11-10 16:45:10 -0500. Your commit was commit ead59d29ff65eb9eca7b1aa4dc49c12db1f60190 (HEAD -> RELEASE_3_8, origin/RELEASE_3_8) Author: WENHAO TANG <wt215 at ic.ac.uk> Date: Sun Nov 11 06:21:06 2018 +0800 1.0.2 which is AFTER the build started, hence NOT INCLUDED in last night's build and NOT YET AVAILABLE to the end user. The version of your package on git.bioconductor.org has the following DESCRIPTION file git/bayNorm RELEASE_3_8$ head DESCRIPTION Package: bayNorm Type: Package Title: Single-cell RNA sequencing data normalization <<<<<<< HEAD Version: 1.0.0 ======= Version: 1.0.2
55942b4... 1.0.2
Authors at R: c(person("Wenhao", "Tang", role=c("aut", "cre"),
email="wt215 at ic.ac.uk"),
So even though your commit will be included in the Sunday night build, it will not complete successfully. You'll need to update the DESCRIPTION file so that it is formatted correctly, and push that to git.bioconductor.org before tonight's builds start.
For your specific questions
1. Yes you have to wait for the build system to work on a daily basis. But best practice is to build and check your package before committing. Personally I would do this without third-party tools (e.g., devtools) since this is how the nightly builder works.
So for instance using R and Bioconductor version 3.8 I have
~/b/git/bayNorm RELEASE_3_8$ cd ..
~/b/git$ bioc-3.8 CMD build bayNorm
* checking for file ?bayNorm/DESCRIPTION? ...Error : file '/Users/ma38727/b/git/bayNorm/DESCRIPTION' is not in valid DCF format
EXISTS but not correct format
and you therefore know immediately that something needs to be fixed without waiting 24 hours.
A good practice might be
R CMD build bayNorm
R CMD check bayNorm_1.0.2.tar.gz
2. No, work flows do not require two local repositories. For your scenario there is a single repository, with different 'branches' (for devel and RELEASE_3_8) and different 'remotes' (for git.bioconductor.org and github.com)
Item 10 of
http://bioconductor.org/developers/how-to/git/sync-existing-repositories/
tries to sketch the steps required to maintain two remotes and two branches, which is what you art trying to do (it seems like you have the various steps in place, perhaps not coordinated a cleanly as they could be).
Martin
?On 11/11/18, 8:11 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear all,
Currently, for both branches: master and RELEASE_3_8 in my github repository:
https://github.com/WT215/bayNorm/tree/master
have been updated with version number 1.0.2.
However, in the latest build report:
http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/
the version is still 1.0.0.
I have the following two questions:
1. Do I have to wait 24 hours to see whether the update in the release version success or not?
2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced.
Thank you very much!
Best wishes,
Wenhao
Thank you very much!
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?10? 19:10:13
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] A little confuse about how to update accepted package
The steps below are correct, but perhaps not sufficient for what you want to do.
Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced.
There is a version numbering scheme, outlined at
http://bioconductor.org/developers/how-to/version-numbering/
to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0.
If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1.
If you intend to make this change also in the release, then the extra steps in
http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/
are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push.
During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from
http://bioconductor.org/checkResults/
note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build.
Martin
?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear Bioconductor team,
My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done:
My local repository has version 0.99.19. So I did the following in my local repository:
1. git remote add upstream git at git.bioconductor.org:packages/bayNorm
2. git fetch --all
3. git checkout master
4. git merge origin/master
5. git merge upstream/master
Now the local version is 1.1.0 rather than 0.99.19.
Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository:
1. git push upstream master
2. git push origin master
Is the above procedure correct? Will I see the package building report like what I have received during the submission process?
Your tutorials are very clear, and I am sorry if my question is too trivial.
Thank you very much!
Best wishes,
Wenhao
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
Version numbering in devel and release will ALWAYS be different as described http://bioconductor.org/developers/how-to/version-numbering/ In a package version package_x.y.z - Y in devel will always be odd and 1 greater than that in release Y in release will always be even and 1 less than that in devel When making bug corrections only bump the z - The process you described is correct your release version number should be 1.0.z and the devel should be 1.1.z The process you described, making changes, and then choosing the separate version number is the correct process, however, keep in mind the release branch should really only be updated when making larger bug corrections and not with development changes/enhancements that should only be in devel. Lori Shepherd Bioconductor Core Team Roswell Park Cancer Institute Department of Biostatistics & Bioinformatics Elm & Carlton Streets Buffalo, New York 14263
From: Bioc-devel <bioc-devel-bounces at r-project.org> on behalf of Tang, Wenhao <wenhao.tang15 at imperial.ac.uk>
Sent: Tuesday, November 13, 2018 6:55:09 AM
To: bioc-devel at r-project.org
Subject: [Bioc-devel] ??: ??: A little confuse about how to update accepted package
Sent: Tuesday, November 13, 2018 6:55:09 AM
To: bioc-devel at r-project.org
Subject: [Bioc-devel] ??: ??: A little confuse about how to update accepted package
Dear all, Now I understand how to sync my local master, local RELEASE_3_8, remote master and remote RELEASE_3_8. All of them have version 1.0.5. I also want to update the DEVEL branch, but when I did (the step 9 in http://bioconductor.org/developers/how-to/git/sync-existing-repositories/) git push upstream master I received the following message: Wenhao at TANG MINGW64 /e/RNAseqProject/bayNorm_dev/bayNorm (master) $ git push upstream master Total 0 (delta 0), reused 0 (delta 0) remote: Error: Illegal version bump from '1.1.2' to '1.0.5'. Check remote: http://bioconductor.org/developers/how-to/version-numbering/ remote: for details To git at git.bioconductor.org:packages/bayNorm.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git at git.bioconductor.org:packages/bayNorm.git' What I have tried is to replace 1.0.5 with 1.1.3 and then push it. After that I replaced 1.1.3 with 1.0.5. Obviously this way is not efficient. Since RELEASE nad devel branches have different pattern of version numbers, how could I update them in a consistent way? Thank you in advance! Best wishes, Wenhao ________________________________ ???: Martin Morgan <mtmorgan.bioc at gmail.com> ????: 2018?11?12? 1:15:42 ???: Tang, Wenhao; bioc-devel at r-project.org ??: Re: [Bioc-devel] ??: A little confuse about how to update accepted package The release branch should be numbered 1.0.1, 1.0.2, 1.0.3, ... The devel branch should be numbered 1.1.1, 1.1.2, 1.1.3, ... It does not matter, from the build and distribution perspective, what your github repository contains. What matters is the content of git.bioconductor.org repository, the 'devel' / master branchs Packages build and check nightly, so please look at the nightly build reports at http://bioconductor.org/checkResults/ The release build report for your package is at http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/malbec1-install.html You can see that the most recent build report (at the time I write this) 'was generated on 2018-11-11' and for your package Snapshot Date: 2018-11-10 16:45:10 -0500 (Sat, 10 Nov 2018) URL: https://git.bioconductor.org/packages/bayNorm Branch: RELEASE_3_8 Last Commit: d371781 Last Changed Date: 2018-10-30 11:42:10 -0500 (Tue, 30 Oct 2018) This says that the most recent builds completed on 2018-11-11, but started on the Snapshot Date 2018-11-10 16:45:10 -0500. Your commit was commit ead59d29ff65eb9eca7b1aa4dc49c12db1f60190 (HEAD -> RELEASE_3_8, origin/RELEASE_3_8) Author: WENHAO TANG <wt215 at ic.ac.uk> Date: Sun Nov 11 06:21:06 2018 +0800 1.0.2 which is AFTER the build started, hence NOT INCLUDED in last night's build and NOT YET AVAILABLE to the end user. The version of your package on git.bioconductor.org has the following DESCRIPTION file git/bayNorm RELEASE_3_8$ head DESCRIPTION Package: bayNorm Type: Package Title: Single-cell RNA sequencing data normalization <<<<<<< HEAD Version: 1.0.0 ======= Version: 1.0.2 >>>>>>> 55942b4... 1.0.2 Authors at R: c(person("Wenhao", "Tang", role=c("aut", "cre"), email="wt215 at ic.ac.uk"), So even though your commit will be included in the Sunday night build, it will not complete successfully. You'll need to update the DESCRIPTION file so that it is formatted correctly, and push that to git.bioconductor.org before tonight's builds start. For your specific questions 1. Yes you have to wait for the build system to work on a daily basis. But best practice is to build and check your package before committing. Personally I would do this without third-party tools (e.g., devtools) since this is how the nightly builder works. So for instance using R and Bioconductor version 3.8 I have ~/b/git/bayNorm RELEASE_3_8$ cd .. ~/b/git$ bioc-3.8 CMD build bayNorm * checking for file ?bayNorm/DESCRIPTION? ...Error : file '/Users/ma38727/b/git/bayNorm/DESCRIPTION' is not in valid DCF format EXISTS but not correct format and you therefore know immediately that something needs to be fixed without waiting 24 hours. A good practice might be R CMD build bayNorm R CMD check bayNorm_1.0.2.tar.gz 2. No, work flows do not require two local repositories. For your scenario there is a single repository, with different 'branches' (for devel and RELEASE_3_8) and different 'remotes' (for git.bioconductor.org and github.com) Item 10 of http://bioconductor.org/developers/how-to/git/sync-existing-repositories/ tries to sketch the steps required to maintain two remotes and two branches, which is what you art trying to do (it seems like you have the various steps in place, perhaps not coordinated a cleanly as they could be). Martin ?On 11/11/18, 8:11 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote: Dear all, Currently, for both branches: master and RELEASE_3_8 in my github repository: https://github.com/WT215/bayNorm/tree/master have been updated with version number 1.0.2. However, in the latest build report: http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/ the version is still 1.0.0. I have the following two questions: 1. Do I have to wait 24 hours to see whether the update in the release version success or not? 2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced. Thank you very much! Best wishes, Wenhao Thank you very much! Best wishes, Wenhao ________________________________ ???: Martin Morgan <mtmorgan.bioc at gmail.com> ????: 2018?11?10? 19:10:13 ???: Tang, Wenhao; bioc-devel at r-project.org ??: Re: [Bioc-devel] A little confuse about how to update accepted package The steps below are correct, but perhaps not sufficient for what you want to do. Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced. There is a version numbering scheme, outlined at http://bioconductor.org/developers/how-to/version-numbering/ to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0. If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1. If you intend to make this change also in the release, then the extra steps in http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/ are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push. During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from http://bioconductor.org/checkResults/ note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build. Martin ?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote: Dear Bioconductor team, My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done: My local repository has version 0.99.19. So I did the following in my local repository: 1. git remote add upstream git at git.bioconductor.org:packages/bayNorm 2. git fetch --all 3. git checkout master 4. git merge origin/master 5. git merge upstream/master Now the local version is 1.1.0 rather than 0.99.19. Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository: 1. git push upstream master 2. git push origin master Is the above procedure correct? Will I see the package building report like what I have received during the submission process? Your tutorials are very clear, and I am sorry if my question is too trivial. Thank you very much! Best wishes, Wenhao [[alternative HTML version deleted]] _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel [[alternative HTML version deleted]] _______________________________________________ Bioc-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel [[alternative HTML version deleted]] _______________________________________________ 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.
The middle version on the master branch needs to be odd, so 1.1.3; trying to push 1.0.5 to the master branch of the git.bioconductor.org remote will not work.
The correct way to manage this is to separately bump versions on the RELEASE_3_8 branch and on the master branch, and to separately push the RELEASE_3_8 branch and the master branch.
It is usual for the version number and content of master branch to be different from the release branch -- e.g., a new feature would be added to the master branch, and NOT to the release branch, and so there is a version bump in master but not release.
Remember that the current master branch will become the RELEASE_3_9 branch at our next release in April.
Martin
?On 11/13/18, 6:55 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear all,
Now I understand how to sync my local master, local RELEASE_3_8, remote master and remote RELEASE_3_8.
All of them have version 1.0.5. I also want to update the DEVEL branch, but when I did (the step 9 in http://bioconductor.org/developers/how-to/git/sync-existing-repositories/)
git push upstream master
I received the following message:
Wenhao at TANG MINGW64 /e/RNAseqProject/bayNorm_dev/bayNorm (master)
$ git push upstream master
Total 0 (delta 0), reused 0 (delta 0)
remote: Error: Illegal version bump from '1.1.2' to '1.0.5'. Check
remote: http://bioconductor.org/developers/how-to/version-numbering/
remote: for details
To git at git.bioconductor.org:packages/bayNorm.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git at git.bioconductor.org:packages/bayNorm.git'
What I have tried is to replace 1.0.5 with 1.1.3 and then push it. After that I replaced 1.1.3 with 1.0.5. Obviously this way is not efficient. Since RELEASE nad devel branches have different pattern of version numbers, how could I update them in a consistent way?
Thank you in advance!
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?12? 1:15:42
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] ??: A little confuse about how to update accepted package
The release branch should be numbered 1.0.1, 1.0.2, 1.0.3, ...
The devel branch should be numbered 1.1.1, 1.1.2, 1.1.3, ...
It does not matter, from the build and distribution perspective, what your github repository contains. What matters is the content of git.bioconductor.org repository, the 'devel' / master branchs
Packages build and check nightly, so please look at the nightly build reports at
http://bioconductor.org/checkResults/
The release build report for your package is at
http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/malbec1-install.html
You can see that the most recent build report (at the time I write this) 'was generated on 2018-11-11' and for your package
Snapshot Date: 2018-11-10 16:45:10 -0500 (Sat, 10 Nov 2018)
URL: https://git.bioconductor.org/packages/bayNorm
Branch: RELEASE_3_8
Last Commit: d371781
Last Changed Date: 2018-10-30 11:42:10 -0500 (Tue, 30 Oct 2018)
This says that the most recent builds completed on 2018-11-11, but started on the Snapshot Date 2018-11-10 16:45:10 -0500.
Your commit was
commit ead59d29ff65eb9eca7b1aa4dc49c12db1f60190 (HEAD -> RELEASE_3_8, origin/RELEASE_3_8)
Author: WENHAO TANG <wt215 at ic.ac.uk>
Date: Sun Nov 11 06:21:06 2018 +0800
1.0.2
which is AFTER the build started, hence NOT INCLUDED in last night's build and NOT YET AVAILABLE to the end user.
The version of your package on git.bioconductor.org has the following DESCRIPTION file
git/bayNorm RELEASE_3_8$ head DESCRIPTION
Package: bayNorm
Type: Package
Title: Single-cell RNA sequencing data normalization
<<<<<<< HEAD
Version: 1.0.0
=======
Version: 1.0.2
>>>>>>> 55942b4... 1.0.2
Authors at R: c(person("Wenhao", "Tang", role=c("aut", "cre"),
email="wt215 at ic.ac.uk"),
So even though your commit will be included in the Sunday night build, it will not complete successfully. You'll need to update the DESCRIPTION file so that it is formatted correctly, and push that to git.bioconductor.org before tonight's builds start.
For your specific questions
1. Yes you have to wait for the build system to work on a daily basis. But best practice is to build and check your package before committing. Personally I would do this without third-party tools (e.g., devtools) since this is how the nightly builder works.
So for instance using R and Bioconductor version 3.8 I have
~/b/git/bayNorm RELEASE_3_8$ cd ..
~/b/git$ bioc-3.8 CMD build bayNorm
* checking for file ?bayNorm/DESCRIPTION? ...Error : file '/Users/ma38727/b/git/bayNorm/DESCRIPTION' is not in valid DCF format
EXISTS but not correct format
and you therefore know immediately that something needs to be fixed without waiting 24 hours.
A good practice might be
R CMD build bayNorm
R CMD check bayNorm_1.0.2.tar.gz
2. No, work flows do not require two local repositories. For your scenario there is a single repository, with different 'branches' (for devel and RELEASE_3_8) and different 'remotes' (for git.bioconductor.org and github.com)
Item 10 of
http://bioconductor.org/developers/how-to/git/sync-existing-repositories/
tries to sketch the steps required to maintain two remotes and two branches, which is what you art trying to do (it seems like you have the various steps in place, perhaps not coordinated a cleanly as they could be).
Martin
?On 11/11/18, 8:11 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear all,
Currently, for both branches: master and RELEASE_3_8 in my github repository:
https://github.com/WT215/bayNorm/tree/master
have been updated with version number 1.0.2.
However, in the latest build report:
http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/
the version is still 1.0.0.
I have the following two questions:
1. Do I have to wait 24 hours to see whether the update in the release version success or not?
2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced.
Thank you very much!
Best wishes,
Wenhao
Thank you very much!
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?10? 19:10:13
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] A little confuse about how to update accepted package
The steps below are correct, but perhaps not sufficient for what you want to do.
Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced.
There is a version numbering scheme, outlined at
http://bioconductor.org/developers/how-to/version-numbering/
to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0.
If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1.
If you intend to make this change also in the release, then the extra steps in
http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/
are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push.
During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from
http://bioconductor.org/checkResults/
note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build.
Martin
?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear Bioconductor team,
My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done:
My local repository has version 0.99.19. So I did the following in my local repository:
1. git remote add upstream git at git.bioconductor.org:packages/bayNorm
2. git fetch --all
3. git checkout master
4. git merge origin/master
5. git merge upstream/master
Now the local version is 1.1.0 rather than 0.99.19.
Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository:
1. git push upstream master
2. git push origin master
Is the above procedure correct? Will I see the package building report like what I have received during the submission process?
Your tutorials are very clear, and I am sorry if my question is too trivial.
Thank you very much!
Best wishes,
Wenhao
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
Thank you Martin and Shepherd, now I am much more familiar with this version control pipeline. I will focus on the master branch (devel) in the future.
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?13? 20:05:54
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] ??: ??: A little confuse about how to update accepted package
The middle version on the master branch needs to be odd, so 1.1.3; trying to push 1.0.5 to the master branch of the git.bioconductor.org remote will not work.
The correct way to manage this is to separately bump versions on the RELEASE_3_8 branch and on the master branch, and to separately push the RELEASE_3_8 branch and the master branch.
It is usual for the version number and content of master branch to be different from the release branch -- e.g., a new feature would be added to the master branch, and NOT to the release branch, and so there is a version bump in master but not release.
Remember that the current master branch will become the RELEASE_3_9 branch at our next release in April.
Martin
?On 11/13/18, 6:55 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear all,
Now I understand how to sync my local master, local RELEASE_3_8, remote master and remote RELEASE_3_8.
All of them have version 1.0.5. I also want to update the DEVEL branch, but when I did (the step 9 in http://bioconductor.org/developers/how-to/git/sync-existing-repositories/)
git push upstream master
I received the following message:
Wenhao at TANG MINGW64 /e/RNAseqProject/bayNorm_dev/bayNorm (master)
$ git push upstream master
Total 0 (delta 0), reused 0 (delta 0)
remote: Error: Illegal version bump from '1.1.2' to '1.0.5'. Check
remote: http://bioconductor.org/developers/how-to/version-numbering/
remote: for details
To git at git.bioconductor.org:packages/bayNorm.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git at git.bioconductor.org:packages/bayNorm.git'
What I have tried is to replace 1.0.5 with 1.1.3 and then push it. After that I replaced 1.1.3 with 1.0.5. Obviously this way is not efficient. Since RELEASE nad devel branches have different pattern of version numbers, how could I update them in a consistent way?
Thank you in advance!
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?12? 1:15:42
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] ??: A little confuse about how to update accepted package
The release branch should be numbered 1.0.1, 1.0.2, 1.0.3, ...
The devel branch should be numbered 1.1.1, 1.1.2, 1.1.3, ...
It does not matter, from the build and distribution perspective, what your github repository contains. What matters is the content of git.bioconductor.org repository, the 'devel' / master branchs
Packages build and check nightly, so please look at the nightly build reports at
http://bioconductor.org/checkResults/
The release build report for your package is at
http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/malbec1-install.html
You can see that the most recent build report (at the time I write this) 'was generated on 2018-11-11' and for your package
Snapshot Date: 2018-11-10 16:45:10 -0500 (Sat, 10 Nov 2018)
URL: https://git.bioconductor.org/packages/bayNorm
Branch: RELEASE_3_8
Last Commit: d371781
Last Changed Date: 2018-10-30 11:42:10 -0500 (Tue, 30 Oct 2018)
This says that the most recent builds completed on 2018-11-11, but started on the Snapshot Date 2018-11-10 16:45:10 -0500.
Your commit was
commit ead59d29ff65eb9eca7b1aa4dc49c12db1f60190 (HEAD -> RELEASE_3_8, origin/RELEASE_3_8)
Author: WENHAO TANG <wt215 at ic.ac.uk>
Date: Sun Nov 11 06:21:06 2018 +0800
1.0.2
which is AFTER the build started, hence NOT INCLUDED in last night's build and NOT YET AVAILABLE to the end user.
The version of your package on git.bioconductor.org has the following DESCRIPTION file
git/bayNorm RELEASE_3_8$ head DESCRIPTION
Package: bayNorm
Type: Package
Title: Single-cell RNA sequencing data normalization
<<<<<<< HEAD
Version: 1.0.0
=======
Version: 1.0.2
>>>>>>> 55942b4... 1.0.2
Authors at R: c(person("Wenhao", "Tang", role=c("aut", "cre"),
email="wt215 at ic.ac.uk"),
So even though your commit will be included in the Sunday night build, it will not complete successfully. You'll need to update the DESCRIPTION file so that it is formatted correctly, and push that to git.bioconductor.org before tonight's builds start.
For your specific questions
1. Yes you have to wait for the build system to work on a daily basis. But best practice is to build and check your package before committing. Personally I would do this without third-party tools (e.g., devtools) since this is how the nightly builder works.
So for instance using R and Bioconductor version 3.8 I have
~/b/git/bayNorm RELEASE_3_8$ cd ..
~/b/git$ bioc-3.8 CMD build bayNorm
* checking for file ?bayNorm/DESCRIPTION? ...Error : file '/Users/ma38727/b/git/bayNorm/DESCRIPTION' is not in valid DCF format
EXISTS but not correct format
and you therefore know immediately that something needs to be fixed without waiting 24 hours.
A good practice might be
R CMD build bayNorm
R CMD check bayNorm_1.0.2.tar.gz
2. No, work flows do not require two local repositories. For your scenario there is a single repository, with different 'branches' (for devel and RELEASE_3_8) and different 'remotes' (for git.bioconductor.org and github.com)
Item 10 of
http://bioconductor.org/developers/how-to/git/sync-existing-repositories/
tries to sketch the steps required to maintain two remotes and two branches, which is what you art trying to do (it seems like you have the various steps in place, perhaps not coordinated a cleanly as they could be).
Martin
?On 11/11/18, 8:11 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear all,
Currently, for both branches: master and RELEASE_3_8 in my github repository:
https://github.com/WT215/bayNorm/tree/master
have been updated with version number 1.0.2.
However, in the latest build report:
http://bioconductor.org/checkResults/3.8/bioc-LATEST/bayNorm/
the version is still 1.0.0.
I have the following two questions:
1. Do I have to wait 24 hours to see whether the update in the release version success or not?
2. Do I need to have two local repositories for Release and Developed versions bayNorm respectively? In the tutorial: http://bioconductor.org/developers/how-to/git/sync-existing-repositories/, it seems that only local (Release), Bioconductor (Release), and GitHub repositories (Release) can be synced.
Thank you very much!
Best wishes,
Wenhao
Thank you very much!
Best wishes,
Wenhao
________________________________
???: Martin Morgan <mtmorgan.bioc at gmail.com>
????: 2018?11?10? 19:10:13
???: Tang, Wenhao; bioc-devel at r-project.org
??: Re: [Bioc-devel] A little confuse about how to update accepted package
The steps below are correct, but perhaps not sufficient for what you want to do.
Bioconductor packages consist of release branches, which are meant to be stable for the end user, and the 'devel' branch where new features can be introduced.
There is a version numbering scheme, outlined at
http://bioconductor.org/developers/how-to/version-numbering/
to ensure that each published version of the package has a different version, that versions in release always increase, and that the devel version is always ahead of the release version. For your package, the release version is 1.0.0, and the devel version is 1.1.0.
If you intended to make a change to the devel version of your package, because you were introducing a new feature or perhaps testing a bug fix, then you have been successful; you have pushed your changes to the devel ('master') branch, and incremented the version to 1.1.1.
If you intend to make this change also in the release, then the extra steps in
http://bioconductor.org/developers/how-to/git/bug-fix-in-release-and-devel/
are required -- check out the RELEASE_3_8 branch, port your changes from master, increment the release version to 1.0.1, and push.
During the submission process packages are built immediately, but in the devel and release branches they are built nightly, approximately (I think that last night in particular there were issues with network connectivity that might severely limit the success of the build). The build reports are available from
http://bioconductor.org/checkResults/
note the 'snapshot' time stamps and commit information for the overall build and for your individual package to see whether your commit was included in the nightly build.
Martin
?On 11/10/18, 5:53 AM, "Bioc-devel on behalf of Tang, Wenhao" <bioc-devel-bounces at r-project.org on behalf of wenhao.tang15 at imperial.ac.uk> wrote:
Dear Bioconductor team,
My package bayNorm has recently been accepted, it now has version 1.0.0. Currently I would like to make some changes to it. I look through the tutorials online but I am still very confused. Below is what I have done:
My local repository has version 0.99.19. So I did the following in my local repository:
1. git remote add upstream git at git.bioconductor.org:packages/bayNorm
2. git fetch --all
3. git checkout master
4. git merge origin/master
5. git merge upstream/master
Now the local version is 1.1.0 rather than 0.99.19.
Then I just did a small change (in addition, I bump the version to 1.1.1) and then run the following command under the local repository:
1. git push upstream master
2. git push origin master
Is the above procedure correct? Will I see the package building report like what I have received during the submission process?
Your tutorials are very clear, and I am sorry if my question is too trivial.
Thank you very much!
Best wishes,
Wenhao
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
_______________________________________________
Bioc-devel at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel