Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 701:80ed193efff7
On importing the result of 'hg export', parse while reading and drop headers.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On importing the result of 'hg export', parse while reading and drop headers.
manifest hash: 385cb4205bb6e4291a412d740400de44bd2e4014
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFC1otNW7P1GVgWeRoRAiSpAJ4jGhjyEnI2aqCM6pgC8KWSWRkDugCgkVMK
rd/YNziDK3TNRhI3yKNrLVw=
=w6ht
-----END PGP SIGNATURE-----
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Thu, 14 Jul 2005 16:57:01 +0100 |
parents | d01b93efecd6 |
children | 574869103985 |
comparison
equal
deleted
inserted
replaced
700:d01b93efecd6 | 701:80ed193efff7 |
---|---|
612 | 612 |
613 for patch in patches: | 613 for patch in patches: |
614 ui.status("applying %s\n" % patch) | 614 ui.status("applying %s\n" % patch) |
615 pf = os.path.join(d, patch) | 615 pf = os.path.join(d, patch) |
616 | 616 |
617 text = "" | 617 text = [] |
618 for l in file(pf): | 618 user = None |
619 if l.startswith("--- ") or l.startswith("diff -r"): | 619 hgpatch = False |
620 for line in file(pf): | |
621 line = line.rstrip() | |
622 if line.startswith("--- ") or line.startswith("diff -r"): | |
620 break | 623 break |
621 text += l | 624 elif hgpatch: |
622 | 625 # parse values when importing the result of an hg export |
623 # parse values that exist when importing the result of an hg export | 626 if line.startswith("# User "): |
624 hgpatch = user = snippet = None | 627 user = line[7:] |
625 ui.debug('text:\n') | 628 ui.debug('User: %s\n' % user) |
626 for t in text.splitlines(): | 629 elif not line.startswith("# ") and line: |
627 ui.debug(t, '\n') | 630 text.append(line) |
628 if t == '# HG changeset patch' or hgpatch: | 631 hgpatch = False |
632 elif line == '# HG changeset patch': | |
629 hgpatch = True | 633 hgpatch = True |
630 if t.startswith("# User "): | 634 else: |
631 user = t[7:] | 635 text.append(line) |
632 ui.debug('User: %s\n' % user) | |
633 if not t.startswith("# ") and t.strip() and not snippet: | |
634 snippet = t | |
635 if snippet: | |
636 text = snippet + '\n' + text | |
637 ui.debug('text:\n%s\n' % text) | |
638 | 636 |
639 # make sure text isn't empty | 637 # make sure text isn't empty |
640 if not text: | 638 if not text: |
641 text = "imported patch %s\n" % patch | 639 text = "imported patch %s\n" % patch |
640 else: | |
641 text = "%s\n" % '\n'.join(text) | |
642 ui.debug('text:\n%s\n' % text) | |
642 | 643 |
643 f = os.popen("patch -p%d < %s" % (strip, pf)) | 644 f = os.popen("patch -p%d < %s" % (strip, pf)) |
644 files = [] | 645 files = [] |
645 for l in f.read().splitlines(): | 646 for l in f.read().splitlines(): |
646 l.rstrip('\r\n'); | 647 l.rstrip('\r\n'); |