[Python-apps-team] Bug#531667: mercurial-common: git commands for hg convert are incorrect
Ron Gorodetzky
ron at parktree.net
Wed Jun 3 07:10:36 UTC 2009
Package: mercurial-common
Version: 1.0.1-5.1
Severity: normal
Tags: patch
When trying to convert a git repository to a mercurial one on debian
lenny the following error occurs.
$ hg convert -s git .
assuming destination .-hg
abort: cannot find required "git" tool
This is because the convert tool assumes dashed git command names (e.g.
'git-rev-parse' instead of 'git rev-parse'). In lenny the git commands
were reorganized so that the full git-cmd names were no longer in the
default path and 'git cmd' must be used instead.
The fix seems relatively simple though.
-Ron
-- System Information:
Debian Release: 5.0.1
APT prefers stable
APT policy: (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.28.7-x200 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages mercurial-common depends on:
ii python 2.5.2-3 An interactive high-level object-o
ii python-support 0.8.4 automated rebuilding support for P
Versions of packages mercurial-common recommends:
ii mercurial 1.0.1-5.1 Scalable distributed version contr
mercurial-common suggests no packages.
-- no debconf information
-------------- next part --------------
--- a/hgext/convert/git.py
+++ b/hgext/convert/git.py
@@ -32,20 +32,20 @@
if not os.path.exists(path + "/objects"):
raise NoRepo("%s does not look like a Git repo" % path)
- checktool('git-rev-parse', 'git')
+ checktool('git', 'git')
self.path = path
def getheads(self):
if not self.rev:
- return self.gitcmd('git-rev-parse --branches').read().splitlines()
+ return self.gitcmd('git rev-parse --branches').read().splitlines()
else:
- fh = self.gitcmd("git-rev-parse --verify %s" % self.rev)
+ fh = self.gitcmd("git rev-parse --verify %s" % self.rev)
return [fh.read()[:-1]]
def catfile(self, rev, type):
if rev == "0" * 40: raise IOError()
- fh = self.gitcmd("git-cat-file %s %s" % (type, rev))
+ fh = self.gitcmd("git cat-file %s %s" % (type, rev))
return fh.read()
def getfile(self, name, rev):
@@ -56,7 +56,7 @@
def getchanges(self, version):
self.modecache = {}
- fh = self.gitcmd("git-diff-tree --root -m -r %s" % version)
+ fh = self.gitcmd("git diff-tree --root -m -r %s" % version)
changes = []
seen = {}
for l in fh:
@@ -109,7 +109,7 @@
def gettags(self):
tags = {}
- fh = self.gitcmd('git-ls-remote --tags "%s"' % self.path)
+ fh = self.gitcmd('git ls-remote --tags "%s"' % self.path)
prefix = 'refs/tags/'
for line in fh:
line = line.strip()
@@ -126,7 +126,7 @@
def getchangedfiles(self, version, i):
changes = []
if i is None:
- fh = self.gitcmd("git-diff-tree --root -m -r %s" % version)
+ fh = self.gitcmd("git diff-tree --root -m -r %s" % version)
for l in fh:
if "\t" not in l:
continue
@@ -134,7 +134,7 @@
changes.append(f)
fh.close()
else:
- fh = self.gitcmd('git-diff-tree --name-only --root -r %s "%s^%s" --'
+ fh = self.gitcmd('git diff-tree --name-only --root -r %s "%s^%s" --'
% (version, version, i+1))
changes = [f.rstrip('\n') for f in fh]
fh.close()
More information about the Python-apps-team
mailing list