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

RE: svn commit: r1434913 - /subversion/trunk/subversion/libsvn_wc/wc_db.c

From: Bert Huijben <bert_at_qqmail.nl>
Date: Fri, 18 Jan 2013 20:53:24 +0100

> -----Original Message-----
> From: MARTIN PHILIP [mailto:codematters_at_ntlworld.com] On Behalf Of
> Philip Martin
> Sent: vrijdag 18 januari 2013 20:13
> To: Bert Huijben
> Cc: dev_at_subversion.apache.org
> Subject: Re: svn commit: r1434913 -
> /subversion/trunk/subversion/libsvn_wc/wc_db.c
> "Bert Huijben" <bert_at_qqmail.nl> writes:
> > This problem will never occur with a storing moved-from in BASE
> > (op-depth 0). (Moved-from is always stored in the op-root of the
> > addition, so this can never have this problem... The problem is in the
> > moved-to scheme)
> I think the two schemes are equivalent. The implementations are
> different but the data stored in either scheme can be transformed into
> the data stored in the other without any losses. (I assume the BASE
> scheme is tweaked to allow tracking moves in copies by storing in the
> lowest op-depth normal node.) Some operations may be simpler to
> implement in one scheme compared to the other, and maybe one is simpler
> overall, but I think each scheme has operations that are easier/harder
> to implement.

I agree that both schemes should be equivalent, for the cases that can be
recorded in BASE... But they have to be updated at different times, so
maintaining one format may be easier than maintaining the other. (I really
don't know which way would be easier... But I would guess that the number of
corner cases for the BASE scheme is easier to identify)

Recording things in BASE has the advantage that it will only be overwritten
by future update handling, while maintaining in WORKING has the advantage
that it is not touched by update.

The only problem I real/current problem I see with maintaining in working is
that we currently have APIs for the top of WORKING and BASE, while many
moves are stored somewhere in between.

The BASE scheme has the advantage that moved from can be uniquely identified
by just an abspath, while the WORKING scheme needs a path and an op-depth to
be guaranteed unique. (moved from is the same for both schemes)

Received on 2013-01-18 20:54:02 CET

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

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