Don't accept multiple commits for the same change in upload --replace

Gerrit won't permit more than one commit using the same change
number during a replacement request, so we should error out if
the user has asked for this in their upload edit script.

Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/subcmds/upload.py b/subcmds/upload.py
index 5e36db6..4e4bdbe 100644
--- a/subcmds/upload.py
+++ b/subcmds/upload.py
@@ -178,6 +178,7 @@
     for line in script:
       m = change_re.match(line)
       if m:
+        c = m.group(1)
         f = m.group(2)
         try:
           f = full_hashes[f]
@@ -185,7 +186,11 @@
           print 'fh = %s' % full_hashes
           print >>sys.stderr, "error: commit %s not found" % f
           sys.exit(1)
-        to_replace[m.group(1)] = f
+        if c in to_replace:
+          print >>sys.stderr,\
+            "error: change %s cannot accept multiple commits" % c
+          sys.exit(1)
+        to_replace[c] = f
 
     if not to_replace:
       print >>sys.stderr, "error: no replacements specified"