On Oct 5, 2007, at 11:42 AM, Steven Bakke wrote:
>
> On Oct 5, 2007, at 2:24 PM, Jack Repenning wrote:
>
>> On Oct 5, 2007, at 10:55 AM, Ben Collins-Sussman wrote:
>>
>>> Rather than creating new flags or runtime config options,
>>> wouldn't it
>>> just be simpler to prompt the user before doing an auto-upgrade? I
>>> mentioned this idea earlier in the thread.
>
>> When do you envision this prompt happening?
>>
>> a. whenever a 1.5 client is asked to do anything to a 1.4 WC
>> b. whenever a 1.5 client is asked to do any write operation to a
>> 1.4 WC
>> c. whenever a 1.5 client discovers it's just about to do one of
>> the write operations that actually change the format
>>
>> I think I prefer b. -- that is, the prompt happens at the
>> beginning of any susceptible operation, before any changes are
>> done, not half-way through the operation. "svn update
>
> I don't see much difference between a. and b. so maybe I don't
> understand what you mean.
I realize this may not be clear; the example I provided was intended
to make it clearer:
>> "svn update --depth files *" might process several files (for
>> whom "depth" is innocuous, and I believe unrecorded in .svn/
>> entries) before it meets its first directory (where the prompt
>> matters).
That is:
a. means even "svn status" or "svn info" would prompt about the mis-
match.
b. means any "svn update" would prompt about the mis-match
c. means, in the explicit example given, that the files would
actually be updated, and only when it was discovered that there were
directories also listed would the prompt come out, meaning that if
the user rejected the upgrade, the WC would be left with some updated
files and some non-updated directories
> It seems that option C. would apply any time the depth qualifier is
> used which seems fine to me. If you restrict it to B, then almost
> any operation short of status, info, or log will trigger the prompt.
I think when you say "C" you're thinking of the same thing as I meant
by "B". I think you had not considered the possibility of a
partially-performed operation, perhaps because it's so obviously a
bad thing that you excluded it reflexively. I included it because the
evidence in this thread seems to suggest that "C" is the least-effort
implementation, given where we start. That is, it's been reported
that the entries file is only updated with depth info when depth info
is actually acted upon; since it's not meaningful for file arguments,
I suppose this to mean that "svn update file --depth whatever" is
wholly equivalent to the same command without the depth, and in the
example above, would actually update the files before it noticed that
there were directories and depths and entries-file updates.
-==-
Jack Repenning
Chief Technology Officer
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
office: +1 650.228.2562
mobile: +1 408.835.8090
raindance: +1 877.326.2337, x844.7461
aim: jackrepenning
skype: jrepenning
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Oct 5 21:35:36 2007