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

Re: Branch causes missing revs and errors merging

From: Ryan Schmidt <subversion-2007a_at_ryandesign.com>
Date: 2007-02-12 23:55:37 CET

On Feb 12, 2007, at 10:40, Phillip Susi wrote:

> I understand the preferred method of branching, but why does tsvn
> allow you to branch directly from your wc in one step if this is
> not supported?

"Supported" is an interesting word. It means that someone provides
support for the thing. Subversion is a free product, so your support
system is this free mailing list. We will help you use the product,
or help you understand how to use the product properly. I believe I
did that in my last email, in which I explained that the way to be
able to merge changes from a branch back to the trunk is to have a
revision in which the branch was created, and no additional changes
were made in that revision. You can of course do something different,
such as create a branch and also make additional changes, all within
the same revision. This feature exists, and may be useful in some
situations. However, I don't think it's what you want to do when
you're creating a branch that you want to be able to merge back into
the trunk, because you run into problems such as the ones you're
experiencing.

> Logically it should be the same; causing a copy to be made from the
> BASE rev in your wc instead of the HEAD rev in the repository, then
> committing your changes. In fact, this appears to be what the logs
> of the branch show happened, yet there is a hole in the revision
> history where svn can not find that the files existed, but were
> unchanged since the previous version. The history shows the file
> was copied from version x and modified in version x+y, so why
> doesn't svn infer that the file existed but was unchanged in the
> intervening versions?
>
> The problem only happens if there are versions between the BASE of
> the wc at the time of the copy and HEAD. If the wc is at HEAD when
> you copy it to a branch, everything works fine. Svn can find the
> history flowing back from the commit that created the branch.
> However if someone else has made commits between your last wc
> update and the copy to the branch, those versions in between get
> clobbered in the history of the branch. It does not seem it should
> be possible for a file to exist at point x, and at point y, but not
> to exist in between, when it was neither created nor destroyed in
> that time.

You're right, that wouldn't make sense, but I don't think that's
what's happening. I'm not exactly sure what's happening, but I don't
think that's it.

> Another way to duplicate this problem is to copy a branch from a
> version other than HEAD. For instance, if HEAD is at 7, and you
> svn copy -r 4 /repo/trunk /repo/branch, then the revisions 5, 6,
> and 7 can not be found in /repo/branch, but 4 can be.

I'm having trouble following all this, and it would be easier if you
could provide a series of svn commands, starting from creating a new
empty repository, ending with the output that you think is wrong, so
that we can try that same set of commands to see what's going on.

-- 
To reply to the mailing list, please use your mailer's Reply To All  
function
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Feb 12 23:56:04 2007

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.