[Bioc-devel] Confusion with how to maintain release/devel files on local computer.
I found how I can create another remote with GitHub using Rstudio. How can I merge master and GitHub? Best regards, Arman From: Arman Shahrisa<mailto:shahrisa.arman at hotmail.com> Sent: Thursday, November 2, 2017 03:23 To: Stephanie M. Gogarten<mailto:sdmorris at uw.edu>; bioc-devel<mailto:bioc-devel at r-project.org> Subject: RE: [Bioc-devel] Confusion with how to maintain release/devel files on local computer. 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