#248: Enhance GetComponents functionality when dealing with git branches ----------------------------+----------------------------------------------- Reporter: bmundim | Owner: eric9 Type: enhancement | Status: accepted Priority: minor | Milestone: Component: GetComponents | Version: Resolution: | Keywords: git branches ----------------------------+-----------------------------------------------
Comment (by bmundim):
You specify different branches for the same directory
(arrangement/thorn). Which branch should be checked out?
The way I proposed earlier: the last branch in your thorn list would be the last branch to be checked out. However I think Eric's suggestion is even better and quite economical. To make Eric's idea simpler to implement I would keep the order of the list as the order of check out. For example:
!REPO_BRANCH = master, stable, experimental
would default to experimental.
It would be easy to pull (download) all branches into the repository, but
only one branch can be checked out.
That's true. It would be up to the user which branch to use in her configuration build. Switching branches is as inconvenient as changing directories. I don't think GetComponents should be of any help in this case.
When updating or examining the status, GetComponents could ignore the
branch specified in the thorn list and instead look at the branch currently checked out.
GetComponents should update all branches. Do you see any reason not to? When examining the status, I think it should list the status of all branches too, so that the user make an informed decision to update or not.
svn supports the same mechanism...
How do you envision this change for svn? The problem with svn is that the branches lie in different directory paths, then whenever you checkout a different branch you would have to redo all the sym links and you would have to have that implemented in GetComponents. Other difficulties may arise in that case, since people have private branches that won't be present in the public version. For example, if you want to change from the development to experimental in your private list of thorns and release to trunk in the ET list, how would you specify that using GetComponents? I think it complicates things, despite being a nice feature to have.
Anyways, I like Eric new syntax proposal and would vote for that. I would hold any changes in the svn side until we have a better picture of what its changes would imply.