Mercurial > hg-stable
changeset 7222:c1dc903dc7b6
convert: read git output in binary mode under Windows (issue 1359)
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Thu, 23 Oct 2008 14:05:11 +0200 |
parents | b340cb536893 |
children | 5d14b06b1cc1 d1dff8c492dd |
files | hgext/convert/git.py tests/test-convert-git tests/test-convert-git.out |
diffstat | 3 files changed, 29 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/convert/git.py Thu Oct 23 15:35:54 2008 +0200 +++ b/hgext/convert/git.py Thu Oct 23 14:05:11 2008 +0200 @@ -14,7 +14,7 @@ prevgitdir = os.environ.get('GIT_DIR') os.environ['GIT_DIR'] = self.path try: - return util.popen(s) + return util.popen(s, 'rb') finally: if prevgitdir is None: del os.environ['GIT_DIR'] @@ -22,7 +22,7 @@ os.environ['GIT_DIR'] = prevgitdir else: def gitcmd(self, s): - return util.popen('GIT_DIR=%s %s' % (self.path, s)) + return util.popen('GIT_DIR=%s %s' % (self.path, s), 'rb') def __init__(self, ui, path, rev=None): super(convert_git, self).__init__(ui, path, rev=rev)
--- a/tests/test-convert-git Thu Oct 23 15:35:54 2008 +0200 +++ b/tests/test-convert-git Thu Oct 23 14:05:11 2008 +0200 @@ -130,3 +130,20 @@ splitrepo 'only some parents of an octopus merge; "discard" a head' 'foo baz quux' +echo +echo '% test binary conversion (issue 1359)' +mkdir git-repo3 +cd git-repo3 +git init-db >/dev/null 2>/dev/null +python -c 'file("b", "wb").write("".join([chr(i) for i in range(256)])*16)' +git add b +commit -a -m addbinary +cd .. + +echo '% convert binary file' +hg convert git-repo3 git-repo3-hg + +cd git-repo3-hg +hg up -C +python -c 'print len(file("b", "rb").read())' +
--- a/tests/test-convert-git.out Thu Oct 23 15:35:54 2008 +0200 +++ b/tests/test-convert-git.out Thu Oct 23 14:05:11 2008 +0200 @@ -88,3 +88,13 @@ 354ae8da6e890359ef49ade27b68bbc361f3ca88 644 baz 9277c9cc8dd4576fc01a17939b4351e5ada93466 644 foo 88dfeab657e8cf2cef3dec67b914f49791ae76b1 644 quux + +% test binary conversion (issue 1359) +% convert binary file +initializing destination git-repo3-hg repository +scanning source... +sorting... +converting... +0 addbinary +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +4096