Julian Foad wrote:
> Hi, tree conflicts fans.
> I have written a complete log message of what is on the tree-conflicts
> branch compared with trunk. This is attached and also stored in
> README.branch in the root of the branch.
> The diff is available for a while at
> Updates to the branch since last time include: resolve a bunch of
> non-essential differences such as changes that were better made on the
> trunk; catch up with recent changes from trunk; Neels' work on improving
> the tests.
> Anyone able to pick a small part of it to review, or help with, or just
> ping me about, is very welcome.
> - Julian
(bump_dir_info): Update a doc-string to allow for a directory to have tree
(entry_has_local_mods, check_tree_conflict): New functions.
(do_entry_deletion): Have the parent's admin access baton passed in by the
caller. Check for tree conflicts.
### Broken when parent_adm_access is NULL.
I've already posted a fix for this one almost two weeks ago. It wasn't being
So I'm posting an update, using today's tree-conflicts branch, compacting my
explanations. You may refer to the following mail for more (confusing) detail:
Date: Sat, 23 Aug 2008 22:43:11 +0200
From: Neels Hofmeyr <neels_at_elego.de>
Subject: Re: Tree-conflicts branch - log message / review
Two problems coincide:
1. Tree conflict detection is skipped when examining the path that was
specifically given as target. E.g. `svn update A/D/G' means that while G's
contents are checked for tree conflicts, G itself will not be checked.
2. Tree conflict detection segfaults if run in that situation given in point
This patch fixes both, plus it tweaks two "unrelated" cmdline test to ignore
a 'C' marker caused by the fix. The fix itself consists of three parts:
i) A change made in the tree-conflicts branch is reverted to trunk:
do_entry_deletion() does not need a PARENT_ADM_ACCESS parameter. It was
being used to indicate the specific case mentioned in point 1 above, so as
to be able to skip tree-conflicts detection in that case, oddly enough. Stsp
has pointed out that this change must have been committed by accident.
ii) Enable tree-conflicts detection for the case in point 1 above.
iii) Make check_tree_conflict() handle a missing directory properly, so that
it reports a reason_missing instead of segfaulting. (The diff looks a little
confusing there because of indent changes.)
Fix segfault when the update editor calls do_entry_deletion() on an explicit
target of an update.
Patch by: Neels Hofmeyr <neels_at_elego.de>
(do_entry_deletion, delete_entry, close_edit): Remove parameter
PARENT_ADM_ACCESS from do_entry_deletion(), reverting to trunk
and allowing tree-conflicts detection for update targets.
(check_tree_conflict): Properly handle a missing directory, reporting
it as `svn_wc_conflict_reason_missing'.
(update_deleted_missing_dir, another_hudson_problem): Tweak these tests
to expect and handle the tree-conflicts that inherently arise.
Neels Hofmeyr -- elego Software Solutions GmbH
Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23458696 mobile: +49 177 2345869 fax: +49 30 23458695
http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelsreg: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
Received on 2008-09-05 04:29:09 CEST