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

Martin Morgan martin.morgan at roswellpark.org
Thu Nov 2 02:18:03 CET 2017


On 11/01/2017 08:54 PM, Vincent Carey wrote:
> As I plan to "fix a bug" in release version of BiocSklearn, I tried
> 
> %vjcair> git checkout remotes/upstream/RELEASE_3_6
> 
> Here is the result; what would I do to make some changes, alter DESCRIPTION
> version to 1.0.1, commit and push so that the build system
> 
> has 1.0.1?
> 
> Note: checking out 'remotes/upstream/RELEASE_3_6'.
> 
> 
> You are in 'detached HEAD' state. You can look around, make experimental
> 
> changes and commit them, and you can discard any commits you make in this
> 
> state without impacting any branches by performing another checkout.
> 
> 
> If you want to create a new branch to retain commits you create, you may
> 
> do so (now or later) by using -b with the checkout command again. Example:
> 
> 
>    git checkout -b <new-branch-name>
> 
> 
> HEAD is now at 98fabcd... bump x.y.z versions to even y prior to creation
> of RELEASE_3_6 branch

Start over by getting back to master

   git checkout master

then check out the release branch

   git checkout RELEASE_3_6
   git branch # verify -- RELEASE_3_6
   git log    # verify -- should see history through recent branch

edit DESCRIPTION, etc, and make a local commit

   git add DESCRIPTION # etc -- add material to be committed
   git commit          # make the local commit, enter commit msg, etc

What your next commands are depends on how you've named the remotes. For 
instance, I happened to call the remote associated with 
git.bioconductor.org 'origin'

$ git remote -v
origin	git at git.bioconductor.org:packages/BiocSklearn (fetch)
origin	git at git.bioconductor.org:packages/BiocSklearn (push)

I guess you named the remote 'upstream'; maybe you also have a remote 
'origin' associated with github.

I'll push my committed changes to bioconductor

   git push origin RELEASE_3_6

change 'origin' to push to a different remote, as appropriate.

Martin


> 
> On Wed, Nov 1, 2017 at 8:19 PM, Arman Shahrisa <shahrisa.arman at hotmail.com>
> wrote:
> 
>> 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
>>>
>>>
>>
>>
>>
>>          [[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...{{dropped:2}}



More information about the Bioc-devel mailing list