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

Arman Shahrisa shahrisa.arman at hotmail.com
Thu Nov 2 15:11:18 CET 2017


I can see two branches master and releas_3_6. I created GMaster to
connect it with GitHub. But as far as it looks like, it’s only a local directory.
Also, I don’t know weather I can remove it or not. Should upsteam appear here?

Best regards,
Arman

From: Martin Morgan<mailto:martin.morgan at roswellpark.org>
Sent: Thursday, November 2, 2017 05:00
To: Arman Shahrisa<mailto:shahrisa.arman at hotmail.com>; 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.

On 11/01/2017 07:53 PM, Arman Shahrisa wrote:
> I cloned the package into a clean directory.

It helps to be more precise here. Were did you clone the package from?
In the simplest case it would be

   git clone git at git.bioconductor.org:packages/your-package

and you'd have a single remote named 'origin'

   git remote -v

You can add or rename remotes, e.g.,

   git remote rename origin upstream
   git remote add origin git at github.com:your-name/your-package

and you can pull (or fetch and then merge) from each

   git pull upstream  # pull changes from 'upstream' remote
   git pull origin    # pull changes from 'origin'

Study the how-to documents for different scenarios, and be precise as
possible with what you are trying to do. Also, when learning, it can be
comforting to know that removing your local repository from your disk is
not the end of the world, you can just start over with a new clone from
git.bioconductor.org or from github.

> 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?

You can do whatever you want with your local clone, and with github. The
Bioconductor git repository allows you to push only to 'master' and the
current release, RELEASE_3_6. Suppose you'd made changes to master, and
you named the remotes 'origin' (for github) and 'upstream' (for
bioconductor). Then after after adding (git add ...) and committing (git
commit ...) to the local repository, you'd push to bioconductor with

   git push upstream master

and to github with

   git push origin master

Martin

>
> 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]]
>
>
>
> _______________________________________________
> 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.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2017-11-02_17-35-42.png
Type: image/png
Size: 10716 bytes
Desc: 2017-11-02_17-35-42.png
URL: <https://stat.ethz.ch/pipermail/bioc-devel/attachments/20171102/4e75211a/attachment.png>


More information about the Bioc-devel mailing list