BTW, a 'diff' syntax between two arbitrary URLs is also needed:
svn diff -r N1 URL1 -r N2 URL2
(or "svn diff URL1#N1 URL2#N2" -- I like this one!)
(this is, for instance, the only way to look at 'what diffs exist in this
branch'.
Except for merging into a wc and diff'ing back :-/ )
-az
----- Original Message -----
From: "Greg Stein" <gstein@lyra.org>
To: "Ben Collins-Sussman" <sussman@collab.net>
Cc: <dev@subversion.tigris.org>
Sent: Wednesday, April 03, 2002 23:24 PM
Subject: Re: 'svn merge' interface
> On Tue, Apr 02, 2002 at 04:08:09PM -0600, Ben Collins-Sussman wrote:
> >...
> > * USES of 'svn merge':
> >
> > - usecase #1: dry-run update:
>
> I'd suggest a different term than "dry-run" if you're going to document
this
> stuff any where. "dry-run" has connotations of "don't do anything",
meaning
> a user might not expect it to modify their local files.
>
> > svn merge wcpath -r N
> >
> > Client reports state, server drives an update through a
> > diff-editor. The diff-editor merges changes into working copy,
> > but unlike a regular update, no .svn/ data (i.e. working
> > revisions) are changed. Everything is just a local mod.
> >
> > XXX Doesn't work yet, but only for stupid reasons, not
> > theoretical.
>
> and case 1b, where wcpath is omitted, so it defaults to "."
>
> > - usecase #2: pure repository-side diff:
> >
> > svn merge <location> -r N:M
> >
> > Two versions of the same fs path are diffed on server, and
> > diff-editor applies 3-way merge to working files, resulting in
> > local mods.
> >
> > A. no wc required: svn merge URL -r N:M
> > XXX Syntax problem: to what wcpath should the merge be
> > applied??
>
> "."
>
> The semantics are "merge <this> URL from revs N to M into my wc"
>
> Conceivably, you might have a wcpath *and* a URL, where the former
specifies
> the target of the merge [and defaults to "."].
>
> > B. wcpath converted to URL: svn merge wcpath -r N:M
> > wcpath is also doubling as the place to which the merge is
> > applied.
>
> C. svn merge -r N:M
> same as (B), but with "." as the wcpath
>
> > - usecase #3: merging an arbitrary changeset:
> >
> > svn merge URL1 -r N URL2 -r M
> >
> > XXX Do we want to allow this? I say yes. Flexibility.
>
> Our code can definitely support it, so then we just need to talk about
> expressiveness.
>
> > XXX Syntax problem: how do we specify two independent revs?
>
> This is where the @rev (or was it #rev?) syntax comes in:
>
> svn merge URL1@N URL2@N
>
> > XXX Syntax problem: to what wcpath should the merge be applied?
>
> "." is the default, but there ought to be a way to specify the target
> wcpath, too.
>
> Cheers,
> -g
>
> --
> Greg Stein, http://www.lyra.org/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Apr 4 17:24:54 2002