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.b...@gmail.com>
发送时间: 2018年11月13日 20:05:54
收件人: Tang, Wenhao; bioc-devel@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-boun...@r-project.org on behalf of wenhao.tan...@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@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 g...@git.bioconductor.org:packages/bayNorm.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 
'g...@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.b...@gmail.com>
    发送时间: 2018年11月12日 1:15:42
    收件人: Tang, Wenhao; bioc-devel@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 <wt...@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@R: c(person("Wenhao", "Tang", role=c("aut", "cre"),
            email="wt...@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-boun...@r-project.org on behalf of wenhao.tan...@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.b...@gmail.com>
        发送时间: 2018年11月10日 19:10:13
        收件人: Tang, Wenhao; bioc-devel@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-boun...@r-project.org on behalf of wenhao.tan...@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 
g...@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@r-project.org mailing list
            https://stat.ethz.ch/mailman/listinfo/bioc-devel


             [[alternative HTML version deleted]]

        _______________________________________________
        Bioc-devel@r-project.org mailing list
        https://stat.ethz.ch/mailman/listinfo/bioc-devel


         [[alternative HTML version deleted]]

    _______________________________________________
    Bioc-devel@r-project.org mailing list
    https://stat.ethz.ch/mailman/listinfo/bioc-devel


        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to