When I "svn rename" one or a few files,

  svn mv foo.txt foo2.txt
  svn mv dir/bar.txt bar.txt

and want to commit just these files (not a whole subtree), I can write the new filenames easily by using the shell's filename completion or copying them from a directory listing.

  svn commit foo2.txt bar.txt

But svn currently complains that as these files are moved I also need to list their *old* names.

svn: E200009: Commit failed (details follow):
svn: E200009: Cannot commit '/home/julianfoad/tmp/svn/mv-commit/wc/foo2' because it was moved from '/home/julianfoad/tmp/svn/mv-commit/wc/foo' which is not part of the commit; both sides of the move must be committed together

Ugh!

  svn commit foo2.txt bar.txt foo.txt dir/bar.txt
  (succeeds)

Is it time to make 'svn' offer to find and commit the corresponding old names, without making me do it manually?

I was doing this in my real-life filing of documents at home the other day, and it seemed unnecessarily obstructive and cumbersome.

(There are several details we can bikeshed about what it should do exactly -- such as what if we only specify the old path, and should it prompt interactively, or need a new option, or do it by default -- but first do we agree that a change in this direction would be good?)

- Julian

Reply via email to