Mercurial > hg
changeset 7160:1b7b21b634f2
mq: make qimport -f work properly. Closes issue1255.
From Bernhard Leiner.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Sat, 18 Oct 2008 17:29:45 -0700 |
parents | a634e0065295 |
children | b420ef2c812b |
files | hgext/mq.py tests/test-mq-qimport tests/test-mq-qimport.out |
diffstat | 3 files changed, 33 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Sat Oct 18 16:53:44 2008 -0700 +++ b/hgext/mq.py Sat Oct 18 17:29:45 2008 -0700 @@ -1511,9 +1511,11 @@ checkfile(patchname) patchf = self.opener(patchname, "w") patchf.write(text) - checkseries(patchname) - index = self.full_series_end() + i - self.full_series[index:index] = [patchname] + if not force: + checkseries(patchname) + if patchname not in self.series: + index = self.full_series_end() + i + self.full_series[index:index] = [patchname] self.parse_series() self.ui.warn("adding %s to series file\n" % patchname) i += 1
--- a/tests/test-mq-qimport Sat Oct 18 16:53:44 2008 -0700 +++ b/tests/test-mq-qimport Sat Oct 18 17:29:45 2008 -0700 @@ -36,6 +36,22 @@ hg qimport file://$HGTMP/url.diff hg qun +echo % import patch that already exists +echo foo2 >> foo +hg add foo +hg diff > ../url.diff +hg revert --no-backup foo +rm foo +hg qimport ../url.diff +hg qpush +cat foo +hg qpop +echo % qimport -f +hg qimport -f ../url.diff +hg qpush +cat foo +hg qpop + echo % build diff with CRLF python ../writelines.py b 5 'a\n' 5 'a\r\n' hg ci -Am addb
--- a/tests/test-mq-qimport.out Sat Oct 18 16:53:44 2008 -0700 +++ b/tests/test-mq-qimport.out Sat Oct 18 17:29:45 2008 -0700 @@ -3,6 +3,18 @@ % import URL adding url.diff to series file url.diff +% import patch that already exists +abort: patch "url.diff" already exists +applying url.diff +Now at: url.diff +foo +Patch queue now empty +% qimport -f +adding url.diff to series file +applying url.diff +Now at: url.diff +foo2 +Patch queue now empty % build diff with CRLF adding b 1 files updated, 0 files merged, 0 files removed, 0 files unresolved