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



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

Reply via email to