bzr status, diff, etc do not work properly after remote push

Bug #48136 reported by Andrew Lambe
4
Affects Status Importance Assigned to Milestone
Bazaar
Fix Released
High
Cheuksan Edward Wang

Bug Description

As we all should know, pushing to a remote branch does not currently update the remote working tree. However, after a remote push, bzr status on the remote machine does not work properly. Basically, bzr status does not show that the working tree is different than the last committed revision, when it clearly is different.

In other words, the following 3 commands should always return the same result, but I have a reproducable case where they do not.
# bzr st
# bzr st -r-1
# bzr st -r-1..

I setup the reduced case below using sftp://localhost for clarity. The problem is in both 0.8.2 and bzr.dev rev 1736.

# alias bzrdev="$HOME/bzr.dev/bzr"

# bzr version; bzrdev version;
bzr (bazaar-ng) 0.8.2
Copyright 2005, 2006 Canonical Development Ltd.
http://bazaar-ng.org/

bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.
bzr (bazaar-ng) 0.9.0dev0
  bzr checkout, revision 1736
  nick: bzr.dev
  revid: <email address hidden>
Using python interpreter: /usr/bin/python
Using python standard library: /usr/lib/python2.4
Using bzrlib: /root/bzr.dev/bzrlib

Copyright 2005, 2006 Canonical Development Ltd.
http://bazaar-vcs.org/

bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

# rm -r b1 b2 &>/dev/null; bzr init b1; bzr init b2; touch b1/t; bzr add b1; bzr ci -m 't' b1;
added t
added t
Committed revision 1.

# cd b1; bzr push sftp://localhost/~/b2; cd -;
bzr: WARNING: This transport does not update the working tree of: sftp://localhost/~/b2/
1 revision(s) pushed.
/root

# ls -a b2
. .. .bzr

# bzr st b2

# bzr st b2 -r-1
removed:
  t

# bzr st b2 -r1
removed:
  t

# rm -r b1 b2 &>/dev/null; bzrdev init b1; bzrdev init b2; touch b1/t; bzrdev add b1; bzrdev ci -m 't' b1;
added t
added t
Committed revision 1.

# cd b1; bzrdev push sftp://localhost/~/b2; cd -;
bzr: WARNING: This transport does not update the working tree of: sftp://localhost/~/b2/
1 revision(s) pushed.
/root

# ls -a b2
. .. .bzr

# bzrdev st b2

# bzrdev st b2 -r1
removed:
  t

# bzrdev st b2 -r-1
removed:
  t

Revision history for this message
John A Meinel (jameinel) wrote :

Still true in bzr.dev.
Easiest thing I can think of is to print out some something like:

if wt.last_revision() != wt.branch.last_revision():
 print "working tree is out of date, run 'bzr update'"

But I'm not sure how that would exactly work with the status output. (where it should be put, etc)
It seems worth putting in. Not sure that it should block 0.9, though.

Changed in bzr:
assignee: nobody → wang02139
Revision history for this message
Wouter van Heyst (larstiq) wrote :

Going over the NEWS file quickly in bzr.dev for the release update, this bug is mentioned under bugfixes. Is it really all closed, or is there something to my vague recollection that only half of it was done?

Revision history for this message
Cheuksan Edward Wang (wang02139) wrote :

There is some more stuff requested by John and Aaron, but I haven't had time to look at them closely.

Changed in bzr:
assignee: wang02139 → nobody
John A Meinel (jameinel)
Changed in bzr:
assignee: nobody → wang02139
status: Unconfirmed → Fix Released
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.