Mercurial > hg > mercurial-crew-with-dirclash
comparison hgext/mq.py @ 4037:bbdba01cce28
Enforce unixish style for all generated patch names.
User supplied names are left unchanged (including those loaded from series).
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 17 Jan 2007 22:19:36 +0100 |
parents | a195f11ed1a2 |
children | 55578a8d7e84 |
comparison
equal
deleted
inserted
replaced
4036:ebf1a05f6479 | 4037:bbdba01cce28 |
---|---|
32 from mercurial.i18n import _ | 32 from mercurial.i18n import _ |
33 from mercurial import commands, cmdutil, hg, patch, revlog, util, changegroup | 33 from mercurial import commands, cmdutil, hg, patch, revlog, util, changegroup |
34 import os, sys, re, errno | 34 import os, sys, re, errno |
35 | 35 |
36 commands.norepo += " qclone qversion" | 36 commands.norepo += " qclone qversion" |
37 | |
38 # Patch names looks like unix-file names. | |
39 # They must be joinable with queue directory and result in the patch path. | |
40 normname = util.normpath | |
37 | 41 |
38 class statusentry: | 42 class statusentry: |
39 def __init__(self, rev, name=None): | 43 def __init__(self, rev, name=None): |
40 if not name: | 44 if not name: |
41 fields = rev.split(':', 1) | 45 fields = rev.split(':', 1) |
1333 raise util.Abort(_('revision %d is not the parent of %d') | 1337 raise util.Abort(_('revision %d is not the parent of %d') |
1334 % (r, lastparent)) | 1338 % (r, lastparent)) |
1335 lastparent = p1 | 1339 lastparent = p1 |
1336 | 1340 |
1337 if not patchname: | 1341 if not patchname: |
1338 patchname = '%d.diff' % r | 1342 patchname = normname('%d.diff' % r) |
1339 checkseries(patchname) | 1343 checkseries(patchname) |
1340 checkfile(patchname) | 1344 checkfile(patchname) |
1341 self.full_series.insert(0, patchname) | 1345 self.full_series.insert(0, patchname) |
1342 | 1346 |
1343 patchf = self.opener(patchname, "w") | 1347 patchf = self.opener(patchname, "w") |
1355 for filename in files: | 1359 for filename in files: |
1356 if existing: | 1360 if existing: |
1357 if filename == '-': | 1361 if filename == '-': |
1358 raise util.Abort(_('-e is incompatible with import from -')) | 1362 raise util.Abort(_('-e is incompatible with import from -')) |
1359 if not patchname: | 1363 if not patchname: |
1360 patchname = filename | 1364 patchname = normname(filename) |
1361 if not os.path.isfile(self.join(patchname)): | 1365 if not os.path.isfile(self.join(patchname)): |
1362 raise util.Abort(_("patch %s does not exist") % patchname) | 1366 raise util.Abort(_("patch %s does not exist") % patchname) |
1363 else: | 1367 else: |
1364 try: | 1368 try: |
1365 if filename == '-': | 1369 if filename == '-': |
1369 else: | 1373 else: |
1370 text = file(filename).read() | 1374 text = file(filename).read() |
1371 except IOError: | 1375 except IOError: |
1372 raise util.Abort(_("unable to read %s") % patchname) | 1376 raise util.Abort(_("unable to read %s") % patchname) |
1373 if not patchname: | 1377 if not patchname: |
1374 patchname = os.path.basename(filename) | 1378 patchname = normname(os.path.basename(filename)) |
1375 checkfile(patchname) | 1379 checkfile(patchname) |
1376 patchf = self.opener(patchname, "w") | 1380 patchf = self.opener(patchname, "w") |
1377 patchf.write(text) | 1381 patchf.write(text) |
1378 checkseries(patchname) | 1382 checkseries(patchname) |
1379 index = self.full_series_end() + i | 1383 index = self.full_series_end() + i |
1802 ui.write(_('No patches applied\n')) | 1806 ui.write(_('No patches applied\n')) |
1803 return | 1807 return |
1804 patch = q.lookup('qtip') | 1808 patch = q.lookup('qtip') |
1805 absdest = q.join(name) | 1809 absdest = q.join(name) |
1806 if os.path.isdir(absdest): | 1810 if os.path.isdir(absdest): |
1807 name = os.path.join(name, os.path.basename(patch)) | 1811 name = normname(os.path.join(name, os.path.basename(patch))) |
1808 absdest = q.join(name) | 1812 absdest = q.join(name) |
1809 if os.path.exists(absdest): | 1813 if os.path.exists(absdest): |
1810 raise util.Abort(_('%s already exists') % absdest) | 1814 raise util.Abort(_('%s already exists') % absdest) |
1811 | 1815 |
1812 if name in q.series: | 1816 if name in q.series: |