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

Re: Directory Merges and svn:ignore

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-12-05 05:12:52 CET

On Dec 4, 2004, at 9:38 PM, trlists@clayst.com wrote:

> On 4 Dec 2004 Ben Collins-Sussman wrote:
>
>> If you tell 'svn merge' to merge a whole directory, there's no way to
>> have the command pay attention to some differences and ignore others.
>> The merge command is really very simple: "compare two trees, and
>> apply
>> the resulting patch to my working copy". No filters, no fancy
>> switches, no frills.
>>
>> However, since the result of 'svn merge' is a bunch of local edits in
>> your working copy, you're free to review and undo any number of the
>> changes, before you commit.
>
> Fair enough, it's doing exactly what it's designed to do. Just not
> what I want it to do :-). It seems to me that the svn:ignore property
> for a directory might often be something one *doesn't* want merged, but
> I get that the code can't cover every case.

Really? I've never heard of one branch wanting a different svn:ignore
property than another. But heck, you can do whatever you wish...

>
> So the undo is just to do the reverse merge command on that one item?
> For a directory, can I do it by doing a reverse merge on the directory
> name, with -N to avoid also doing the files?

Gosh, no! Nothing so complicated! Just because you use 'svn merge' to
create a whole bunch of local edits, doesn't mean you have to *keep*
using that command to make more edits!

Remember, Subversion has no idea where local edits come from....
there's no record of the merge ever happening. Once the edits exist in
your working copy, Subversion has no idea if you ran 'svn merge' to
produce them, or if you just typed them all by hand.

So what I'm trying to say is: all local edits are "equal", regardless
of how they came to be. You can undo them by using 'svn revert' to
remove textual and property changes. 'svn revert' also removes
schedulings (schedule-add and schedule-delete). Of course, you can
undo edits just by editing them away: remove a text change in your
editor, or remove a propchange by running 'svn propset' or 'svn
propdel'. Whatever's easiest for you.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Sun Dec 5 05:14:56 2004

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

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