Show More
@@ -2310,6 +2310,7 b' def debuglabelcomplete(ui, repo, *args):' | |||
|
2310 | 2310 | [('', 'flags', 0, _('markers flag')), |
|
2311 | 2311 | ('', 'record-parents', False, |
|
2312 | 2312 | _('record parent information for the precursor')), |
|
2313 | ('r', 'rev', [], _('display markers relevant to REV')), | |
|
2313 | 2314 | ] + commitopts2, |
|
2314 | 2315 | _('[OBSOLETED [REPLACEMENT] [REPL... ]')) |
|
2315 | 2316 | def debugobsolete(ui, repo, precursor=None, *successors, **opts): |
@@ -2331,6 +2332,8 b' def debugobsolete(ui, repo, precursor=No' | |||
|
2331 | 2332 | 'node identifiers') |
|
2332 | 2333 | |
|
2333 | 2334 | if precursor is not None: |
|
2335 | if opts['rev']: | |
|
2336 | raise util.Abort('cannot select revision when creating marker') | |
|
2334 | 2337 | metadata = {} |
|
2335 | 2338 | metadata['user'] = opts['user'] or ui.username() |
|
2336 | 2339 | succs = tuple(parsenodeid(succ) for succ in successors) |
@@ -2363,7 +2366,15 b' def debugobsolete(ui, repo, precursor=No' | |||
|
2363 | 2366 | finally: |
|
2364 | 2367 | l.release() |
|
2365 | 2368 | else: |
|
2366 | for m in obsolete.getmarkers(repo): | |
|
2369 | if opts['rev']: | |
|
2370 | revs = scmutil.revrange(repo, opts['rev']) | |
|
2371 | nodes = [repo[r].node() for r in revs] | |
|
2372 | markers = list(obsolete.getmarkers(repo, nodes=nodes)) | |
|
2373 | markers.sort(key=lambda x: x._data) | |
|
2374 | else: | |
|
2375 | markers = obsolete.getmarkers(repo) | |
|
2376 | ||
|
2377 | for m in markers: | |
|
2367 | 2378 | cmdutil.showmarker(ui, m) |
|
2368 | 2379 | |
|
2369 | 2380 | @command('debugpathcomplete', |
@@ -494,11 +494,25 b' def pushmarker(repo, key, old, new):' | |||
|
494 | 494 | finally: |
|
495 | 495 | lock.release() |
|
496 | 496 | |
|
497 | def getmarkers(repo): | |
|
498 |
"""returns markers known in a repository |
|
|
499 | for markerdata in repo.obsstore: | |
|
497 | def getmarkers(repo, nodes=None): | |
|
498 | """returns markers known in a repository | |
|
499 | ||
|
500 | If <nodes> is specified, only markers "relevant" to those nodes are are | |
|
501 | returned""" | |
|
502 | if nodes is None: | |
|
503 | rawmarkers = repo.obsstore | |
|
504 | else: | |
|
505 | rawmarkers = repo.obsstore.relevantmarkers(nodes) | |
|
506 | ||
|
507 | for markerdata in rawmarkers: | |
|
500 | 508 | yield marker(repo, markerdata) |
|
501 | 509 | |
|
510 | def relevantmarkers(repo, node): | |
|
511 | """all obsolete markers relevant to some revision""" | |
|
512 | for markerdata in repo.obsstore.relevantmarkers(node): | |
|
513 | yield marker(repo, markerdata) | |
|
514 | ||
|
515 | ||
|
502 | 516 | def precursormarkers(ctx): |
|
503 | 517 | """obsolete marker marking this changeset as a successors""" |
|
504 | 518 | for data in ctx._repo.obsstore.precursors.get(ctx.node(), ()): |
@@ -244,7 +244,7 b' Show all commands + options' | |||
|
244 | 244 | debuginstall: |
|
245 | 245 | debugknown: |
|
246 | 246 | debuglabelcomplete: |
|
247 | debugobsolete: flags, record-parents, date, user | |
|
247 | debugobsolete: flags, record-parents, rev, date, user | |
|
248 | 248 | debugpathcomplete: full, normal, added, removed |
|
249 | 249 | debugpushkey: |
|
250 | 250 | debugpvec: |
@@ -513,6 +513,72 b' Do not warn about new head when the new ' | |||
|
513 | 513 | adding file changes |
|
514 | 514 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
515 | 515 | |
|
516 | test relevance computation | |
|
517 | --------------------------------------- | |
|
518 | ||
|
519 | Checking simple case of "marker relevance". | |
|
520 | ||
|
521 | ||
|
522 | Reminder of the repo situation | |
|
523 | ||
|
524 | $ hg log --hidden --graph | |
|
525 | @ 6:3de5eca88c00 (draft) [tip ] add obsolete_e | |
|
526 | | | |
|
527 | | x 5:cda648ca50f5 (draft) [ ] add original_e | |
|
528 | | | | |
|
529 | | x 4:94b33453f93b (draft) [ ] add original_d | |
|
530 | |/ | |
|
531 | o 3:6f9641995072 (draft) [ ] add n3w_3_c | |
|
532 | | | |
|
533 | | o 2:245bde4270cd (public) [ ] add original_c | |
|
534 | |/ | |
|
535 | o 1:7c3bad9141dc (public) [ ] add b | |
|
536 | | | |
|
537 | o 0:1f0dee641bb7 (public) [ ] add a | |
|
538 | ||
|
539 | ||
|
540 | List of all markers | |
|
541 | ||
|
542 | $ hg debugobsolete | |
|
543 | 2448244824482448244824482448244824482448 1339133913391339133913391339133913391339 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'} | |
|
544 | 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'} | |
|
545 | cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'} | |
|
546 | ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'} | |
|
547 | 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'} | |
|
548 | 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'} | |
|
549 | 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
|
550 | cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob) | |
|
551 | ||
|
552 | List of changesets with no chain | |
|
553 | ||
|
554 | $ hg debugobsolete --hidden --rev ::2 | |
|
555 | ||
|
556 | List of changesets that are included on marker chain | |
|
557 | ||
|
558 | $ hg debugobsolete --hidden --rev 6 | |
|
559 | cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob) | |
|
560 | ||
|
561 | List of changesets with a longer chain, (including a pruned children) | |
|
562 | ||
|
563 | $ hg debugobsolete --hidden --rev 3 | |
|
564 | 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'} | |
|
565 | 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'} | |
|
566 | 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'} | |
|
567 | 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
|
568 | ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'} | |
|
569 | cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'} | |
|
570 | ||
|
571 | List of both | |
|
572 | ||
|
573 | $ hg debugobsolete --hidden --rev 3::6 | |
|
574 | 1337133713371337133713371337133713371337 5601fb93a350734d935195fee37f4054c529ff39 0 (Thu Jan 01 00:22:19 1970 +0000) {'user': 'test'} | |
|
575 | 245bde4270cd1072a27757984f9cda8ba26f08ca cdbce2fbb16313928851e97e0d85413f3f7eb77f C (Thu Jan 01 00:00:44 1970 -0000) {'user': 'test'} | |
|
576 | 5601fb93a350734d935195fee37f4054c529ff39 6f96419950729f3671185b847352890f074f7557 1 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'} | |
|
577 | 94b33453f93bdb8d457ef9b770851a618bf413e1 0 {6f96419950729f3671185b847352890f074f7557} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
|
578 | ca819180edb99ed25ceafb3e9584ac287e240b00 1337133713371337133713371337133713371337 0 (Thu Jan 01 00:22:18 1970 +0000) {'user': 'test'} | |
|
579 | cda648ca50f50482b7055c0b0c4c117bba6733d9 3de5eca88c00aa039da7399a220f4a5221faa585 0 (*) {'user': 'test'} (glob) | |
|
580 | cdbce2fbb16313928851e97e0d85413f3f7eb77f ca819180edb99ed25ceafb3e9584ac287e240b00 0 (Thu Jan 01 00:22:17 1970 +0000) {'user': 'test'} | |
|
581 | ||
|
516 | 582 | #if serve |
|
517 | 583 | |
|
518 | 584 | check hgweb does not explode |
General Comments 0
You need to be logged in to leave comments.
Login now