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

Re: [PATCH] depth test case: unversioned & modified items left untouched when folded

From: Karl Fogel <kfogel_at_red-bean.com>
Date: Mon, 21 Apr 2008 12:46:27 -0400

"Rui, Guo" <timmyguo_at_mail.ustc.edu.cn> writes:
> Hi,
>
> This will be my last test case for deselection interface of sparse-directory.
> I'll dig into update editor code, in which the functionality would most likely
> be implemented, in the next step.
>
> [[[
> Add test case to verify that folding a subtree will not destroy to content of
> unversioned & modified items.
>
> * subversion/tests/cmdline/depth_tests.py
> (fold_tree_with_unversioned_modified_items): New tests.
> (test_lists): Run it XFail
> ]]]

Committed in r30738. I used "unversioned" instead of "added" to refer
to the new file, since "added" usually means "svn add" was run; I think
that's the only tweak I made.

> If we consider the unversioned & modified items as obstructions, should we
> make the folding behavior under control of the --force option? That is to say,
> only un-version the modified items when forced, just fail the folding by
> default. If this is the preferred behavior, a --force option should be passed
> to run_and_verify_update() function.
>
> And there is one more problem: should we output 'D ' on items that is
> unversioned rather than deleted? When I first asked about folding a modified
> item some days ago, Karl figured out that it should act like 'svn delete' --
> leave the modified files in place. However, when I tried to see what does 'svn
> delete' output in this situation, I found that it either refused to continue
> or was forced to delete it. Any suggestion?

Oops. Sorry -- I was really thinking of the behavior of 'svn up', not
'svn delete'.

That is, say you run 'svn up' from the top of a Greek Tree working copy
(the usual test tree: iota, A, A/mu, A/D/..., etc). In the repository,
there's a change that removes the directory A/D/, and now you're going
to receive that change.

But in your working copy, you've modified A/D/G/pi, and created an
unversioned file at A/D/H/unversioned.txt. When the update arrives, it
will remove everything else, but it will leave the modified file and the
unversioned file, and it will (of course) leave parent directories in
place as necessary to reach those remaining items.

That is the behavior I was proposing here: we should fold up all
versioned and unmodified stuff, but leave behind anything unversioned or
modified (and therefore leave the intermediate directories necessary to
reach those items).

Does this help?

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-04-22 07:29:55 CEST

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.