David James wrote:
>> A peg revision is THE way to specify a particular version of a particular
>> object. The way I'd specify it is:
>>
>> svn propdel PNAME TARGET[@PEGREV]...
>>
>> Delete the property PNAME from the head revision of each TARGET.
>> If PEGREV is specified, only proceed if the line of history from
>> TARGET_at_PEGREV to TARGET_at_HEAD is unbroken and the property PNAME
>> has not been modified in that interval.
>>
>> Similarly for "propset".
>
> Great points, Julian! After reading through your argument, I completely agree.
I'm not -1 on this or anything, but the UI seems ... "off" to me. 'svn pset
/path/to/foo_at_34 pname pvalue -m "Some log message."' reads like "Change the
value of property 'pname' on revision 34 of 'foo'". That's of course
nonsensical, because you can't *change* the value of the property in that
revision -- you can only make a new revision.
Also, if you go this route, then you absolutely should allow --revision to
override the default operative revision (the peg revision) for parity with
all the other subcommands that implement the peg-revision algorithm. In
other words, we're back to --revision being the primary way to specify the
based-on-revision for this propchange, with the typical chain of default
values for that revision: it defaults to the peg revision's value, which
defaults to HEAD for URLs and BASE for working copy paths.
--
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet <> www.collab.net <> Distributed Development On Demand
Received on 2008-02-26 19:17:05 CET