Subject: 23.0.91; annoying/unnecessary vc-next-action conflict in vc-dir buffer

From: Miles Bader <[email-masked]>
Date: Sun, 15 Mar 2009 11:57:36 +0900

[Note: I have Dan's patch for fixing whole-directory vc-dir commit in
Git applied, though I don't think it should affect the following, as it
relates to final commit.]

If I have a vc-dir buffer showing a tree with a new file (not yet
registered with source-control), and a changed file (already
registered):

   VC backend : Git
   Working dir: /tmp/zonk/
   Branch     : master

                            ./
        unregistered        newf4
        edited              ppling

Then hitting "v" on the first line of the buffer gives the following
error:

   vc-dir-deduce-fileset: /tmp/zonk/ppling:edited clashes with /tmp/zonk/newf4:unregistered

While I guess I understand the reason for this, it's slightly annoying.

Given vc-next-action's "do-the-right-next-thing" functionality, it would
seem better in such a case to instead do a "register files only" step
(ignoring any changed-but-already-registered entries); subsequently, the
user could just hit "v" again to commit everything (the old changed file
and the files newly registered by the first "v").

I think this behavior would be a better match for vc-next-action's
behavior on single files.

Because registering/deregistering files is typically a local and
easily reversible operation, it would be "safe".

[Probably the "register files only" step should handle deletions too,
unregistering any deleted files.]

Thanks,

-Miles

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
/usr/local/share/emacs/23.0.91/etc/DEBUG for instructions.

In GNU Emacs 23.0.91.11 (x86_64-unknown-linux-gnu, GTK+ Version 2.15.5)
 of 2009-03-13 on catnip
Windowing system distributor `The X.Org Foundation', version 11.0.10599902
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ja_JP.UTF-8
  value of $XMODIFIERS: @im=SCIM
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: VC dir

Minor modes in effect:
  diff-auto-refine-mode: t
  shell-dirtrack-mode: t
  rcirc-track-minor-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
C-p SPC n o t SPC e v e r y SPC u s e r SPC w i l l 
SPC r e a l i z e SPC t h a t <escape> h <escape> h 
k n <escape> h k n o w SPC a b o u t SPC t h a t SPC 
c o m m a n d SPC ( <backspace> ( o r SPC k n o w SPC 
t o SPC u s e SPC i t , SPC e s <escape> h C-a M-f 
M-f C-n C-e C-p C-e <backspace> ) . ] C-n C-a C-k C-k 
C-n C-n C-x b <return> C-x d <escape> < C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
SPC SPC SPC C-n C-a C-n C-u C-p C-u C-p C-u C-p C-u 
C-p C-u C-p C-e C-b SPC <backspace> , SPC a n <backspace> 
s SPC i t SPC o n l y SPC f <backspace> a f <escape> 
h <escape> h r e l a t e s SPC t o SPC t h e SPC f 
i n a l SPC c o m m i t . C-a M-f M-f M-d C-e C-c C-c 
C-n C-n C-n C-n C-n C-n C-n x C-x C-v p l SPC o i SPC 
<escape> h ? p p SPC <return> C-o C-o m n o r r r r 
r e C-x C-s C-x k <return> C-u C-p C-u C-p v C-x b 
* s e SPC b u SPC <escape> h * r <backspace> b u SPC 
<return> C-x b <return> <escape> x r e p o r SPC e 
m SPC <return>

Recent messages:
Appended to /home/miles/mail/out/20090315
Sending...done
xding [2 times]
Making completion list...
Saving file /tmp/zonk/ppling...
Wrote /tmp/zonk/ppling
xding [2 times]
vc-dir-deduce-fileset: /tmp/zonk/ppling:edited clashes with /tmp/zonk/newf4:unregistered
xding
Scanning for dabbrevs...100%

-- 
Fast, small, soon; pick any 2.