# HG changeset patch # User Patrick Mezard # Date 2010-10-28 20:04:33 # Node ID b59b5193d4d067383074b69c059cacb63b1aba55 # Parent bb7bf43b72fb6e3485588ac4c121ac3408068e8b mq: qrename should not touch the dirstate if src is untracked (issue2460) diff --git a/hgext/mq.py b/hgext/mq.py --- a/hgext/mq.py +++ b/hgext/mq.py @@ -2400,7 +2400,7 @@ def rename(ui, repo, patch, name=None, * os.makedirs(destdir) util.rename(q.join(patch), absdest) r = q.qrepo() - if r: + if r and patch in r.dirstate: wctx = r[None] wlock = r.wlock() try: diff --git a/tests/test-mq-qrename.t b/tests/test-mq-qrename.t --- a/tests/test-mq-qrename.t +++ b/tests/test-mq-qrename.t @@ -81,3 +81,16 @@ Test overlapping renames (issue2388) A patchc R patcha $ cd .. + +Test renames with mq repo (issue2097) + + $ hg init issue2097 + $ cd issue2097 + $ hg qnew p0 + $ (cd .hg/patches && hg init) + $ hg qren p0 p1 + $ hg debugstate --mq + $ hg ci --mq -mq0 + nothing changed + [1] + $ cd ..