# HG changeset patch # User Patrick Mezard # Date 1212769917 -7200 # Node ID 2c9565971abcf49d711f467f9f5bb6e9740e122f # Parent 602f7c1ab9541158fa20bd4a9d028edc3e56676e# Parent 05a682c8907df20962c31a8adfcd9433d39dd034 Merge with crew-stable diff -r 602f7c1ab954 -r 2c9565971abc hgext/mq.py --- a/hgext/mq.py Thu Jun 05 16:25:11 2008 +0200 +++ b/hgext/mq.py Fri Jun 06 18:31:57 2008 +0200 @@ -2038,10 +2038,14 @@ if r: wlock = r.wlock() try: - if r.dirstate[name] == 'r': - r.undelete([name]) - r.copy(patch, name) - r.remove([patch], False) + if r.dirstate[patch] == 'a': + r.dirstate.forget(patch) + r.dirstate.add(name) + else: + if r.dirstate[name] == 'r': + r.undelete([name]) + r.copy(patch, name) + r.remove([patch], False) finally: del wlock diff -r 602f7c1ab954 -r 2c9565971abc tests/test-mq-qrename --- a/tests/test-mq-qrename Thu Jun 05 16:25:11 2008 +0200 +++ b/tests/test-mq-qrename Fri Jun 06 18:31:57 2008 +0200 @@ -22,4 +22,15 @@ hg qrename bar/renamed baz hg qseries ls .hg/patches/baz +cd .. +echo % test patch being renamed before committed +hg init b +cd b +hg qinit -c +hg qnew x +hg qrename y +hg qcommit -m rename +cd .. + + diff -r 602f7c1ab954 -r 2c9565971abc tests/test-mq-qrename.out --- a/tests/test-mq-qrename.out Thu Jun 05 16:25:11 2008 +0200 +++ b/tests/test-mq-qrename.out Fri Jun 06 18:31:57 2008 +0200 @@ -5,3 +5,4 @@ renamed baz .hg/patches/baz +% test patch being renamed before committed