add per-branch (and per-repo?) bookmarks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar Bookmarks Plugin |
Fix Released
|
Undecided
|
Lukáš Lalinský |
Bug Description
I often find myself wanting to add bookmarks on a per-branch or per-repo basis. For example, if I'm working on three different projects with someone named Fred, I would like to be able to run "bzr pull fred" in each one.
This is especially useful when working with svn repos via bzr, since bzr only remembers one set of URLs and bzr-svn involves at least two sets. For example, if I want to change a svn branch and publish changes to several places...
# svn = svn+ssh:
# lp = bzr+ssh://<email address hidden>
# backup = bzr+ssh:
bzr pull lp
bzr pull svn
hack, commit, hack, commit, hack, commit
bzr push svn
bzr push lp
bzr push backup
This is simplified; I run into cases regularly where I have more than three different URLs and use them for more than just push and pull. But I think it shows the basic idea well enough.
This is all just per-branch bookmarks so far. The primary issue I've run into where per-repo bookmarks would help is feature branching in svn. Since svn has no real concept of branches, the commits get flattened... and bzr-svn doesn't flatten them. It just commits the final merge. So, to commit each rev instead of just the merge, the resulting work flow is a bit messed up:
/> bzr branch svn trunk
/> bzr branch trunk myfeature
/myfeature/> hack, commit, hack, commit
/trunk/> bzr pull svn
/myfeature/> bzr rebase ../trunk # if necessary
/myfeature/> bzr push svn
/trunk/> bzr pull svn
This approach feels wrong, but per-repo bookmarks would at least make it a bit easier.
Related branches
Changed in bzr-bookmarks: | |
assignee: | nobody → luks |
status: | New → Fix Committed |
Changed in bzr-bookmarks: | |
status: | Fix Committed → Fix Released |
It looks like this requires changing from GlobalConfig to branch. get_config( ), but I don't yet know the details. I'll keep looking, but it may take a while.