Vlad Georgescu wrote:
> Hi,
>
> Hyrum K. Wright wrote:
>> I've added support for peg revision syntax to svn:externals. It seemed
>> pretty straight forward, I just want to make sure that I haven't missed
>> anything. I'd appreciate any review.
>>
>> If I don't hear anything, I'll commit it in a day or two.
>>
> ...
>> + SVN_ERR(svn_opt_parse_path(&item->peg_revision, &item->url, item->url,
>> + pool));
>> + svn_opt_resolve_revisions(&item->peg_revision, &item->revision, TRUE,
>> + FALSE);
>> +
>> item->url = svn_path_canonicalize(item->url, pool);
>>
>> if (externals_p)
>> - APR_ARRAY_PUSH(*externals_p, svn_wc_external_item_t *) = item;
>> + APR_ARRAY_PUSH(*externals_p, svn_wc_external_item2_t *) = item;
>> }
>>
> ...
>> /* ... Hello, new hotness. */
>> - SVN_ERR(svn_client__checkout_internal(NULL, url, path, revision, revision,
>> + SVN_ERR(svn_client__checkout_internal(NULL, url, path, peg_revision, revision,
>> TRUE, FALSE, FALSE, timestamp_sleep,
>> ctx, pool));
>>
>
> The old code used the revision specified by -r as both a peg rev and an
> op rev, but now svn_opt_resolve_revisions will set the peg rev to HEAD
> for all existing externals definitions, which I think is a
> backward-incompatible change.
That is correct. There is precedent for doing this, though. We made
the same change when adding peg revision syntax to commands, such as
'svn copy' and 'svn log'.
-Hyrum
Received on Tue Feb 20 21:15:35 2007