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

Re: improving the "svn help merge" text....

From: Hari Kodungallur <hkodungallur_at_gmail.com>
Date: Thu, 3 Apr 2008 17:18:08 -0700

On Thu, Apr 3, 2008 at 5:12 PM, Nathan Nobbe <quickshiftin_at_gmail.com> wrote:

> On Thu, Apr 3, 2008 at 5:56 PM, Mike Meyer <
> mwm-keyword-svn.257b71_at_mired.org> wrote:
>
> > Does anyone else but me find the help provided with "svn help merge"
> > to be missing a vital piece of information? Or at least that it's
> > non-obvious?
> >
> > Here's the first explanation, the others are similar:
> >
> > merge: Apply the differences between two sources to a working copy path.
> > 1. merge sourceURL1[@N] sourceURL2[@M] [WCPATH]
> >
> > 1. In the first form, the source URLs are specified at revisions
> > N and M. These are the two sources to be compared. The revisions
> > default to HEAD if omitted.
> >
> > Differences between two files have a *direction*, which isn't
> > indicated here. The set of differences that turn oldfile into newfile
> > are *different* from the set that turn newfile back into oldfile. The
> > diff man page (at least on GNU/Linux) catches this:
> >
> > SYNOPSIS
> > diff [options] from-file to-file
> >
> > Compare that to the merge command (on FreeBSD; I believe it's from the
> > GNU reimplementation of rcs) states the direction of the diff that's
> > going to generate the merges very clearly:
> >
> > merge [ options ] file1 file2 file3
> > merge incorporates all changes that lead from file2 to file3 into
> > file1.
> >
> > Perforces integrate help text is somewhat obfuscated, but the
> > direction for the diff is still clear.
> >
> > p4 integrate [ options ] fromFile[revRange] toFile
> > 'p4 integrate' stages change propagation from source files to target
> > files,
> >
> >
> > The subversion version (quoted above) doesn't state which direction
> > the differences that are going to be applied go. Yes, the numbers 1
> > and 2 give the right order, and the command line order is the same for
> > them all. However, it'd be nice if the help text made this explicit.
>
>
> i have to agree w/ you here. if im not mistaken the semantics on svn
> merge are
>
> svn merge [dest] [src]
>
> based upon experimentation (boy i hope thats right otherwise im screwed on
> a ton of merges ive done ;))
>
> in fact i was just discussing this w/ a fellow developer the other day.
> the whole direction thing and we pretty much covered exactly what you said.
> the conversation was something along the lines of
> "you know diffs have a direction to them..".
> "yes, but svn help merge doesnt indicate what the direction is...".
> "o,... LAME"
>
> by the way, i like how you went whole-hog on your case; im convinced!
>
>

I agree as well that the direction should be made explicit in the help. I
never noticed it till now :-)

Nathan, I tend to look at it this way:

svn merge [from] [to] [dest]
 - difference from [from] to [to] and merge it to the [dest] which is the
working copy

If you meant [src] and [dest] in terms of the diff direction, I think you
have it backwards. Or may be I am confused!!

regards,
-Hari
Received on 2008-04-04 02:18:33 CEST

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