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

Can we change 'svn status' output again?

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2002-11-04 16:28:46 CET

Hello

I'd like to be able to see which files/directories in a working copy
are switched. At present there is no easy way to determine this
information using the command line client and standard unix tools,
short of running a recursive 'svn info', parsing the output,
identifying parent-child relationships, and then comparing URLs. By
contrast it would be fairly simple for the status command to do the
URL comparison as it traverses the hierarchy.

The sort of output I was thinking of is something simple, a single 'S'
say, but it would need to be in a separate column from the initial two
status characters. Something like

$ svn st wc
M S wc/zig/foo.c
  S wc/zag
  S wc/zag/zog/bar.c

The indication would be that the item is switched relative to its
direct parent, so in the example above foo.c is switched relative to
zig, and since zig is not switched, foo.c is also switched relative to
wc. zag is also switched relative to wc, and bar.c is switched
relative to zog, and thus also relative to zag. bar.c may have been
switched back to the same branch as wc, or to some other branch, one
uses 'svn info' to determine that.

I don't care whether the switched status is part of the standard
status output, or whether there is flag to enable it.

Why do I want this? There are two reasons. The first is that if one
switches part of a working copy, makes changes to the switched part,
commits them and then forgets about the switch, then later on it can
be hard to identify that the working copy is "unusual".

The other reason is that one way of working on a branch is to switch
just the items that one modifies, and leave the rest of the working
copy on the main line. This allows the branch to be kept in
sync. with the main line without requiring lots of merges from the
main line to the branch. Merges are only necessary if the same item
is modified on the branch and the main line. (Those familiar with
ClearCase's dynamic views may reconise this method of working.) For
this to be successful one needs a simple way of ensuring that all
modifications get committed to the branch, and do not accidentally get
committed to the main line.

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Nov 4 16:29:34 2002

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.