On Friday 06 April 2007 13:47, Andy Levy wrote:
> On 4/5/07, Stephen Colson <firstname.lastname@example.org> wrote:
> > My understanding is that a file is only stored in the last
> > revision it was changed for. If the file has not been modified
> > since rev 2, it would not exist in revision 807 but would be
> > carried forward as unchanged since 2.
> If you ask the repository to give you file.txt from revision 807,
> it will give you whatever the contents of that file are at that
> point in time.
> If no changes have been made since revision 2, then file.txt@807
> will be identical to file.txt@2
> Each revision is stored as the difference between the current
> revision and the previous revision, but at every revision, you can
> retrieve every file that existed at that time.
> Remember that revision numbers in Subversion are really just
OK great, I'm caught up now, and I'll explain below why I thought it
might have a problem. I'm sure glad Stephen Colson understood what I
meant, at least. I was surprised that more than one response was the
big lecture like, "If you can see a log message telling you that a
file was deleted in revision 808, you MUST assume it was once
there..." [on and on]
Well yeah, I finally got a setup and tested it, so I believe you. I
needed to test in a branch where 'log' shows the skipped revs (i.e.
the file modified in r47, then deleted in r50 but no entry for r49).
I was worried about internal issues because of other things that have
been said, or I've observed.
First, of course, is the fact that Subversion is not smart enough (uh,
I mean naive enough) to assume that if I refer to a filename _after_
it's been deleted, certainly I must mean the most recent object of
that path which has been deleted. Is not that every bit as obvious as
assuming the file (deleted in r808) did exist in r807 ?
Second, let us not forget the poor guy in Subject: "Branch causes
missing revs and errors merging" [See
http://svn.haxx.se/users/archive-2007-02/0633.shtml ]. I can't
remember the details but he has a branch created from r1, but it does
not exist in r2 or 3. Only r4 and r1. How's that for obvious? Does
that confusion differ? When finding diffs on his branch, he needed to
use -r1:4 instead of -r3:4 because a diff is between two revisions.
The copy in r4 was created directly from r1, not from the expected
BTW, I chose the word "grave" in Subject not because I thought it was
a terrible error, but it seemed appropriate for files sent to the
graveyard. Just in case anyone didn't catch that ;-)
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Sat Apr 7 01:04:07 2007