Update behaviour of bzr push is inconsistent and causing problems

Bug #585509 reported by besy
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Bazaar
Confirmed
Medium
Unassigned

Bug Description

bzr push updates the target working tree if it appears to be local, e.g. if the working tree is on a local partition or on a mounted network drive.

bzr push doesn't update the target working tree if you push over ssh, sftp etc.

1.) The help is not specific about when a push does update the target working tree and when it doesn't: "The target branch will not have its working tree populated because this is both expensive, and is not supported on remote file systems. Some smart servers or protocols *may* put the working tree in place in the future". The help messsage should be modified to be clear on that subject.

2.) Currently, there is no way to prevent an update of the target working tree when pushing to a branch which appears to be local. This can lead to problems, e.g. if the push causes conflicts.

Example for 2.): Person P1 is working on a branch which is shared via a Windows network drive with other people, e.g. on "G:\branchp1\". P1 modified line 123 in "code.cpp" but he hasn't commited his changes yet. P2 just finished a change in his branch in "code.cpp", line 123, and wants to share it with P1. However, P2 doesn't know that P1 has changed "code.cpp", too. So P2 pushes his changes to the branch of P1 (bzr push works because the branches of P1 and P2 haven't diverged). This creates a conflict in the branch of P1. P1 wonders what happened to his "code.cpp" and where suddenly the conflict files come from.

This bug report is based on question #108161: https://answers.launchpad.net/bzr/+question/108161

besy (besy)
summary: - bzr push doesn't consistently update working trees
+ Update behaviour of bzr push is inconsistent and causing problems
Vincent Ladeuil (vila)
Changed in bzr:
status: New → Confirmed
importance: Undecided → Medium
Jelmer Vernooij (jelmer)
tags: added: push
Revision history for this message
Dimitrios Apostolou (jimis) wrote :

I have the opposite problem, I need the tree to be always populated. Plugin push-and-update is what I need, but since it's client-side it needs to be installed separately everywhere I branch the repository, which is not really practical.

Since it's costly to update the working tree (as is described in the docs) I believe the default behaviour should be changed to *not* populate the tree, for local or remote repositories consistently.

Then a new option can be added, "--populate-tree" so that such behaviour is forced by the user, if needed.

Jelmer Vernooij (jelmer)
tags: added: check-for-breezy
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.