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 g...@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 g...@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:sdmor...@uw.edu>
Sent: Thursday, November 2, 2017 02:19
To: Arman Shahrisa<mailto:shahrisa.ar...@hotmail.com>
Cc: bioc-devel<mailto:bioc-devel@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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel




        [[alternative HTML version deleted]]



_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel



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

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to