On 5/23/06, Ben Collins-Sussman <sussman@red-bean.com> wrote:
> On 5/23/06, sussman@tigris.org <sussman@tigris.org> wrote:
>
> > New Revision: 19782
> >
> > Log:
> > As a first experiment, make 'svn info --changelist FOO' work.
> >
>
> So I wrote a routine to crawl a working copy and discover all paths in
> a changelist. Then I made 'svn info --changelist FOO' call the
> routine, and append the changelist members to the already-existing
> list of incoming targets. No sweat. (I imagine this is how --targets
> works as well.)
>
> There's a bit of a problem, however, with the UI.
>
> In perforce, specifying '--changelist FOO' is unambiguous; the list
> of paths is maintained by the server. In subversion, we need to crawl
> to discover the list of paths, and that means we're suddenly sensitive
> to the current working directory. Depending on CWD, '--changelist
> FOO' might get an incomplete set of results. Or even worse, what if
> you're not in a working copy at all?
>
> An easy solution is to first crawl *upwards* until the 'wc-root' dir
> is discovered, then crawl the entire working copy. This means that
> '--changelist FOO' will always give complete results, regardless of
> where you happen to be sitting in your working copy.
>
> An uglier possibility is to add another companion switch
> (--changelist-root blah/bloo) which indicates where to start the
> crawl. Ick. But it would disambiguate a command like 'svn info
> --changelist FOO /path/to/some/other/wc'. A user may not suspect that
> the --changelist switch is discovering paths in the CWD's working
> copy, rather than in /some/other/wc. It also would allow
> '--changelist FOO' to function when the CWD isn't a working copy at
> all. But ugh, maybe it's just too much.
Normally, if you don't specify a path, Subversion commands will by
default look in the current directory. E.g., if you type 'svn
status', you will get a status report on the files in the current
directory. Therefore, I would expect that 'svn status --changelist
foo' would report on files from changelist foo in the current
directory.
If I want to look for files from changelist foo in the whole wc, I'll
specify the path to the root of the WC like so:
svn status --changelist foo ~/wc/svn-trunk
Maybe this is just my bias as a Subversion developer, but that's how I
expect Subversion to work.
Cheers,
David
--
David James -- http://www.cs.toronto.edu/~james
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue May 23 19:50:36 2006