[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: update vs status, where should local mods be displayed?

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2001-09-13 22:54:48 CEST

Mo DeJong <supermo@bayarea.net> writes:

> % svn status
> _ 95 ( 95) ./ac-helpers/install.sh
> _ 95 ( 95) ./ac-helpers/svn-apache.m4
> _ 95 ( 95) ./ac-helpers/svn-macros.m4
> M 95 ( 95) ./autogen.sh
> M 95 ( 95) ./build.conf
> A 0 ( 95) ./buildcheck.sh

By the way, Mo, thanks for being so lucid and reasonable in your
discussions. :-)

> What I am suggesting is that we do this "compare rev numbers"
> check for the user and only present them with interesting status info
> like when a revision transition for a file actually does something.
> For example, we could use 'N' to indicate that the local file needs
> a patch from the server.
>
> % svn status
> N 95 ( 96) ./ac-helpers/install.sh
> _ 95 ( 96) ./ac-helpers/svn-apache.m4
> _ 95 ( 96) ./ac-helpers/svn-macros.m4
> M 95 ( 96) ./autogen.sh
> M 95 ( 96) ./build.conf
> A 0 ( 96) ./buildcheck.sh

This is similar to what we're planning to do. We're well aware that
comparing revision numbers is insufficient for checking
up-to-dateness. I think we're in agreement here... it's just a matter
of how to paint the bikeshed.

I think it's a good idea to continue the semantic tradition of only
displaying local-mod symbols in that first column. I don't like the
idea of mixing a 'needs an update' flag in there.

Instead, I was thinking of something like:

% svn status
Repository Revision: 96
_ 95 ( * ) ./ac-helpers/install.sh
_ 95 ( ) ./ac-helpers/svn-apache.m4
_ 95 ( ) ./ac-helpers/svn-macros.m4
M 95 ( ) ./autogen.sh
M 95 ( ) ./build.conf
A 0 ( ) ./buildcheck.sh

Notice that the head revision only needs to be printed once. And the
parenthesis column can now be used to display 'update' related flags,
while the first column shows 'commit' related flags. In the example
above, an asterisk (*) means install.sh needs an update.

We could make a fancier update flag, though:

% svn status
Repository Revision: 99
_ 95 ( 97) ./ac-helpers/install.sh
_ 95 ( ) ./ac-helpers/svn-apache.m4
_ 95 ( ) ./ac-helpers/svn-macros.m4
M 95 ( ) ./autogen.sh
M 95 ( ) ./build.conf
A 0 ( ) ./buildcheck.sh

Notice the head revision is 99, and the '97' means that install.sh was
modified in revision 97.

> % svn status
> N ./ac-helpers/install.sh
> M ./autogen.sh
> M ./build.conf
> A ./buildcheck.sh

This example of yours presents -two- new ideas:

  * only display files that have interesting commit or update flags

  * don't show any revision numbers at all

First : I could definitely go for the first idea. When I run plain
old 'svn status', I think it's a fine idea to print fewer lines
overall. Why show the uninteresting files? A verbose option can show
everything, and give us a clear sense of exactly what's under version
control. +1 from me.

Second : I think the local revision numbers should be displayed no
matter what. Why? Because I'd like to (possibly) use them as a sort
of update-flag, as in my earlier example. Also, (and more
importantly), I think it's bad UI design to change the "look" of a
status line in different situations. The brain habituates its parsing
of a single line of output; we should reward that habituation by
keeping the line format consistent, whether we're seeing a condensed
or verbose status list.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:41 2006

This is an archived mail posted to the Subversion Dev mailing list.