Mercurial > hgsubversion
comparison tests/fixtures/rsvn.py @ 851:9ce00cb1d676
Merge alternate tunnel schemes.
| author | Augie Fackler <durin42@gmail.com> |
|---|---|
| date | Sat, 25 Feb 2012 14:51:22 -0600 |
| parents | e9af7eba88db |
| children |
comparison
equal
deleted
inserted
replaced
| 850:d3bc067c0f72 | 851:9ce00cb1d676 |
|---|---|
| 167 ["help", "username=", "message=", "version"]) | 167 ["help", "username=", "message=", "version"]) |
| 168 except getopt.GetoptError, e: | 168 except getopt.GetoptError, e: |
| 169 sys.stderr.write(str(e) + '\n\n') | 169 sys.stderr.write(str(e) + '\n\n') |
| 170 usage() | 170 usage() |
| 171 sys.exit(1) | 171 sys.exit(1) |
| 172 | 172 |
| 173 for opt, value in opts: | 173 for opt, value in opts: |
| 174 if opt == '--version': | 174 if opt == '--version': |
| 175 print '%s version %s' % (os.path.basename(sys.argv[0]), VERSION) | 175 print '%s version %s' % (os.path.basename(sys.argv[0]), VERSION) |
| 176 sys.exit(0) | 176 sys.exit(0) |
| 177 elif opt == '--help' or opt == '-h': | 177 elif opt == '--help' or opt == '-h': |
| 179 sys.exit(0) | 179 sys.exit(0) |
| 180 elif opt == '--username': | 180 elif opt == '--username': |
| 181 username = value | 181 username = value |
| 182 elif opt == '--message': | 182 elif opt == '--message': |
| 183 log_msg = value | 183 log_msg = value |
| 184 | 184 |
| 185 if log_msg == None: | 185 if log_msg == None: |
| 186 usage('Missing --message argument') | 186 usage('Missing --message argument') |
| 187 sys.exit(1) | 187 sys.exit(1) |
| 188 | 188 |
| 189 if len(args) != 1: | 189 if len(args) != 1: |
| 190 usage('Missing repository path argument') | 190 usage('Missing repository path argument') |
| 191 sys.exit(1) | 191 sys.exit(1) |
| 192 | 192 |
| 193 repos_path = args[0] | 193 repos_path = args[0] |
| 194 print 'Accessing repository at [%s]' % repos_path | 194 print 'Accessing repository at [%s]' % repos_path |
| 195 | 195 |
| 196 repository = Repository(repos_path, pool) | 196 repository = Repository(repos_path, pool) |
| 197 sub = repository.subpool() | 197 sub = repository.subpool() |
| 198 | 198 |
| 199 try: | 199 try: |
| 200 txn = repository.begin(username, log_msg) | 200 txn = repository.begin(username, log_msg) |
| 201 | 201 |
| 202 # Read commands from STDIN | 202 # Read commands from STDIN |
| 203 lineno = 0 | 203 lineno = 0 |
| 204 for line in sys.stdin: | 204 for line in sys.stdin: |
| 205 lineno += 1 | 205 lineno += 1 |
| 206 | 206 |
| 207 core.svn_pool_clear(sub) | 207 core.svn_pool_clear(sub) |
| 208 try: | 208 try: |
| 209 if COMMENT_RE.search(line): | 209 if COMMENT_RE.search(line): |
| 210 continue | 210 continue |
| 211 | 211 |
| 212 match = RCOPY_RE.search(line) | 212 match = RCOPY_RE.search(line) |
| 213 if match: | 213 if match: |
| 214 src = match.group(1) | 214 src = match.group(1) |
| 215 dest = match.group(2) | 215 dest = match.group(2) |
| 216 txn.copy(src, dest, sub) | 216 txn.copy(src, dest, sub) |
| 217 continue | 217 continue |
| 218 | 218 |
| 219 match = RMOVE_RE.search(line) | 219 match = RMOVE_RE.search(line) |
| 220 if match: | 220 if match: |
| 221 src = match.group(1) | 221 src = match.group(1) |
| 222 dest = match.group(2) | 222 dest = match.group(2) |
| 223 txn.move(src, dest, sub) | 223 txn.move(src, dest, sub) |
| 224 continue | 224 continue |
| 225 | 225 |
| 226 match = RMKDIR_RE.search(line) | 226 match = RMKDIR_RE.search(line) |
| 227 if match: | 227 if match: |
| 228 entry = match.group(1) | 228 entry = match.group(1) |
| 229 txn.mkdir(entry, sub) | 229 txn.mkdir(entry, sub) |
| 230 continue | 230 continue |
| 231 | 231 |
| 232 match = RDELETE_RE.search(line) | 232 match = RDELETE_RE.search(line) |
| 233 if match: | 233 if match: |
| 234 entry = match.group(1) | 234 entry = match.group(1) |
| 235 txn.delete(entry, sub) | 235 txn.delete(entry, sub) |
| 236 continue | 236 continue |
| 237 | 237 |
| 238 raise NameError, ('Unknown command [%s] on line %d' % | 238 raise NameError, ('Unknown command [%s] on line %d' % |
| 239 (line, lineno)) | 239 (line, lineno)) |
| 240 | 240 |
| 241 except: | 241 except: |
| 242 sys.stderr.write(('Exception occured while processing line %d:\n' % | 242 sys.stderr.write(('Exception occured while processing line %d:\n' % |
| 243 lineno)) | 243 lineno)) |
| 244 etype, value, tb = sys.exc_info() | 244 etype, value, tb = sys.exc_info() |
| 245 traceback.print_exception(etype, value, tb, None, sys.stderr) | 245 traceback.print_exception(etype, value, tb, None, sys.stderr) |
| 246 sys.stderr.write('\n') | 246 sys.stderr.write('\n') |
| 247 txn.rollback() | 247 txn.rollback() |
| 248 sys.exit(1) | 248 sys.exit(1) |
| 249 | 249 |
| 250 new_rev = txn.commit() | 250 new_rev = txn.commit() |
| 251 print '\nCommitted revision %d.' % new_rev | 251 print '\nCommitted revision %d.' % new_rev |
| 252 | 252 |
| 253 finally: | 253 finally: |
| 254 print '\nRepository closed.' | 254 print '\nRepository closed.' |
| 255 | 255 |
| 256 def main(): | 256 def main(): |
| 257 core.run_app(rsvn) | 257 core.run_app(rsvn) |
