[Bioc-devel] Confusion with how to maintain release/devel files on local computer.

Arman Shahrisa shahrisa.arman at hotmail.com
Thu Nov 2 00:53:22 CET 2017


I cloned the package into a clean directory. Then I followed “New package workflow” strategy. By checking Description file while switching between branches, I can easily see the version change which is correct. If I understand it correctly, GitHub can only contain changes I make to master branch. If I want to push changes to GitHub as well, what should I do?

Best regards,
Arman


From: Stephanie M. Gogarten<mailto:sdmorris at uw.edu>
Sent: Thursday, November 2, 2017 02:19
To: Arman Shahrisa<mailto:shahrisa.arman at hotmail.com>
Cc: bioc-devel<mailto:bioc-devel at r-project.org>
Subject: Re: [Bioc-devel] Confusion with how to maintain release/devel files on local computer.

One possible point of confusion: Laurent's workflow includes maintaining
separate branches "master" and "devel", which he syncs to his own Github
repo and Bioconductor's git repo respectively. However, the
documentation on the bioc website
(https://bioconductor.org/developers/how-to/git/) assumes that you have
only one "master" branch that you push to both remotes.

On 11/1/17 2:33 PM, Laurent Gatto wrote:
>
> On  1 November 2017 20:36, Arman Shahrisa wrote:
>
>> I'm confused with development process.
>>
>> At first, I need to have a folder with accepted packaged. Then I need to pull
>> origion RELEASE_3_6?
>>
>> Then in another folder, I need to pull origion master?
>
> No, it all happens in the same folder, but switching between branches
> using git. Here's an example of one of my own packages. The first
> command list all available branches (all, using -a, means also
> remote-only branches). My current branch is noted with an *, and I also
> have a feature branch called writeMSData, which also lives on GitHub
> (https://github.com/lgatto/MSnbase/, but that's optional).
>
> $ git branch -a
>    devel
> * master
>    writeMSData
>    remotes/origin/HEAD -> origin/master
>    remotes/origin/centroiding
>    remotes/origin/fixBracketSubset
>    remotes/origin/issue82
>    remotes/origin/master
>    remotes/origin/orbifilter
>    remotes/origin/processingData
>    remotes/origin/removePrecMz
>    remotes/origin/writeMSData
>    remotes/upstream/RELEASE_2_10
>    remotes/upstream/RELEASE_2_11
>    remotes/upstream/RELEASE_2_12
>    remotes/upstream/RELEASE_2_13
>    remotes/upstream/RELEASE_2_14
>    remotes/upstream/RELEASE_2_8
>    remotes/upstream/RELEASE_2_9
>    remotes/upstream/RELEASE_3_0
>    remotes/upstream/RELEASE_3_1
>    remotes/upstream/RELEASE_3_2
>    remotes/upstream/RELEASE_3_3
>    remotes/upstream/RELEASE_3_4
>    remotes/upstream/RELEASE_3_5
>    remotes/upstream/master
>
> As you can see (and as specified by Gabe in his earlier reply), I
> haven't have pulled all Bioconductor releases. master points to GitHub's
> origin/master branch, and devel points to Bioconductor's
> upstream/master. As you can see above, I haven't got the latest release
> references yet. I can do this with
>
> $ git fetch --all
> Fetching origin
> Fetching upstream
> remote: Counting objects: 6, done.
> remote: Compressing objects: 100% (6/6), done.
> remote: Total 6 (delta 4), reused 0 (delta 0)
> Unpacking objects: 100% (6/6), done.
>  From git.bioconductor.org:packages/MSnbase
>   * [new branch]      RELEASE_3_6 -> upstream/RELEASE_3_6
>     b680678..a98138c  master     -> upstream/master
>
> And now
>
> $ git branch -a
>    devel
> * master
>    writeMSData
>    remotes/origin/HEAD -> origin/master
>    remotes/origin/centroiding
>    remotes/origin/fixBracketSubset
>    remotes/origin/issue82
>    remotes/origin/master
>    remotes/origin/orbifilter
>    remotes/origin/processingData
>    remotes/origin/removePrecMz
>    remotes/origin/writeMSData
>    remotes/upstream/RELEASE_2_10
>    remotes/upstream/RELEASE_2_11
>    remotes/upstream/RELEASE_2_12
>    remotes/upstream/RELEASE_2_13
>    remotes/upstream/RELEASE_2_14
>    remotes/upstream/RELEASE_2_8
>    remotes/upstream/RELEASE_2_9
>    remotes/upstream/RELEASE_3_0
>    remotes/upstream/RELEASE_3_1
>    remotes/upstream/RELEASE_3_2
>    remotes/upstream/RELEASE_3_3
>    remotes/upstream/RELEASE_3_4
>    remotes/upstream/RELEASE_3_5
>    remotes/upstream/RELEASE_3_6
>    remotes/upstream/master
>
> If I want to modify the development branch (i.e. Bioconductor's
> upstreams/master), then I checkout devel (that's how I named it
> locally), do changes and push.
>
> $ git checkout devel
> ## do stuff
> $ git push
>
> Same principle for other branches.
>
>> So that by opening each folder, I know what I'm editing.
>> Also during push, I need to be careful about where I'm pushing changes.
>> Origion is bioc's git address of my package whereas master is the package directory in GitHub?
>
> No - I suggest you read a bit about git (GitHub is a web interface using
> git) to familiarise yourself with the concepts and vocabulary.
>
>> Am I getting it correct?
>> Is there anywhere that contains whole the process and codes in steps?
>
> All the setup and more details are provided in
>
>    https://github.com/bioconductor/bioc_git_transition/
>
> in particular the FAQ and all the scenarios at the bottom
>
>    https://github.com/Bioconductor/bioc_git_transition/blob/master/doc/faq.md
>
> Best wishes,
>
> Laurent
>
>> Best regards,
>> Arman
>>
>>
>>
>>       [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>
>


	[[alternative HTML version deleted]]



More information about the Bioc-devel mailing list