On Fri, Mar 19, 2010 at 22:57, Yuya Nishihara <y...@tcha.org> wrote:
> # HG changeset patch
> # User Yuya Nishihara <y...@tcha.org>
> # Date 1269006952 -32400
> # Branch stable
> # Node ID d38af8bd2e69502d45302d856e85237b1c38e8db
> # Parent  d0057328f8f4631e68eae33089548ff0abe0e6f0
> thgmq: check duplicates before saving reordered series file
>
> Once series file broken, 'hgtk log' doesn't start at all.
> So it seems safer to check consistency before saving series file.
>
> diff --git a/tortoisehg/hgtk/thgmq.py b/tortoisehg/hgtk/thgmq.py
> --- a/tortoisehg/hgtk/thgmq.py
> +++ b/tortoisehg/hgtk/thgmq.py
> @@ -11,7 +11,7 @@ import gtk.keysyms
>  import gobject
>  import pango
>
> -from mercurial import error
> +from mercurial import error, util
>
>  from tortoisehg.util.i18n import _
>  from tortoisehg.util import hglib
> @@ -546,6 +546,8 @@ class MQWidget(gtk.VBox):
>         series = q.full_series[:]
>         for pos, qpos in zip(dirty, qdirty):
>             q.full_series[qpos] = series[model[pos][MQ_INDEX]]
> +        if len(set(q.full_series)) != len(q.full_series):  # found duplicates
> +            raise util.Abort(_('series become inconsistent during reorder'))

Could you use "return" instead of "raise"?

And it needs to restore an order of items in TreeView before "raise" statement.
Because items in TreeView were already reordered by line 542:

        # update TreeView
        model.reorder(neworder)

-- 
Yuki KODAMA

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to