Subject: Re: bug#3214: vc-dir problem when committing removed file to bzr

From: Dan Nicolaescu <[email-masked]>
Date: Tue, 19 Jan 2010 23:16:08 -0800 (PST)

Glenn Morris <[email-masked]> writes:

  > Just had what seems to be a same problem as this (bug#3214) with the
  > trunk from 2010-01-10.
  > 
  > In the emacs admin/ directory, I did (from the command-line):
  > 
  > bzr remove revdiff
  > 
  > Then I edited the ChangeLog file, then did M-x vc-dir on the admin
  > directory.
  > 
  > In the resulting buffer, the ChangeLog was marked as modified, and
  > revdiff as removed.
  > 
  > I marked both files, hit `v', entered a log message, and tried to
  > commit. The vc-dir process finished with an error:
  > 
  >   Running bzr status ChangeLog in foreground...
  >   Running bzr status ChangeLog...OK = 0
  >   Running bzr status revdiff in foreground...
  >   vc-do-command: Running bzr status revdiff...FAILED (status 3)
  >   Matches vc-do-command: Running bzr status revdiff...FAILED (... [-1-]

We get to vc-do-command like this:
 vc-bzr-state -> vc-bzr-status -> vc-bzr-command -> vc-do-command

vc-bzr-command is passed a 0 for OKSTATUS.
but 
bzr status revdiff 
returns 3, that is why the message above is printed.
Changing that 0 to 3 helps, but then vc-bzr-state prints 
"bzr: ERROR: Path(s) do not exist: revdiff".

Maybe we can make vc-bzr-status ignore that message.

I'd like to get a second opinion before making the 2 changes above (0->3
and ignore the error message).

  > I'm left with a vc-dir buffer which looks like:
  > 
  > *   up-to-date           ChangeLog
  > *   removed              revdiff
  > 
  > However, the commit to the repository did complete OK.

The calls above occur after the checkin has been completed.