On Sat, Sep 26, 2009 at 12:31, Hyrum K. Wright <hyrum_at_hyrumwright.org> wrote:
>...
> +++ trunk/subversion/libsvn_wc/update_editor.c  Sat Sep 26 09:31:53 2009     (r39625)
> @@ -1830,23 +1830,27 @@ set_copied_callback(const char *local_ab
> Â Â Â Â Â Â Â Â Â Â apr_pool_t *scratch_pool)
> Â {
> Â struct set_copied_baton_t *b = walk_baton;
> - Â const svn_wc_entry_t *entry;
> + Â svn_wc__db_status_t status;
> + Â svn_wc__db_kind_t kind;
>
> Â if (strcmp(local_abspath, b->added_subtree_root_path) == 0)
> Â Â return SVN_NO_ERROR; /* Don't touch the root */
>
> - Â SVN_ERR(svn_wc__get_entry(&entry, b->eb->db, local_abspath, FALSE,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â svn_node_unknown, FALSE,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â scratch_pool, scratch_pool));
> + Â SVN_ERR(svn_wc__db_read_info(&status, &kind, NULL, NULL, NULL,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL, NULL, NULL, NULL, NULL, NULL, NULL,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â NULL, NULL, NULL, NULL, NULL,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â b->eb->db, local_abspath,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â scratch_pool, scratch_pool));
This loses the SHOW_HIDDEN == FALSE concept. Either keep it in, or I'd
like to know why you can ignore it...
(specifically, I think this might affect depth=exclude? maybe the walk
doesn't visit parent stubs?)
>...
Of course, it would be Even Better to translate that copied=true flag
into its wc_db meaning. Without tracing thru the entry-writing code,
I'm not really sure.
Cheers,
-g
> - Â if (entry->kind == svn_node_dir)
> + Â if (kind == svn_wc__db_kind_dir)
> Â Â {
> Â Â Â /* We don't want to mark a deleted PATH as copied. Â If PATH
> Â Â Â Â Â is added without history we don't want to make it look like
> Â Â Â Â Â it has history. Â If PATH is replaced we don't want to make
> Â Â Â Â Â it look like it has history if it doesn't. Â Only if PATH is
> Â Â Â Â Â schedule normal do we need to mark it as copied. */
> - Â Â Â if (entry->schedule == svn_wc_schedule_normal)
> + Â Â Â if (status == svn_wc__db_status_normal)
> Â Â Â Â {
> Â Â Â Â Â svn_wc_entry_t tmp_entry;
>
> @@ -1867,7 +1871,7 @@ set_copied_callback(const char *local_ab
> Â Â Â it has history. Â If PATH is replaced we don't want to make
> Â Â Â it look like it has history if it doesn't. Â Only if PATH is
> Â Â Â schedule normal do we need to mark it as copied. */
> - Â if (entry->schedule == svn_wc_schedule_normal)
> + Â if (status == svn_wc__db_status_normal)
> Â Â {
> Â Â Â svn_wc_entry_t tmp_entry;
>
> @@ -1875,7 +1879,9 @@ set_copied_callback(const char *local_ab
> Â Â Â tmp_entry.copied = TRUE;
> Â Â Â SVN_ERR(svn_wc__entry_modify2(b->eb->db,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â local_abspath,
> - Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â entry->kind,
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â kind == svn_wc__db_kind_dir
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â ? svn_node_dir
> + Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â : svn_node_file,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â FALSE,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â &tmp_entry,
> Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â SVN_WC__ENTRY_MODIFY_COPIED,
>
> ------------------------------------------------------
> http://subversion.tigris.org/ds/viewMessage.do?dsForumId=495&dsMessageId=2400651
>
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2404705
Received on 2009-10-07 23:50:21 CEST