You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Paul Burba <pt...@gmail.com> on 2012/11/02 22:29:42 UTC
Re: svn commit: r1198765 - in /subversion/trunk/subversion: include/
include/private/ libsvn_client/ libsvn_wc/ svn/ tests/cmdline/
On Mon, Nov 7, 2011 at 10:04 AM, <ne...@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
Re: svn commit: r1198765 - in /subversion/trunk/subversion: include/
include/private/ libsvn_client/ libsvn_wc/ svn/ tests/cmdline/
Posted by Neels J Hofmeyr <ne...@elego.de>.
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, <ne...@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
>