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

Arman Shahrisa shahrisa.arman at hotmail.com
Thu Nov 2 16:14:14 CET 2017


> There is no branch releas_3_6.

>> I don't know what 'it' is -- I guess your local repository that you
>> cloned, but where did you clone it from?


I repeated all the process again.
I opened git bash as an administrator and ran commands described here:

https://bioconductor.org/developers/how-to/git/maintain-bioc-only/

> Arman at Arman-VAIO MINGW64 ~
> $ cd /z/cbaf/Source

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source
> $ git clone git at git.bioconductor.org:packages/cbaf
> Cloning into 'cbaf'...
> Enter passphrase for key '/c/Users/Arman/.ssh/id_rsa':
> remote: Counting objects: 732, done.
> remote: Compressing objects: 100% (218/218), done.
> remote: Total 732 (delta 503), reused 725 (delta 499)
> Receiving objects: 100% (732/732), 749.19 KiB | 182.00 KiB/s, done.
> Resolving deltas: 100% (503/503), done.

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source
> $ git remote -v
> fatal: Not a git repository (or any of the parent directories): .git

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source
> $ cd /z/cbaf/Source/cbaf

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source/cbaf (master)
> $ git remote -v
> origin  git at git.bioconductor.org:packages/cbaf (fetch)
> origin  git at git.bioconductor.org:packages/cbaf (push)

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source/cbaf (master)
> $ git pull
> Enter passphrase for key '/c/Users/Arman/.ssh/id_rsa':
> Already up-to-date.




The I ran this one:
> git remote add upstream git at git.bioconductor.org:packages/cbaf.git




Then these commands from https://bioconductor.org/developers/how-to/git/pull-upstream-changes/

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source/cbaf (master)
> $ git checkout master
> Already on 'master'
> Your branch is up-to-date with 'origin/master'.

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source/cbaf (master)
> $ git fetch upstream
> Enter passphrase for key '/c/Users/Arman/.ssh/id_rsa':
> From git.bioconductor.org:packages/cbaf
>  * [new branch]      RELEASE_3_6 -> upstream/RELEASE_3_6
>  * [new branch]      master      -> upstream/master

> Arman at Arman-VAIO MINGW64 /z/cbaf/Source/cbaf (master)
> $ git merge upstream/master
> Already up-to-date.


I have attached an screenshot of what I have now. The following is the
Command-line output:
> Arman at Arman-VAIO MINGW64 /z/cbaf/Source/cbaf (master)
> $ git branch -a
> * master
>   remotes/origin/HEAD -> origin/master
>   remotes/origin/RELEASE_3_6
>   remotes/origin/master
>   remotes/upstream/RELEASE_3_6
>   remotes/upstream/master


Thank you very much for your help.

Best regards,
Arman

From: Martin Morgan<mailto:martin.morgan at roswellpark.org>
Sent: Thursday, November 2, 2017 17:58
To: Arman Shahrisa<mailto:shahrisa.arman at hotmail.com>; 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/02/2017 10:11 AM, Arman Shahrisa wrote:
> I can see two branches master and releas_3_6. I created GMaster to

Again, you need to be very precise here.

There is no branch releas_3_6.

I don't know what 'it' is -- I guess your local repository that you
cloned, but where did you clone it from?

I don't know what you mean by 'created GMaster'

> connect it with GitHub. But as far as it looks like, it’s only a local
> directory.

the cloned repository is a local directory, yes.

> Also, I don’t know weather I can remove it or not. Should upsteam appear
> here?

If you remove it, then any changes not 'pushed' to an online repository
will be lost.

'upstream' would appear with

   git remote -v

if you had added an 'upstream' remote

   git remote add upstream git at git.bioconductor.org:packages/your-package

or if you had renamed an existing remote

   git rename origin upstream

'origin' and 'upstream' are just names; you can call remotes whatever
you want.

It would be helpful to report as carefully as possible what your
configure and commands are. For instance instead of your message, you
could say

I can see two branches

$ git branch  -a
   RELEASE_3_6
* master

I have created a remote connecting to GitHub

$ git remote -v
origin  git at github.com:Bioconductor/your-package (fetch)
origin  git at github.com:Bioconductor/your-package (push)
upstream        git at git.bioconductor.org:packages/your-package (fetch)
upstream        git at git.bioconductor.org:packages/your-package (push)

and so on.

Martin

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


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_18-40-51.png
Type: image/png
Size: 7009 bytes
Desc: 2017-11-02_18-40-51.png
URL: <https://stat.ethz.ch/pipermail/bioc-devel/attachments/20171102/a901847d/attachment.png>


More information about the Bioc-devel mailing list