"Ignore ancestry" option on reverting changes

179 views
Skip to first unread message

Kazutoshi Satoda

unread,
Jan 26, 2010, 12:25:06 PM1/26/10
to d...@tortoisesvn.tigris.org
Hi,

Since merge operation with recent versions of Subversion got very slow,
a simple reverting from Log dialog, which invokes a reverse merge,
also became painfully slow.

While searching for this issue on the web, I found that
"ignore ancestry" can be used as a workaround. As implied, it doesn't
care about svn:mergeinfo. I bet this is not a problem for reverting a
change.

Then, could you please use "ignore ancestry" on reverting changes?


Here is a comparison with the CLI and TSVN repository r18441. Both
commands are run repeatedly till the time become almost stable between
each runs.

$ svn --version -q
1.6.6-SlikSvn-tag-1.6.6@40358-WIN32

$ time svn merge --dry-run -r18439:18438 .
--- Reverse-merging r18439 into '.':
U src\Utils\MiscUI\ProgressDlg.cpp

real 0m39.862s
user 0m0.015s
sys 0m0.046s

$ time svn merge --dry-run -r18439:18438 --ignore-ancestry .
--- Reverse-merging r18439 into '.':
U src\Utils\MiscUI\ProgressDlg.cpp

real 0m9.005s
user 0m0.015s
sys 0m0.000s

--
k_satoda

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2442187

To unsubscribe from this discussion, e-mail: [dev-uns...@tortoisesvn.tigris.org].

Stefan Küng

unread,
Jan 27, 2010, 1:29:43 PM1/27/10
to d...@tortoisesvn.tigris.org
On 26.01.2010 18:25, Kazutoshi Satoda wrote:
> Hi,
>
> Since merge operation with recent versions of Subversion got very slow,
> a simple reverting from Log dialog, which invokes a reverse merge,
> also became painfully slow.
>
> While searching for this issue on the web, I found that
> "ignore ancestry" can be used as a workaround. As implied, it doesn't
> care about svn:mergeinfo. I bet this is not a problem for reverting a
> change.

Well, it is: if you revert the changes from a revision without adjusting
the mergeinfo, that revision will still be marked as merged even though
it isn't anymore.

Stefan

--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2442502

Kazutoshi Satoda

unread,
Jan 27, 2010, 2:04:31 PM1/27/10
to d...@tortoisesvn.tigris.org
Stefan Küng wrote:
>> While searching for this issue on the web, I found that
>> "ignore ancestry" can be used as a workaround. As implied, it doesn't
>> care about svn:mergeinfo. I bet this is not a problem for reverting a
>> change.
>
> Well, it is: if you revert the changes from a revision without adjusting
> the mergeinfo, that revision will still be marked as merged even though
> it isn't anymore.

Really?

My test (sorry, not with TSVN repository) shows that reverting a merge
(a revision X which recorded svn:mergeinfo) does adjust svn:mergeinfo
correctly (set it back to the state before X) with "--ignore-ancestry".
This is what I assumed.

Do you know an actual case where my assumption fails? I'll try that.

--
k_satoda

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2442507

Kazutoshi Satoda

unread,
Jan 27, 2010, 2:14:08 PM1/27/10
to d...@tortoisesvn.tigris.org
Kazutoshi Satoda wrote:
> Stefan Küng wrote:
>>> While searching for this issue on the web, I found that
>>> "ignore ancestry" can be used as a workaround. As implied, it doesn't
>>> care about svn:mergeinfo. I bet this is not a problem for reverting a
>>> change.
>>
>> Well, it is: if you revert the changes from a revision without adjusting
>> the mergeinfo, that revision will still be marked as merged even though
>> it isn't anymore.

Sorry, I found that my first wording was confusing. Let me rephrase.

Saying "it doesn't care about svn:mergeinfo", I meant that it
(--ignore-ancestry option) doesn't involve special cares (walking the
whole target searching for subtree svn:mergeinfo, mixed revisions, and
switched nodes, etc...) which causes the slowdown on normal merge.

--
k_satoda

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2442511

Stefan Küng

unread,
Jan 27, 2010, 3:29:59 PM1/27/10
to d...@tortoisesvn.tigris.org
I'll do some testing. If the mergeinfo is set correctly in my tests,
I'll change the code to use --ignore-ancestry for the undo functions in
the log dialog.

Stefan

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2442528

Reply all
Reply to author
Forward
0 new messages