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

RE: the GHP

From: Bill Tutt <billtut_at_microsoft.com>
Date: 2001-07-11 22:04:38 CEST

From: Ben Collins-Sussman [mailto:sussman@collab.net]
> PROBLEM 2 : the incomplete directory
> ---------

> Assume my working copy has a directory, everything at revision 3:

> A/D : 3
> A/D/H : 3
> A/D/foo.c : 3

> Now, unbeknownst to me, somebody else adds a new file `bar.c' to this
> directory, creating revision 4.

> Then I add a property to A/D and commit. The RA layer replies that
> A/D was successfully committed, creating revision 5, so
> log_do_committed() bumps A/D's revision to 5 in my working copy.

> Of course, this is completely bogus. My working copy does *not* have
> revision 5 of A/D -- it has no idea that `bar.c' exists.

Here's one possible train of thought:

Cause the property commit of A/D to fail, because A/D wasn't at revision
4 (or at a semantically equivalent of revision 4).

The thinking behind this goes something like this:
* For files, we fail to allow a commit if the contents conflict.
(Requires manual merge)
* The property commit produces a version conflict because the contents
of revision 3 of A/D are materially different from revision 4.
* This conflict cannot be auto-resolved, because the user may not want
bar.c yet. (i.e. the code should not infer an auto-update on its own,
the user should be in charge of all updating actions)

It's not clear to me at the moment what the definition of materially
different should be for directories, it's been a while since my head has
been deeply thinking about how SVN rev numbers get bumped...

Just a thought,

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:33 2006

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