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  [email protected]:packages/BiocSklearn (fetch)
origin  [email protected]: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 <[email protected]>
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:[email protected]>
Sent: Thursday, November 2, 2017 03:23
To: Stephanie M. Gogarten<mailto:[email protected]>; bioc-devel<mailto:
[email protected]>
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:[email protected]>
Sent: Thursday, November 2, 2017 02:19
To: Arman Shahrisa<mailto:[email protected]>
Cc: bioc-devel<mailto:[email protected]>
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]]

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel





         [[alternative HTML version deleted]]


_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel


        [[alternative HTML version deleted]]

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



This email message may contain legally privileged and/or...{{dropped:2}}

_______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to