Mercurial > hg > crecord
changeset 81:b76969f5b9b2
Stay compatible with 00a881581400 and 17cea10c343e
changeset: 14260:00a881581400
user: Patrick Mezard <pmezard@gmail.com>
summary: patch: make patch()/internalpatch() always update the dirstate
changeset: 14370:17cea10c343e
tag: tip
user: Patrick Mezard <pmezard@gmail.com>
files: hgext/record.py mercurial/patch.py tests/test-mq-missingfiles.t
description:
patch: add a workingbackend dirstate layer on top of fsbackend
_updatedir() is no longer used by internalpatch()
The change in test-mq-missingfiles.t comes from workingbackend not considering
the missing 'b' file as changed, thus not calling addremove() on it.
author | Christian Ebert <blacktrash@gmx.net> |
---|---|
date | Wed, 18 May 2011 23:48:17 +0200 |
parents | 15cf4a0a5ab6 |
children | 39f1abc89152 |
files | crecord/crecord_core.py |
diffstat | 1 files changed, 17 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/crecord/crecord_core.py +++ b/crecord/crecord_core.py @@ -122,14 +122,26 @@ ui.debug(fp.getvalue()) pfiles = {} try: - patch.internalpatch(fp, ui, 1, repo.root, files=pfiles, - eolmode=None) - except TypeError: # backwards compatilibity with hg 1.1 - patch.internalpatch(fp, ui, 1, repo.root, files=pfiles) + patch.internalpatch(ui, repo, fp, 1, eolmode=None) + except (TypeError, AttributeError): # pre 17cea10c343e + try: + patch.internalpatch(ui, repo, fp, 1, repo.root, + eolmode=None) + except (TypeError, AttributeError): # pre 00a881581400 + try: + patch.internalpatch(fp, ui, 1, repo.root, + files=pfiles, eolmode=None) + except TypeError: # backwards compatible with hg 1.1 + patch.internalpatch(fp, ui, 1, + repo.root, files=pfiles) try: cmdutil.updatedir(ui, repo, pfiles) except AttributeError: - patch.updatedir(ui, repo, pfiles) + try: + patch.updatedir(ui, repo, pfiles) + except AttributeError: + # from 00a881581400 onwards + pass except patch.PatchError, err: s = str(err) if s: