Mercurial > hg > gitweb
comparison contrib/darcs2hg.py @ 2749:d13e4ffaa79d
[darcs2hg] Windows compatibilty patct
Originally submitted by Daiju Kito
1. single quote didn't work in several cases
2. os.unlink tries to delete tmpfile when it's called. It won't wait like unix.
author | Sébastien Pierre <sebastien@xprima.com> |
---|---|
date | Tue, 01 Aug 2006 09:51:36 -0400 |
parents | 8210cf2ec19d |
children | eb0b4a2d70a9 |
comparison
equal
deleted
inserted
replaced
2748:752b9475a700 | 2749:d13e4ffaa79d |
---|---|
90 changes = filter(lambda l:l.strip().startswith("* "), changes.split("\n")) | 90 changes = filter(lambda l:l.strip().startswith("* "), changes.split("\n")) |
91 return len(changes) | 91 return len(changes) |
92 | 92 |
93 def darcs_pull(hg_repo, darcs_repo, chash): | 93 def darcs_pull(hg_repo, darcs_repo, chash): |
94 old_tip = darcs_tip(darcs_repo) | 94 old_tip = darcs_tip(darcs_repo) |
95 res = cmd("darcs pull '%s' --all --match='hash %s'" % (darcs_repo, chash), hg_repo) | 95 res = cmd("darcs pull \"%s\" --all --match=\"hash %s\"" % (darcs_repo, chash), hg_repo) |
96 print res | 96 print res |
97 new_tip = darcs_tip(darcs_repo) | 97 new_tip = darcs_tip(darcs_repo) |
98 if not new_tip != old_tip + 1: | 98 if not new_tip != old_tip + 1: |
99 error("Darcs pull did not work as expected: " + res) | 99 error("Darcs pull did not work as expected: " + res) |
100 | 100 |
108 fd, tmpfile = tempfile.mkstemp(prefix="darcs2hg_") | 108 fd, tmpfile = tempfile.mkstemp(prefix="darcs2hg_") |
109 writefile(tmpfile, text) | 109 writefile(tmpfile, text) |
110 old_tip = hg_tip(hg_repo) | 110 old_tip = hg_tip(hg_repo) |
111 cmd("hg add -X _darcs", hg_repo) | 111 cmd("hg add -X _darcs", hg_repo) |
112 cmd("hg remove -X _darcs --after", hg_repo) | 112 cmd("hg remove -X _darcs --after", hg_repo) |
113 res = cmd("hg commit -l %s -u '%s' -d '%s 0'" % (tmpfile, author, date), hg_repo) | 113 res = cmd("hg commit -l %s -u \"%s\" -d \"%s 0\"" % (tmpfile, author, date), hg_repo) |
114 os.close(fd) | |
114 os.unlink(tmpfile) | 115 os.unlink(tmpfile) |
115 new_tip = hg_tip(hg_repo) | 116 new_tip = hg_tip(hg_repo) |
116 if not new_tip == old_tip + 1: | 117 if not new_tip == old_tip + 1: |
117 # Sometimes we may have empty commits, we simply skip them | 118 # Sometimes we may have empty commits, we simply skip them |
118 if res.strip().lower().find("nothing changed") != -1: | 119 if res.strip().lower().find("nothing changed") != -1: |
154 os.mkdir(hg_repo) | 155 os.mkdir(hg_repo) |
155 elif skip == None: | 156 elif skip == None: |
156 print "Given HG repository must not exist when no SKIP is specified." | 157 print "Given HG repository must not exist when no SKIP is specified." |
157 sys.exit(-1) | 158 sys.exit(-1) |
158 if skip == None: | 159 if skip == None: |
159 cmd("hg init '%s'" % (hg_repo)) | 160 cmd("hg init \"%s\"" % (hg_repo)) |
160 cmd("darcs initialize", hg_repo) | 161 cmd("darcs initialize", hg_repo) |
161 # Get the changes from the Darcs repository | 162 # Get the changes from the Darcs repository |
162 change_number = 0 | 163 change_number = 0 |
163 for author, date, summary, chash, description in darcs_changes(darcs_repo): | 164 for author, date, summary, chash, description in darcs_changes(darcs_repo): |
164 print "== changeset", change_number, | 165 print "== changeset", change_number, |