[Bioc-devel] 答复: A little confuse about how to update accepted package

Martin Morgan mtmorg@n@bioc @ending from gm@il@com
Sun Nov 11 18:15:42 CET 2018


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 using 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 using R: c(person("Wenhao", "Tang", role=c("aut", "cre"),
        email="wt215 using 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 using r-project.org on behalf of wenhao.tang15 using 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 using gmail.com>
    发送时间: 2018年11月10日 19:10:13
    收件人: Tang, Wenhao; bioc-devel using 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 using r-project.org on behalf of wenhao.tang15 using 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 using 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 using r-project.org mailing list
        https://stat.ethz.ch/mailman/listinfo/bioc-devel
    
    
    	[[alternative HTML version deleted]]
    
    _______________________________________________
    Bioc-devel using r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel
    


More information about the Bioc-devel mailing list