[Bioc-devel] Confusion with how to maintain release/devel files on local computer.
Martin Morgan
martin.morgan at roswellpark.org
Thu Nov 2 15:28:11 CET 2017
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...{{dropped:2}}
More information about the Bioc-devel
mailing list