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

RE: Mergeinfo overwritten from successive merges

From: Bert Huijben <bert_at_qqmail.nl>
Date: Fri, 14 Mar 2014 14:20:49 +0100

The base revision for out of date checks could be different per node... (E.g. Mixed revision working copies). At which revision we open the transaction shouldn't really matter if we check the revision for the individual nodes.

For content changes we supply the baseline rev for v2 via an header... And my guess would be that we forgot to do that for the proppatch.(v1 supplied base URL). Most tests in our test suite would check for out of date via the root of the commit editor... So that would explain things.

But that is 100% without looking at the code...

Bert
(cell phone)

-----Original Message-----
From: "Philip Martin" <philip.martin_at_wandisco.com>
Sent: ‎14-‎3-‎2014 12:43
To: "Bert Huijben" <bert_at_qqmail.nl>
Cc: "Branko Čibej" <brane_at_wandisco.com>; "Subversion Development" <dev_at_subversion.apache.org>
Subject: Re: Mergeinfo overwritten from successive merges

Philip Martin <philip.martin_at_wandisco.com> writes:

> Bert Huijben <bert_at_qqmail.nl> writes:
>
>> Can you see if this is related to httpv1 vs httpv2.
>>
>> I'm guessing that in v1 the checkout request would have resulted in
>> the out of date error.
>
> It doesn't happen with v1, the commit is rejected.

It seems to me that mod_dav_svn should not be solely responsible here.
The FS layer has ood conflict checks that should have rejected the
commit but they do not get triggered because mod_dav_svn creates the
transaction based on HEAD rather than on the revision in the working
copy. If I tweak the transaction creation so that it is based on the
working copy revision, rather than HEAD, then the v2 commit fails on
MERGE with an ood error.

I'm a bit surprised that we chose to have mod_dav_svn create
transactions based on HEAD rather than having the client supply the
revision from the working copy. It means we have to reimplement enough
of the ood checks to compensate and making sure we implement enough is
tricky, as demonstrated in this case.

-- 
Philip Martin | Subversion Committer
WANdisco // *Non-Stop Data*
Received on 2014-03-14 14:23:17 CET

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