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>
This commit is contained in:
Shawn O. Pearce 2008-12-12 08:01:12 -08:00
parent e92ceebde0
commit 67092448c2

View File

@ -178,6 +178,7 @@ with the code review system, or the upload will fail.
for line in script: for line in script:
m = change_re.match(line) m = change_re.match(line)
if m: if m:
c = m.group(1)
f = m.group(2) f = m.group(2)
try: try:
f = full_hashes[f] f = full_hashes[f]
@ -185,7 +186,11 @@ with the code review system, or the upload will fail.
print 'fh = %s' % full_hashes print 'fh = %s' % full_hashes
print >>sys.stderr, "error: commit %s not found" % f print >>sys.stderr, "error: commit %s not found" % f
sys.exit(1) 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: if not to_replace:
print >>sys.stderr, "error: no replacements specified" print >>sys.stderr, "error: no replacements specified"