sync of uncommitted code between 2 computers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Confirmed
|
Wishlist
|
Unassigned | ||
bzr (Ubuntu) |
Triaged
|
Wishlist
|
Unassigned |
Bug Description
Binary package hint: bzr
It would be nice to improve usability of bzr between 2 computers or more to synchronize uncommitted code. This has been discussed on IRC when I first bring the topic there.
Use case:
1/ Max works from home (computer A) or from the office (computer B)
2/ Max is working on a project where the workflow is to commit to the central/shared branch (on computer C) only complete patches (the tree must always build)
3/ The patch Max is working on is taking several days so he cannot commit to C to pass code between A and B (because it's not complete). Fake commit/uncommits are also unacceptable because the branch is shared and it will force A or B to push in override mode which could easily lead to loss of data.
4/ shared filesystems between A and B are not an option, and transport has to be on ssh, preferably doable from the side only (the other side could be firewalled, NATed or simply use a dynamic IP)
It is possible to scp the whole tree from A to B, then diff the two working trees and patch B but it's laborious.
Another option would be to revert B and pass a bzr diff from A to B, but it could lead to loss of data on B if B had diverged (a merge would have prevented that).
A better proposal on IRC was to use merge --uncommitted but it doesn't currently work on bzr+ssh or sftp ("is not a local path").
a bzr sync would be nice to have, with its own remembered locations, and with the same merge/conflicts mechanism as regular commits.
Changed in bzr: | |
importance: | Undecided → Wishlist |
Changed in bzr: | |
status: | New → Triaged |
Changed in bzr: | |
importance: | Undecided → Wishlist |
status: | New → Triaged |
tags: | added: merge |
Changed in bzr: | |
status: | Triaged → Confirmed |
I would also love to see this, as the single- person- multiple- computer uncommitted-code synchronization issue comes up a lot when developing code from multiple locations (.e.g home/work, or laptop/desktop).
I think having "bzr merge --uncomitted" work on remote paths would pretty much solve this.
Here is a workaround in the meantime: remote- branch remote- branch remote- branch
cd $LOCAL_BRANCH
rsync -a $REMOTE_BRANCH ../tmp-
bzr merge --uncomitted ../tmp-
rm -rf ../tmp-