Skip to content
Prev 12273 / 21312 Next

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

On 1 November 2017 20:36, Arman Shahrisa wrote:

            
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.
* [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.
No - I suggest you read a bit about git (GitHub is a web interface using
git) to familiarise yourself with the concepts and vocabulary.
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