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

What should `svn commit' print?

From: Ben Collins-Sussman <sussman_at_newton.collab.net>
Date: 2001-01-04 06:51:30 CET

Just looking for opinions or creative ideas here. I know that this is
somewhat of a "bikeshed" question, but I'm wondering if someone on the
list has thought of better UI possibilites than Karl and I have.

When we `svn update', we get the standard CVS-like output:

M foo.c
U bar.c
G glub.c
A baz.h
C gloo.h

However, we *don't* want to imitate what CVS does when we commit. CVS
prints multiple lines for each commit, ending with a "<--- rev" or
something. It's hideous to read. Whatever SVN does, it should obey
these rules:

  * one line per item committed
  * we only care about locally changed items (M), added items (A), or
    deleted items (D). We'll never see G, U, or C. [As discussed in
    another thread, a `svn mv' will show up as a D and A.]
  * print final repository revision #, iff commit is successful.

Here are some ideas we came up with:

  1. Changing: foo.c
      Deleting: bar.c
      Adding: baz.h
      Commit succeeded, repository revision 320.

  2. M <- foo.c
      D <- bar.c
      A <- baz.h
      Commit succeeded, repository revision 320.

       [side question: maybe this means that during a checkout or
       update, we'd see the arrow going in the other direction? :) ]

Right now we're doing #2. Just wondering if anybody has any brilliant
UI epiphanies out there. My feelings are that if we remove the arrows
from #2, a commit looks way too much like an update, leading to
confusion. On the other hand, #1 seems too verbose... like we ought
to be using the already familiar single-letter codes *somehow*.

Enough for now, going to bed.
Received on Sat Oct 21 14:36:19 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.