Philip Martin <philip@codematters.co.uk> writes:
> export REPO=http://localhost:8888/repo
> svnadmin create repo
> svn mkdir $REPO/foo
> svn co $REPO wc1
> svn co $REPO wc2
> svn mkdir wc1/foo/bar1
> svn ci wc1
> svn mkdir wc2/foo/bar2
> svn ci wc2
> svn rm wc1/foo/bar1
> svn ci wc1
>
> This lets me to create foo/bar2 in wc2, and delete foo/bar1 from wc1,
> even though foo is out-of-date in both cases. I can add and delete
> items from an out-of-date directory, I cannot however delete the
> out-of-date directory or commit propchanges to such a directory.
Philip, you are the undisputed master of libsvn_wc. You understand
directory versioning better than I do. :-)
In your example above, I was originally thinking that the final
removal commit would fail... but I remembering the old days, when the
commit would have started by creating a txn based on rev 1 (since foo
is at rev 1 in the wc).
But you're right... these days both RA layers always build a commit
txn based on HEAD, so your example works fine. The final removal
would end up leaving a "deleted" bar1 entry within foo/.svn/entries.
> I think this behaviour is fine, it's just the status display that
> strikes me as odd.
I'm not sure I understand your status display proposal. Consider that
if I commit a single file in my wc, then *every* directory will be
displayed as out-of-date. Or do you have something else in mind?
Ah, maybe you mean whether a directory is *truly* out of date, as in,
dir_delta would actually attempt to open it during an update. Hmmm,
yeah.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Nov 14 18:30:40 2002