#248: Enhance GetComponents functionality when dealing with git branches ---------------------------+------------------------------------------------ Reporter: bmundim | Owner: eric9 Type: enhancement | Status: new Priority: minor | Milestone: Component: GetComponents | Version: Keywords: git branches | ---------------------------+------------------------------------------------ When using git it is very common to develop new code or functionality in separate branches. Sometimes these branches are maintained in a central repository too (besides in the user local repo). It would be nice if GetComponents could handle the checkout and update of *all* these branches in the *same* Cactus tree. Currently we have to either checkout these branches manually (a bit inconvenient) or to have several Cactus trees, each containing the branch that we want to work with (quite impractical and expensive). I suggest that GetComponents understands the following lines written in the same thorn list file and checkout all the appropriate branches:
!CRL_VERSION = 1.0
!DEFINE ROOT = Cactus !DEFINE ARR = $ROOT/arrangements
# Checkout the master branch: !TARGET = $ARR !TYPE = git !URL = ssh://path/to/repo !CHECKOUT = arrangement1/thorn1 arrangement1/thorn2
#Checkout the development branch: !TARGET = $ARR !TYPE = git !URL = ssh://path/to/repo !REPO_BRANCH = development !CHECKOUT = arrangement1/thorn1 arrangement1/thorn2
#Checkout the experimental branch: !TARGET = $ARR !TYPE = git !URL = ssh://path/to/repo !REPO_BRANCH = experimental !CHECKOUT = arrangement1/thorn1 arrangement1/thorn2
#Checkout the test branch: !TARGET = $ARR !TYPE = git !URL = ssh://path/to/repo !REPO_BRANCH = test !CHECKOUT = arrangement1/thorn1 arrangement1/thorn2
As far as I understand this workflow is not usual for either cvs or svn. So the "feature" proposed here would be limited to git repositories (I know nothing about darcs and very little about hg. So someone may want to comment for these repo types.).
Thanks, Bruno.