Add diagnostics if an item is run multiple times

R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/7885032

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@101117 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_utils.py b/gclient_utils.py
index d668c53..9be529c 100644
--- a/gclient_utils.py
+++ b/gclient_utils.py
@@ -332,7 +332,6 @@
   assert print_stdout or filter_fn
   stdout = stdout or sys.stdout
   filter_fn = filter_fn or (lambda x: None)
-  assert not 'stderr' in kwargs
   kid = subprocess2.Popen(
       args, bufsize=0, stdout=subprocess2.PIPE, stderr=subprocess2.STDOUT,
       **kwargs)
@@ -588,7 +587,10 @@
         sys.stdout.full_flush()  # pylint: disable=E1101
         if self.progress:
           self.progress.update(1, t.item.name)
-        assert not t.item.name in self.ran
+        if t.item.name in self.ran:
+          raise Error(
+              'gclient is confused, "%s" is already in "%s"' % (
+                t.item.name, ', '.join(self.ran)))
         if not t.item.name in self.ran:
           self.ran.append(t.item.name)