> So yeah, we have a couple of big tensions here:
>
> * streamy output vs. displaying grouped-changelists:
...
> * not breaking existing parse-scripts too much
The operation that's difficult to provide nice
output for is the one that supplies changelist
information for multiple paths that might be in
multiple changelists. The key difficulty is that
the paths and the changelists are both variable-length.
So, how would it be to decouple so that the only
operation available that lists all changelists
did *only* that? In other words, you'd get
- svn list-changelists
(lists concisely what changelists there are;
perhaps actually svn status --list-changelists
or svn changelist --list)
- svn status
(same as at present; lists all changed paths)
- svn status --changelist <name>
(restricts to changes that are part of the given
changelist; perhaps multiple --changeset args
can be given, producing multiple lists but no
more efficiently than running svn status multiple
times with one --changeset each)
That way everything can stay streamy, and you don't
have multiple variable-length fields on a line, and
all the information you'd need is available, and
you don't need to deal with funky indirected output.
The downside, of course, is that you don't get the
ability to see all changed paths with their changelist
names; how much would that matter? Not too much, I'm
inclined to think, but I'm just guessing.
Remark: It should probably be possible to attach a
(typically short) description to a changelist; the
changelist-listing command should be able to provide
those descriptions as well as just the names.
$ svn changelist issue-1234 --description "Adding the algebraic
equation-solving feature." commands.c solve.c constants.h
commands.c is is now part of changelist 'issue-1234'.
solve.c is is now part of changelist 'issue-1234'.
constants.h is is now part of changelist 'issue-1234'.
# oops
$ svn changelist issue-1234 --remove constants.h
constants.h is no longer part of changelist 'issue-1234'.
[...]
$ svn changelist --list
issue-1234
issue-4321
gb-refactor
$ svn changelist --list --verbose
issue-1234
Adding the algebraic equation-solving feature.
issue-4321
Fixing jsmith's bug where we claim that 1=0.
gb-refactor
Diddling the data structures for the Groebner
basis calculations.
$ svn status --changelist issue-1234
M commands.c
A solve.c
$ svn status --changelist issue-1234 --changelist issue-4321
* Changelist 'issue-1234':
M commands.c
A solve.c
* Changelist 'issue-4321':
M constants.h
M equality.c
--
g
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Apr 18 02:29:26 2006