bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#7850: 23.2.91; emacs runs svn status -v after every file save


From: Steve Revilak
Subject: bug#7850: 23.2.91; emacs runs svn status -v after every file save
Date: Sat, 22 Jan 2011 16:58:21 -0500
User-agent: Mutt/1.5.20 (2009-06-14)

Though this wouldn't handle modified properties (cf bug#7861).
Perhaps one should parse .svn/entries (?) like the bzr heuristic does.
I guess since svn is generally fast, no-one's bothered to do this.

Glenn,

Thanks for looking into this.  When I wrote 7850, I wasn't thinking of
svn properties.  Once you bring properties into the picture, running
"svn status -v" makes more sense.


What are the implications if vc-svn-state-heuristic does not detect
modified properties?

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7861 might answer that
question.  As far as svn is concerned, properties are separate from
the contents of files, and can change independently.  Changing file
properties does not change the file mtime.

Here is a small example, where a property changes, but the file
contents do not.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# foo.txt has a modified property
$ svn status
 M      foo.txt

# svn diff shows that only properties have changed
$ svn diff foo.txt
Property changes on: foo.txt
___________________________________________________________________
Modified: svn:keywords
   - Id Revision Date Author URL
   + Id
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I am surprised that vc-dir does not notice this change (this is the
subject of 7861).  I am equally surprised that

  C-x C-f foo.txt
  C-x v v

tells me "Fileset is up-to-date".  So, you really cannot use emacs to
commit a file that has only property changes.  This also implies that
emacs is not getting much benefit from running svn status after file
saves.

Would it make sense to run "svn status" during vc actions, but not
during file saves?

One thing I noticed while writing this example: when I change a
property on foo.txt, svn 1.6 creates a .svn/props/foo.txt.svn-work,
which contains a description of the property change.  If I commit (or
revert) foo.txt, then svn deletes .svn/props/foo.txt.svn-work.  This
might be a cheap way to test for properties changes.

Steve

Attachment: pgpW8mAZ1tpGn.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]