Merge lp:~andersk/bzr-fastimport/git-darcs into lp:bzr-fastimport
- git-darcs
- Merge into trunk
Proposed by
Anders Kaseorg
Status: | Merged |
---|---|
Approved by: | Jelmer Vernooij |
Approved revision: | 282 |
Merged at revision: | 283 |
Proposed branch: | lp:~andersk/bzr-fastimport/git-darcs |
Merge into: | lp:bzr-fastimport |
Diff against target: |
284 lines (+46/-55) 2 files modified
exporters/darcs/darcs-fast-export (+10/-19) exporters/darcs/git-darcs (+36/-36) |
To merge this branch: | bzr merge lp:~andersk/bzr-fastimport/git-darcs |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Miklos Vajna | code | Pending | |
Ian Clatworthy | Pending | ||
Review via email: mp+22279@code.launchpad.net |
Commit message
Description of the change
Some fixes for git-darcs, including Daniel Herring’s patch from bug 538933.
To post a comment you must log in.
Revision history for this message
Jelmer Vernooij (jelmer) wrote : | # |
Revision history for this message
Miklos Vajna (vmiklos) wrote : | # |
On Sat, Oct 09, 2010 at 01:31:38PM -0000, Jelmer Vernooij <email address hidden> wrote:
> Miklos, you are a lot more familiar with the darcs exporter code. Any
> chance you can do a review of that code?
Sure, I'll try to review it in the near future. :)
Revision history for this message
Miklos Vajna (vmiklos) wrote : | # |
On Wed, Oct 13, 2010 at 01:49:57AM +0200, Miklos Vajna <email address hidden> wrote:
> Sure, I'll try to review it in the near future. :)
Sorry for being slow, looks good.
Jelmer, please merge it.
Thanks.
Revision history for this message
Jelmer Vernooij (jelmer) wrote : | # |
Thanks for the review.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'exporters/darcs/darcs-fast-export' | |||
2 | --- exporters/darcs/darcs-fast-export 2010-03-17 00:14:48 +0000 | |||
3 | +++ exporters/darcs/darcs-fast-export 2010-03-27 04:57:19 +0000 | |||
4 | @@ -29,6 +29,7 @@ | |||
5 | 29 | import sys | 29 | import sys |
6 | 30 | import gzip | 30 | import gzip |
7 | 31 | import time | 31 | import time |
8 | 32 | import calendar | ||
9 | 32 | import shutil | 33 | import shutil |
10 | 33 | import subprocess | 34 | import subprocess |
11 | 34 | import optparse | 35 | import optparse |
12 | @@ -82,22 +83,12 @@ | |||
13 | 82 | author = author[author.index('>')+2:] + ' ' + author[:author.index('>')+1] | 83 | author = author[author.index('>')+2:] + ' ' + author[:author.index('>')+1] |
14 | 83 | return author.encode('utf-8') | 84 | return author.encode('utf-8') |
15 | 84 | 85 | ||
32 | 85 | def get_time_info(self, patch): | 86 | def get_date(self, patch): |
33 | 86 | date = time.strptime(patch, "%a %b %d %H:%M:%S %Z %Y") | 87 | try: |
34 | 87 | timestamp = int(time.mktime(date)) | 88 | date = time.strptime(patch, "%Y%m%d%H%M%S") |
35 | 88 | # calculate the timezone offset | 89 | except ValueError: |
36 | 89 | fields=re.split('[ ]+', patch) | 90 | date = time.strptime(patch[:19] + patch[-5:], '%a %b %d %H:%M:%S %Y') |
37 | 90 | fields[4]="UTC" | 91 | return calendar.timegm(date) |
22 | 91 | patch_utc=" ".join(fields) | ||
23 | 92 | date_utc=time.strptime(patch_utc, "%a %b %d %H:%M:%S %Z %Y") | ||
24 | 93 | offset=int(time.timezone + time.mktime(date) - time.mktime(date_utc)) | ||
25 | 94 | hours, minutes = divmod(abs(offset), 3600) | ||
26 | 95 | if offset > 0: | ||
27 | 96 | sign = "-" | ||
28 | 97 | else: | ||
29 | 98 | sign = "+" | ||
30 | 99 | zone = "%s%02d%02d" % (sign, hours, minutes // 60) | ||
31 | 100 | return timestamp, zone | ||
38 | 101 | 92 | ||
39 | 102 | def progress(self, s): | 93 | def progress(self, s): |
40 | 103 | print "progress [%s] %s" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), s) | 94 | print "progress [%s] %s" % (time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), s) |
41 | @@ -329,8 +320,8 @@ | |||
42 | 329 | print "mark :%s" % markcount | 320 | print "mark :%s" % markcount |
43 | 330 | if self.options.export_marks: | 321 | if self.options.export_marks: |
44 | 331 | self.export_marks.append(":%s %s" % (markcount, hash)) | 322 | self.export_marks.append(":%s %s" % (markcount, hash)) |
47 | 332 | date, zone = self.get_time_info(i.attributes['local_date'].value) | 323 | date = self.get_date(i.attributes['date'].value) |
48 | 333 | print "committer %s %s %s" % (self.get_author(i), date, zone) | 324 | print "committer %s %s +0000" % (self.get_author(i), date) |
49 | 334 | print "data %d\n%s" % (len(message), message) | 325 | print "data %d\n%s" % (len(message), message) |
50 | 335 | if markcount > 1: | 326 | if markcount > 1: |
51 | 336 | print "from :%s" % (markcount-1) | 327 | print "from :%s" % (markcount-1) |
52 | @@ -354,7 +345,7 @@ | |||
53 | 354 | tag = re.sub('[^\xe9-\xf8\w.\-]+', '_', message[4:].strip().split('\n')[0]).strip('_') | 345 | tag = re.sub('[^\xe9-\xf8\w.\-]+', '_', message[4:].strip().split('\n')[0]).strip('_') |
54 | 355 | print "tag %s" % tag | 346 | print "tag %s" % tag |
55 | 356 | print "from :%s" % markcount | 347 | print "from :%s" % markcount |
57 | 357 | print "tagger %s %s %s" % (self.get_author(i), date, zone) | 348 | print "tagger %s %s +0000" % (self.get_author(i), date) |
58 | 358 | print "data %d\n%s" % (len(message), message) | 349 | print "data %d\n%s" % (len(message), message) |
59 | 359 | if count % self.prognum == 0: | 350 | if count % self.prognum == 0: |
60 | 360 | self.progress("%d/%d patches" % (count, patchnum)) | 351 | self.progress("%d/%d patches" % (count, patchnum)) |
61 | 361 | 352 | ||
62 | === modified file 'exporters/darcs/git-darcs' | |||
63 | --- exporters/darcs/git-darcs 2010-03-17 00:09:30 +0000 | |||
64 | +++ exporters/darcs/git-darcs 2010-03-27 04:57:19 +0000 | |||
65 | @@ -32,20 +32,20 @@ | |||
66 | 32 | shift | 32 | shift |
67 | 33 | if ! [ -n "$name" -a -n "$location" ]; then | 33 | if ! [ -n "$name" -a -n "$location" ]; then |
68 | 34 | echo "Usage: git darcs add name location [darcs-fast-export options]" | 34 | echo "Usage: git darcs add name location [darcs-fast-export options]" |
70 | 35 | exit | 35 | return 1 |
71 | 36 | fi | 36 | fi |
72 | 37 | if git remote show |grep -q $name; then | 37 | if git remote show |grep -q $name; then |
73 | 38 | echo "There is already a remote with that name" | 38 | echo "There is already a remote with that name" |
75 | 39 | exit | 39 | return 1 |
76 | 40 | fi | 40 | fi |
77 | 41 | if [ -n "$(git config git-darcs.$name.location)" ]; then | 41 | if [ -n "$(git config git-darcs.$name.location)" ]; then |
78 | 42 | echo "There is already a darcs repo with that name" | 42 | echo "There is already a darcs repo with that name" |
80 | 43 | exit | 43 | return 1 |
81 | 44 | fi | 44 | fi |
82 | 45 | repo=$location/_darcs | 45 | repo=$location/_darcs |
83 | 46 | if [ ! -d $repo ] && ! wget --quiet --spider $repo; then | 46 | if [ ! -d $repo ] && ! wget --quiet --spider $repo; then |
84 | 47 | echo "Remote is not a darcs repository" | 47 | echo "Remote is not a darcs repository" |
86 | 48 | exit | 48 | return 1 |
87 | 49 | fi | 49 | fi |
88 | 50 | git config git-darcs.$name.location $location | 50 | git config git-darcs.$name.location $location |
89 | 51 | echo "Darcs repo $name added. You can fetch it with 'git darcs fetch $name'" | 51 | echo "Darcs repo $name added. You can fetch it with 'git darcs fetch $name'" |
90 | @@ -60,7 +60,7 @@ | |||
91 | 60 | l=$(git config git-darcs.$remote.location) | 60 | l=$(git config git-darcs.$remote.location) |
92 | 61 | if [ -z "$l" ]; then | 61 | if [ -z "$l" ]; then |
93 | 62 | echo "Cannot find darcs remote with name '$remote'." >&2 | 62 | echo "Cannot find darcs remote with name '$remote'." >&2 |
95 | 63 | exit | 63 | return 1 |
96 | 64 | fi | 64 | fi |
97 | 65 | echo $l | 65 | echo $l |
98 | 66 | } | 66 | } |
99 | @@ -71,12 +71,12 @@ | |||
100 | 71 | shift | 71 | shift |
101 | 72 | if ! [ -n "$remote" -a -z "$*" ]; then | 72 | if ! [ -n "$remote" -a -z "$*" ]; then |
102 | 73 | echo "Usage: git darcs fetch reponame" | 73 | echo "Usage: git darcs fetch reponame" |
104 | 74 | exit | 74 | return 1 |
105 | 75 | fi | 75 | fi |
107 | 76 | location=$(get_location $remote) | 76 | location=$(get_location $remote) || return $? |
108 | 77 | git_map=$git_dir/darcs-git/$remote-git-map | 77 | git_map=$git_dir/darcs-git/$remote-git-map |
109 | 78 | darcs_map=$git_dir/darcs-git/$remote-darcs-map | 78 | darcs_map=$git_dir/darcs-git/$remote-darcs-map |
111 | 79 | common_opts="--working $git_dir/darcs-git/repo --logfile $git_dir/darcs-git/fetch.log --git-branch=darcs/$remote" | 79 | common_opts="--working $git_dir/darcs-git/repo --logfile $git_dir/darcs-git/fetch.log --git-branch=refs/remotes/darcs/$remote" |
112 | 80 | dfe_opts=$(git config git-darcs.$remote.darcs-fast-export-options) | 80 | dfe_opts=$(git config git-darcs.$remote.darcs-fast-export-options) |
113 | 81 | pre_fetch="$(git config git-darcs.$remote.pre-fetch)" | 81 | pre_fetch="$(git config git-darcs.$remote.pre-fetch)" |
114 | 82 | if [ -n "$pre_fetch" ]; then | 82 | if [ -n "$pre_fetch" ]; then |
115 | @@ -90,20 +90,20 @@ | |||
116 | 90 | git fast-import --export-marks=$git_map | 90 | git fast-import --export-marks=$git_map |
117 | 91 | elif [ -f $git_map -a -f $darcs_map ]; then | 91 | elif [ -f $git_map -a -f $darcs_map ]; then |
118 | 92 | echo "Updating remote $remote" | 92 | echo "Updating remote $remote" |
120 | 93 | old_rev=$(git rev-parse darcs/$remote) | 93 | old_rev=$(git rev-parse refs/remotes/darcs/$remote) |
121 | 94 | darcs-fast-export --import-marks=$darcs_map --export-marks=$darcs_map $common_opts $dfe_opts $location | \ | 94 | darcs-fast-export --import-marks=$darcs_map --export-marks=$darcs_map $common_opts $dfe_opts $location | \ |
122 | 95 | git fast-import --quiet --import-marks=$git_map --export-marks=$git_map | 95 | git fast-import --quiet --import-marks=$git_map --export-marks=$git_map |
124 | 96 | new_rev=$(git rev-parse darcs/$remote) | 96 | new_rev=$(git rev-parse refs/remotes/darcs/$remote) |
125 | 97 | if [ "$old_rev" != "$new_rev" ]; then | 97 | if [ "$old_rev" != "$new_rev" ]; then |
126 | 98 | echo "Fetched the following updates:" | 98 | echo "Fetched the following updates:" |
127 | 99 | git shortlog $old_rev..$new_rev | 99 | git shortlog $old_rev..$new_rev |
128 | 100 | else | 100 | else |
129 | 101 | echo "Nothing fetched." | 101 | echo "Nothing fetched." |
131 | 102 | exit | 102 | return 0 |
132 | 103 | fi | 103 | fi |
133 | 104 | else | 104 | else |
134 | 105 | echo "One of the mapfiles is missing! Something went wrong!" | 105 | echo "One of the mapfiles is missing! Something went wrong!" |
136 | 106 | exit | 106 | return 1 |
137 | 107 | fi | 107 | fi |
138 | 108 | post_fetch="$(git config git-darcs.$remote.post-fetch)" | 108 | post_fetch="$(git config git-darcs.$remote.post-fetch)" |
139 | 109 | if [ -n "$post_fetch" ]; then | 109 | if [ -n "$post_fetch" ]; then |
140 | @@ -117,15 +117,15 @@ | |||
141 | 117 | shift | 117 | shift |
142 | 118 | if ! [ -n "$remote" -a -z "$*" ]; then | 118 | if ! [ -n "$remote" -a -z "$*" ]; then |
143 | 119 | echo "Usage: git darcs pull reponame" | 119 | echo "Usage: git darcs pull reponame" |
145 | 120 | exit | 120 | return 1 |
146 | 121 | fi | 121 | fi |
148 | 122 | fetch $remote | 122 | fetch $remote || return $? |
149 | 123 | # see if we need to merge or rebase | 123 | # see if we need to merge or rebase |
150 | 124 | branch=$(git symbolic-ref HEAD|sed 's|.*/||') | 124 | branch=$(git symbolic-ref HEAD|sed 's|.*/||') |
151 | 125 | if [ "$(git config branch.$branch.rebase)" = "true" ]; then | 125 | if [ "$(git config branch.$branch.rebase)" = "true" ]; then |
153 | 126 | git rebase darcs/$remote | 126 | git rebase refs/remotes/darcs/$remote |
154 | 127 | else | 127 | else |
156 | 128 | git merge darcs/$remote | 128 | git merge refs/remotes/darcs/$remote |
157 | 129 | fi | 129 | fi |
158 | 130 | } | 130 | } |
159 | 131 | 131 | ||
160 | @@ -135,34 +135,34 @@ | |||
161 | 135 | shift | 135 | shift |
162 | 136 | if ! [ -n "$remote" -a -z "$*" ]; then | 136 | if ! [ -n "$remote" -a -z "$*" ]; then |
163 | 137 | echo "Usage: git darcs push reponame" | 137 | echo "Usage: git darcs push reponame" |
165 | 138 | exit | 138 | return 1 |
166 | 139 | fi | 139 | fi |
169 | 140 | location=$(get_location $remote) | 140 | location=$(get_location $remote) || return $? |
170 | 141 | if [ -n "$(git rev-list --left-right HEAD...darcs/$remote | sed -n '/^>/ p')" ]; then | 141 | if [ -n "$(git rev-list --left-right HEAD...refs/remotes/darcs/$remote | sed -n '/^>/ p')" ]; then |
171 | 142 | echo "HEAD is not a strict child of $remote, cannot push. Merge first" | 142 | echo "HEAD is not a strict child of $remote, cannot push. Merge first" |
173 | 143 | exit | 143 | return 1 |
174 | 144 | fi | 144 | fi |
176 | 145 | if [ -z "$(git rev-list --left-right HEAD...darcs/$remote | sed -n '/^</ p')" ]; then | 145 | if [ -z "$(git rev-list --left-right HEAD...refs/remotes/darcs/$remote | sed -n '/^</ p')" ]; then |
177 | 146 | echo "Nothing to push. Commit something first" | 146 | echo "Nothing to push. Commit something first" |
179 | 147 | exit | 147 | return 1 |
180 | 148 | fi | 148 | fi |
181 | 149 | git_map=$git_dir/darcs-git/$remote-git-map | 149 | git_map=$git_dir/darcs-git/$remote-git-map |
182 | 150 | darcs_map=$git_dir/darcs-git/$remote-darcs-map | 150 | darcs_map=$git_dir/darcs-git/$remote-darcs-map |
183 | 151 | if [ ! -f $git_map -o ! -f $darcs_map ]; then | 151 | if [ ! -f $git_map -o ! -f $darcs_map ]; then |
184 | 152 | echo "We do not have refmapping yet. Then how can I push?" | 152 | echo "We do not have refmapping yet. Then how can I push?" |
186 | 153 | exit | 153 | return 1 |
187 | 154 | fi | 154 | fi |
188 | 155 | pre_push="$(git config git-darcs.$remote.pre-push)" | 155 | pre_push="$(git config git-darcs.$remote.pre-push)" |
189 | 156 | if [ -n "$pre_push" ]; then | 156 | if [ -n "$pre_push" ]; then |
190 | 157 | $pre_push | 157 | $pre_push |
191 | 158 | fi | 158 | fi |
192 | 159 | echo "Pushing the following updates:" | 159 | echo "Pushing the following updates:" |
194 | 160 | git shortlog darcs/$remote.. | 160 | git shortlog refs/remotes/darcs/$remote.. |
195 | 161 | git fast-export --import-marks=$git_map --export-marks=$git_map HEAD | \ | 161 | git fast-export --import-marks=$git_map --export-marks=$git_map HEAD | \ |
196 | 162 | (cd $location; darcs-fast-import --import-marks=$darcs_map --export-marks=$darcs_map \ | 162 | (cd $location; darcs-fast-import --import-marks=$darcs_map --export-marks=$darcs_map \ |
197 | 163 | --logfile $git_dir/darcs-git/push.log) | 163 | --logfile $git_dir/darcs-git/push.log) |
198 | 164 | if [ $? == 0 ]; then | 164 | if [ $? == 0 ]; then |
200 | 165 | git update-ref darcs/$remote HEAD | 165 | git update-ref refs/remotes/darcs/$remote HEAD |
201 | 166 | post_push="$(git config git-darcs.$remote.post-push)" | 166 | post_push="$(git config git-darcs.$remote.post-push)" |
202 | 167 | if [ -n "$post_push" ]; then | 167 | if [ -n "$post_push" ]; then |
203 | 168 | $post_push | 168 | $post_push |
204 | @@ -176,18 +176,18 @@ | |||
205 | 176 | if [ -z "$*" ] | 176 | if [ -z "$*" ] |
206 | 177 | then | 177 | then |
207 | 178 | git config -l | sed -n -e '/git-darcs\..*/ {s/git-darcs\.//; s/\.location=.*//p}' | 178 | git config -l | sed -n -e '/git-darcs\..*/ {s/git-darcs\.//; s/\.location=.*//p}' |
209 | 179 | exit | 179 | return 0 |
210 | 180 | elif [ "$#" -eq 1 ] | 180 | elif [ "$#" -eq 1 ] |
211 | 181 | then | 181 | then |
212 | 182 | case $1 in | 182 | case $1 in |
213 | 183 | -v|--verbose) | 183 | -v|--verbose) |
214 | 184 | git config -l | sed -n -e '/git-darcs\..*/ {s/git-darcs\.//; s/\.location=/\t/p}' | 184 | git config -l | sed -n -e '/git-darcs\..*/ {s/git-darcs\.//; s/\.location=/\t/p}' |
216 | 185 | exit | 185 | return 0 |
217 | 186 | ;; | 186 | ;; |
218 | 187 | esac | 187 | esac |
219 | 188 | fi | 188 | fi |
220 | 189 | echo "Usage: git darcs list [-v|--verbose]" | 189 | echo "Usage: git darcs list [-v|--verbose]" |
222 | 190 | exit 1 | 190 | return 1 |
223 | 191 | } | 191 | } |
224 | 192 | 192 | ||
225 | 193 | # Find the darcs commit(s) supporting a git SHA1 prefix | 193 | # Find the darcs commit(s) supporting a git SHA1 prefix |
226 | @@ -198,9 +198,9 @@ | |||
227 | 198 | if [ -z "$sha1" -o -n "$*" ] | 198 | if [ -z "$sha1" -o -n "$*" ] |
228 | 199 | then | 199 | then |
229 | 200 | echo "Usage: git darcs find-darcs <sha1-prefix>" | 200 | echo "Usage: git darcs find-darcs <sha1-prefix>" |
231 | 201 | exit 1 | 201 | return 1 |
232 | 202 | fi | 202 | fi |
234 | 203 | for remote in $git_dir/darcs/* | 203 | for remote in $(git for-each-ref --format='%(refname)' refs/remotes/darcs) |
235 | 204 | do | 204 | do |
236 | 205 | remote=`basename $remote` | 205 | remote=`basename $remote` |
237 | 206 | git_map=$git_dir/darcs-git/$remote-git-map | 206 | git_map=$git_dir/darcs-git/$remote-git-map |
238 | @@ -208,7 +208,7 @@ | |||
239 | 208 | if [ ! -f $git_map -o ! -f $darcs_map ] | 208 | if [ ! -f $git_map -o ! -f $darcs_map ] |
240 | 209 | then | 209 | then |
241 | 210 | echo "Missing mappings for remote $remote" | 210 | echo "Missing mappings for remote $remote" |
243 | 211 | exit 1 | 211 | return 1 |
244 | 212 | fi | 212 | fi |
245 | 213 | for row in `sed -n -e "/:.* $sha1.*/ s/[^ ]*/&/p" $git_map` | 213 | for row in `sed -n -e "/:.* $sha1.*/ s/[^ ]*/&/p" $git_map` |
246 | 214 | do | 214 | do |
247 | @@ -225,9 +225,9 @@ | |||
248 | 225 | if [ -z "$patch" -o -n "$*" ] | 225 | if [ -z "$patch" -o -n "$*" ] |
249 | 226 | then | 226 | then |
250 | 227 | echo "Usage: git darcs find-git <patch-prefix>" | 227 | echo "Usage: git darcs find-git <patch-prefix>" |
252 | 228 | exit 1 | 228 | return 1 |
253 | 229 | fi | 229 | fi |
255 | 230 | for remote in $git_dir/darcs/* | 230 | for remote in $(git for-each-ref --format='%(refname)' refs/remotes/darcs) |
256 | 231 | do | 231 | do |
257 | 232 | remote=`basename $remote` | 232 | remote=`basename $remote` |
258 | 233 | git_map=$git_dir/darcs-git/$remote-git-map | 233 | git_map=$git_dir/darcs-git/$remote-git-map |
259 | @@ -235,7 +235,7 @@ | |||
260 | 235 | if [ ! -f $git_map -o ! -f $darcs_map ] | 235 | if [ ! -f $git_map -o ! -f $darcs_map ] |
261 | 236 | then | 236 | then |
262 | 237 | echo "Missing mappings for remote $remote" | 237 | echo "Missing mappings for remote $remote" |
264 | 238 | exit 1 | 238 | return 1 |
265 | 239 | fi | 239 | fi |
266 | 240 | for row in `sed -n -e "/:.* $patch.*/ s/[^ ]*/&/p" $darcs_map` | 240 | for row in `sed -n -e "/:.* $patch.*/ s/[^ ]*/&/p" $darcs_map` |
267 | 241 | do | 241 | do |
268 | @@ -247,7 +247,7 @@ | |||
269 | 247 | git rev-parse 2> /dev/null | 247 | git rev-parse 2> /dev/null |
270 | 248 | if [ $? != 0 ]; then | 248 | if [ $? != 0 ]; then |
271 | 249 | echo "Must be inside a git repository to work" | 249 | echo "Must be inside a git repository to work" |
273 | 250 | exit | 250 | exit 1 |
274 | 251 | fi | 251 | fi |
275 | 252 | 252 | ||
276 | 253 | git_dir=$(git rev-parse --git-dir) | 253 | git_dir=$(git rev-parse --git-dir) |
277 | @@ -270,7 +270,7 @@ | |||
278 | 270 | *) | 270 | *) |
279 | 271 | echo "Usage: git darcs [COMMAND] [OPTIONS]" | 271 | echo "Usage: git darcs [COMMAND] [OPTIONS]" |
280 | 272 | echo "Commands: add, push, fetch, pull, list, find-darcs, find-git" | 272 | echo "Commands: add, push, fetch, pull, list, find-darcs, find-git" |
282 | 273 | exit | 273 | exit 1 |
283 | 274 | ;; | 274 | ;; |
284 | 275 | esac | 275 | esac |
285 | 276 | 276 |
The git-darcs changes are fairly simple and seem ok to me.
Miklos, you are a lot more familiar with the darcs exporter code. Any chance you can do a review of that code?