On Mon, May 19, 2003 at 05:06:44PM +0100, Colin Watson wrote:
> On Mon, May 19, 2003 at 08:53:04AM -0700, Justin Erenkrantz wrote:
> > The list of files that I pass to 'svn diff' may be the same as 'svn ci'
> > (which I why I said the interface is parallel - cmpilato doesn't agree with
> > that though).
> If it's any guide, virtually every time I commit a set of files that
> aren't the entire working copy, I do:
> svn di file1 file2 file3 | view -
> Up C-w C-w C-w C-a M-f M-f C-w ci Enter
Just to put myself squarely in one camp: I do the exact same thing as Colin
describes above. I'll have a bunch of different changes in my WC (for many
various reasons). When it comes time to commit, I use 'svn status' to see
what I've got. Then I sort them out into logical chunks. Then I do something
$ svn diff dir1 dir2 > /tmp/d
(review /tmp/d in my xemacs window as I write the commit msg )
(recall and edit the above line to: )
$ svn commit dir1 dir2
The fact that diff and commit take the same arguments is key to the workflow
here. I group up logical chunks by specifying the narrowest parent(s) of
each chunk. When reviewing /tmp/d, I can determine whether I got the "right"
chunk. I may need to refine the subdirs or specify individual files.
Assuming it's right, then I just recall the line and edit it to commit. Then
I review /tmp/d again to determine what I need to put into the commit
Rinse and repeat.
I'm of a mind to keep them all as 'svn diff' since all five options *are*
computing differences. It is simply a question of "what are the inputs?" One
thing that may help to solve the problem is to look at one case:
$ svn diff file1 file2
How does SVN know whether that is to be iterative or comparative? The rest
of the specification stuff (revs and whatnot) is relatively "easy". But what
about this one case?
I'm kind of -0 on the new 'svn compare' command since it will definitely
cause people to say "huh? how is that different?" [no pun intended :-)] But
without a new subcommand, that would imply switches of some form.
Greg Stein, http://www.lyra.org/
To unsubscribe, e-mail: firstname.lastname@example.org
For additional commands, e-mail: email@example.com
Received on Tue May 20 03:07:14 2003