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

Re: BUG: Wrong merge range

From: phahn <pjtr.hahn_at_googlemail.com>
Date: Thu, 25 Sep 2008 08:26:58 -0700 (PDT)

On Sep 25, 3:49 pm, "Simon Large" <simon.tortoise..._at_googlemail.com>
wrote:
> The behaviour for 'merge a range of revisions is similar to the -c
> behaviour of the CLI where -c27 is interpreted as equivalent to
> -r26:27.

Exactly. And this makes perfect sense because it is called a
'changeset' and it means 'diff and apply' the changes that got me from
26 to 27.
This is consistent.

This has nothing to do with printing. Counting pages is counting of
entities.
Revisions are no entities, they are points in time which represent a
state.
What we are interested in when we want to merge are not states but
changes that occur between them and got us from A to B.

Your analogy would be right if you would like to export or maybe even
print things or such. Then you could say e.g. svn print -r5:10 foo.cpp
and would get copies of that file at state 5,6,7,8,9,10.

A better analogy to this would be paying electrical power.
When I would ask you what you paid from 2000-2008 you wouldn't give me
your meter readings from 1999-2008, would you?

To get back to the changeset example.
How would you specify -c in that system?
-r6:8 in TSVN is 5-8, -r7:8 is 6-8 -- so to get something equivalent
to -c8 you have to say -r8:8 if you want a consistent formulation.

This is nonsense because there is no change between two equal states
in time! Therefor this is no consistent formulation when we are
talking about revision ranges.

What you are talking about is a 'changeset list'. Since a changeset is
the smallest possible range of changes, a continous changeset list is
a range itself. TSVN even calls it a range, but unexpectedly does not
start at the begining of the range but one element before.
This makes no sense.

In the subversion world revisions ranges mean: give me all changes
that occur between rN:M.
In TSVN it now is: Give me the change that got me to the first
Revision of the range + all changes between that and the last.

Sorry, but I can't see what is more natural here.

Another simple expample:
Give me all changes from the creation of the repository until now! In
SVN world this is -r0:HEAD, what would that be in TSVN?

I'm really sorry if I'm to ignorant, but I think people (users) that
are familiar enought to be able to use svn should be able to
understand the "off-by-one error problem".

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_tortoisesvn.tigris.org
For additional commands, e-mail: users-help_at_tortoisesvn.tigris.org
Received on 2008-09-25 17:28:12 CEST

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