| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 library git_source; | 5 library git_source; |
| 6 | 6 |
| 7 import 'git.dart' as git; | 7 import 'git.dart' as git; |
| 8 import 'io.dart'; | 8 import 'io.dart'; |
| 9 import 'package.dart'; | 9 import 'package.dart'; |
| 10 import 'source.dart'; | 10 import 'source.dart'; |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 } | 141 } |
| 142 | 142 |
| 143 /** | 143 /** |
| 144 * Clones the repo at the URI [from] to the path [to] on the local filesystem. | 144 * Clones the repo at the URI [from] to the path [to] on the local filesystem. |
| 145 * | 145 * |
| 146 * If [mirror] is true, create a bare, mirrored clone. This doesn't check out | 146 * If [mirror] is true, create a bare, mirrored clone. This doesn't check out |
| 147 * the working tree, but instead makes the repository a local mirror of the | 147 * the working tree, but instead makes the repository a local mirror of the |
| 148 * remote repository. See the manpage for `git clone` for more information. | 148 * remote repository. See the manpage for `git clone` for more information. |
| 149 */ | 149 */ |
| 150 Future _clone(String from, String to, {bool mirror: false}) { | 150 Future _clone(String from, String to, {bool mirror: false}) { |
| 151 // TODO(rnystrom): For some mysterious reason, the Windows buildbots do not |
| 152 // have the right working directory when pub spawns git, so the relative |
| 153 // path fails. To work around it, just always pass in a full path. Should |
| 154 // figure out what's going on here. |
| 155 from = getFullPath(from); |
| 156 |
| 151 // Git on Windows does not seem to automatically create the destination | 157 // Git on Windows does not seem to automatically create the destination |
| 152 // directory. | 158 // directory. |
| 153 return ensureDir(to).chain((_) { | 159 return ensureDir(to).chain((_) { |
| 154 var args = ["clone", from, to]; | 160 var args = ["clone", from, to]; |
| 155 if (mirror) args.insertRange(1, 1, "--mirror"); | 161 if (mirror) args.insertRange(1, 1, "--mirror"); |
| 156 return git.run(args); | 162 return git.run(args); |
| 157 }).transform((result) => null); | 163 }).transform((result) => null); |
| 158 } | 164 } |
| 159 | 165 |
| 160 /** | 166 /** |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 | 223 |
| 218 /** | 224 /** |
| 219 * Returns [description] if it's a description, or [PackageId.description] if | 225 * Returns [description] if it's a description, or [PackageId.description] if |
| 220 * it's a [PackageId]. | 226 * it's a [PackageId]. |
| 221 */ | 227 */ |
| 222 _getDescription(description) { | 228 _getDescription(description) { |
| 223 if (description is PackageId) return description.description; | 229 if (description is PackageId) return description.description; |
| 224 return description; | 230 return description; |
| 225 } | 231 } |
| 226 } | 232 } |
| OLD | NEW |