view tests/test-walk.out @ 1335:bea6356b8bca

git -> hg conversion script contrib/convert-repo changes: - do not print verbose output so that error messages are seen more easily - Output the date as integer and not as floating point number. - Do not require a ".git" subdirectory to work on, but use the GIT_DIR environment var to specify the git repository. Change is otherwise compatible to the current version and I have tested it by converting the kernel and several git respositories from kernel.org. (Btw, the udev test dir contains a /sys dir with entries which should not be normal dirs and not be normal files. ;-) Thanks again for mercurial, Florian La Roche --- a/contrib/convert-repo +++ b/contrib/convert-repo @@ -28,26 +28,18 @@ self.path = path def getheads(self): - h = file(self.path + "/.git/HEAD").read()[:-1] - return [h] + return [file(self.path + "/HEAD").read()[:-1]] def catfile(self, rev, type): if rev == "0" * 40: raise IOError() - path = os.getcwd() - os.chdir(self.path) - fh = os.popen("git-cat-file %s %s 2>/dev/null" % (type, rev)) - os.chdir(path) + fh = os.popen("GIT_DIR=%s git-cat-file %s %s 2>/dev/null" % (self.path, type, rev)) return fh.read() def getfile(self, name, rev): return self.catfile(rev, "blob") def getchanges(self, version): - path = os.getcwd() - os.chdir(self.path) - fh = os.popen("git-diff-tree --root -m -r %s" % (version)) - os.chdir(path) - + fh = os.popen("GIT_DIR=%s git-diff-tree --root -m -r %s" % (self.path, version)) changes = [] for l in fh: if "\t" not in l: continue @@ -83,9 +75,9 @@ def gettags(self): tags = {} - for f in os.listdir(self.path + "/.git/refs/tags"): + for f in os.listdir(self.path + "/refs/tags"): try: - h = file(self.path + "/.git/refs/tags/" + f).read().strip() + h = file(self.path + "/refs/tags/" + f).read().strip() tags[f] = h except: pass @@ -99,8 +91,7 @@ def getheads(self): h = self.repo.changelog.heads() - h = [ hg.hex(x) for x in h ] - return h + return [ hg.hex(x) for x in h ] def putfile(self, f, e, data): self.repo.wfile(f, "w").write(data) @@ -155,12 +146,12 @@ newlines.sort() if newlines != oldlines: - print "updating tags" + #print "updating tags" f = self.repo.wfile(".hgtags", "w") f.write("".join(newlines)) f.close() if not oldlines: self.repo.add([".hgtags"]) - date = "%s 0" % time.mktime(time.gmtime()) + date = "%s 0" % int(time.mktime(time.gmtime())) self.repo.rawcommit([".hgtags"], "update tags", "convert-repo", date, self.repo.changelog.tip(), hg.nullid) @@ -262,7 +253,7 @@ num -= 1 if c in self.map: continue desc = self.commitcache[c][3].splitlines()[0] - print num, desc + #print num, desc self.copy(c) tags = self.source.gettags() @@ -275,6 +266,8 @@ self.dest.puttags(ctags) gitpath, hgpath, mapfile = sys.argv[1:] +if os.path.isdir(gitpath + "/.git"): + gitpath += "/.git" c = convert(convert_git(gitpath), convert_mercurial(hgpath), mapfile) c.convert() _______________________________________________ Mercurial mailing list Mercurial@selenic.com http://selenic.com/mailman/listinfo/mercurial
author Florian La Roche <laroche@redhat.com>
date Fri, 23 Sep 2005 17:15:36 -0700
parents 332f225b835c
children df8416346bb7
line wrap: on
line source

adding beans/black
adding beans/borlotti
adding beans/kidney
adding beans/navy
adding beans/pinto
adding beans/turtle
adding fennel
adding fenugreek
adding fiddlehead
adding glob:glob
adding mammals/Procyonidae/cacomistle
adding mammals/Procyonidae/coatimundi
adding mammals/Procyonidae/raccoon
adding mammals/skunk
f  beans/black                     beans/black
f  beans/borlotti                  beans/borlotti
f  beans/kidney                    beans/kidney
f  beans/navy                      beans/navy
f  beans/pinto                     beans/pinto
f  beans/turtle                    beans/turtle
f  fennel                          fennel
f  fenugreek                       fenugreek
f  fiddlehead                      fiddlehead
f  glob:glob                       glob:glob
f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
f  mammals/skunk                   mammals/skunk
f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
f  mammals/skunk                   skunk
f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
f  mammals/Procyonidae/cacomistle  cacomistle
f  mammals/Procyonidae/coatimundi  coatimundi
f  mammals/Procyonidae/raccoon     raccoon
f  mammals/Procyonidae/cacomistle  cacomistle
f  mammals/Procyonidae/coatimundi  coatimundi
f  mammals/Procyonidae/raccoon     raccoon
f  mammals/skunk                   ../skunk
f  beans/black     ../beans/black
f  beans/borlotti  ../beans/borlotti
f  beans/kidney    ../beans/kidney
f  beans/navy      ../beans/navy
f  beans/pinto     ../beans/pinto
f  beans/turtle    ../beans/turtle
f  mammals/Procyonidae/cacomistle  Procyonidae/cacomistle
f  mammals/Procyonidae/coatimundi  Procyonidae/coatimundi
f  mammals/Procyonidae/raccoon     Procyonidae/raccoon
f  mammals/skunk                   skunk
f  beans/black     beans/black
f  beans/borlotti  beans/borlotti
f  beans/kidney    beans/kidney
f  beans/navy      beans/navy
f  beans/pinto     beans/pinto
f  beans/turtle    beans/turtle
f  beans/black     beans/black
f  beans/borlotti  beans/borlotti
f  mammals/skunk  mammals/skunk
f  mammals/Procyonidae/cacomistle  mammals/Procyonidae/cacomistle
f  mammals/Procyonidae/coatimundi  mammals/Procyonidae/coatimundi
f  mammals/Procyonidae/raccoon     mammals/Procyonidae/raccoon
f  mammals/skunk                   mammals/skunk
abort: .. not under root
abort: beans/../.. not under root
f  fennel      fennel
f  fenugreek   fenugreek
f  fiddlehead  fiddlehead
f  glob:glob   glob:glob
f  beans/black    beans/black
f  fenugreek      fenugreek
f  glob:glob      glob:glob
f  mammals/skunk  mammals/skunk
f  beans/black  beans/black
f  beans/black     beans/black
f  beans/borlotti  beans/borlotti
f  beans/kidney    beans/kidney
f  beans/navy      beans/navy
f  beans/pinto     beans/pinto
f  beans/turtle    beans/turtle
NOEXIST: No such file or directory
fifo: unsupported file type (type is fifo)
m  fenugreek  fenugreek  exact
m  fenugreek  fenugreek  exact
f  new  new  exact