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

Re: svn commit: r1198765 - in /subversion/trunk/subversion: include/ include/private/ libsvn_client/ libsvn_wc/ svn/ tests/cmdline/

From: Neels J Hofmeyr <neels_at_elego.de>
Date: Fri, 02 Nov 2012 23:41:17 +0100

Hi Paul!

The memory slowly comes back from the distance...

I've just tweaked the issue summary, marked the test with the issue number
#4252 and added a comment to the issue.

AFAICT the only wrong is that currently --depth=immediates leaves out the
property changes on external dirs. I humbly assume that that's not really
pressing. The fix should be easy, but a bit cumbersome.

So: no, I'm not planning to follow up unless there's a nudge from someone
who is really annoyed by this.

Thanks for clarifying!
~Neels

On 2012-11-02 22:29, Paul Burba wrote:
> On Mon, Nov 7, 2011 at 10:04 AM, <neels_at_apache.org> wrote:
>> Author: neels
>> Date: Mon Nov 7 15:03:59 2011
>> New Revision: 1198765
>>
>> URL: http://svn.apache.org/viewvc?rev=1198765&view=rev
>> Log:
>> Introduce the commit argument --include-externals.
>>
>> Most prominent changes:
>> - File externals are no longer committed by default.
>> - When option --include-externals is passed to 'svn commit', *all* externals
>> reached by recursion are included in the commit (dir & file alike).
>> - Dir externals nested "behind" unversioned dirs or "foreign" WCs are
>> now reached by recursion.
>>
>> Previous default was to include all file externals, not dirs. On the API
>> level, separate dir/file arguments allow for this previous behavior, mainly
>> for keeping svn_client_commit5()'s behavior unchanged.
>>
>> See also http://svn.haxx.se/dev/archive-2011-08/0620.shtml
>>
>> ### The commit API can't handle file externals inside unversioned dirs
>> properly yet. Additional SQL currently deliberately excludes them (see
>> STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW).
>>
>> * subversion/include/private/svn_wc_private.h
>> (svn_wc__committable_external_info_t): New struct for:
>> (svn_wc__committable_externals_below): New function.
>>
>> * subversion/include/svn_client.h,
>> (svn_client_commit6):
>> New function, adding INCLUDE_FILE_EXTERNALS and INCLUDE_DIR_EXTERNALS
>> arguments over svn_client_commit5().
>>
>> * subversion/libsvn_client/commit.c
>> (append_externals_as_explicit_targets): New static function.
>> (svn_client_commit6): New function, see svn_client.h ^.
>> (svn_client_commit5):
>> Call svn_client_commit6() with INCLUDE_FILE_EXTERNALS = TRUE and
>> INCLUDE_DIR_EXTERNALS = FALSE.
>>
>> * subversion/libsvn_client/commit_util.c
>> (harvest_committables):
>> New argument IS_EXPLICIT_TARGET; pass as FALSE upon recursion. Skip file
>> externals that are not explicit targets, so this function now skips all
>> externals during recursion (see docstring).
>> (svn_client__harvest_committables):
>> Pass IS_EXPLICIT_TARGET as TRUE: initial harvest_committables() call.
>> (harvest_copy_committables):
>> Pass IS_EXPLICIT_TARGET as TRUE, but has no effect since, inside
>> harvest_committables(), COPY_MODE will be TRUE and all file externals will
>> be excluded anyway.
>>
>> * subversion/libsvn_wc/externals.c
>> (is_external_rolled_out): New static function.
>> (svn_wc__committable_externals_below): New function, see svn_wc_private.h ^.
>>
>> * subversion/libsvn_wc/wc_db.h,
>> * subversion/libsvn_wc/wc_db.c
>> (svn_wc__db_committable_externals_below):
>> New function for STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW.
>>
>> * subversion/libsvn_wc/wc-queries.sql
>> (STMT_SELECT_COMMITTABLE_EXTERNALS_BELOW): New SQL.
>>
>> * subversion/svn/cl.h
>> (svn_cl__opt_state_t): Add INCLUDE_EXTERNALS for --include-externals.
>>
>> * subversion/svn/commit-cmd.c
>> (svn_cl__commit): Call svn_client_commit6() instead of &5().
>>
>> * subversion/svn/main.c
>> (svn_cl__longopt_t, svn_cl__options, svn_cl__cmd_table, main):
>> Add OPT_INCLUDE_EXTERNALS, enable --include-externals for 'commit'.
>>
>> * subversion/tests/cmdline/externals_tests.py
>> (include_externals): New test, PASS.
>> (include_immediate_dir_externals): New test, XFAIL.
>
> Hi Neels,
>
> I'm churning through all our XFailing tests to determine what are true
> 1.8 blockers. This test had no associated issue, so I created issue
> #4252 to track it. I set the target milestone to 1.8-consider since
> 1.7 didn't work either. Does that sound reasonable? Also, did you
> have any plans to follow-up on this?
>
> --
> Paul T. Burba
> CollabNet, Inc. -- www.collab.net -- Enterprise Cloud Development
> Skype: ptburba
>

Received on 2012-11-02 23:41:55 CET

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.