# 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'))
         q.series_dirty = True
         q.save_dirty()
 

------------------------------------------------------------------------------
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