Show More
@@ -2310,6 +2310,7 b' def debuglabelcomplete(ui, repo, *args):' | |||||
2310 | [('', 'flags', 0, _('markers flag')), |
|
2310 | [('', 'flags', 0, _('markers flag')), | |
2311 | ('', 'record-parents', False, |
|
2311 | ('', 'record-parents', False, | |
2312 | _('record parent information for the precursor')), |
|
2312 | _('record parent information for the precursor')), | |
|
2313 | ('r', 'rev', [], _('display markers relevant to REV')), | |||
2313 | ] + commitopts2, |
|
2314 | ] + commitopts2, | |
2314 | _('[OBSOLETED [REPLACEMENT] [REPL... ]')) |
|
2315 | _('[OBSOLETED [REPLACEMENT] [REPL... ]')) | |
2315 | def debugobsolete(ui, repo, precursor=None, *successors, **opts): |
|
2316 | def debugobsolete(ui, repo, precursor=None, *successors, **opts): | |
@@ -2331,6 +2332,8 b' def debugobsolete(ui, repo, precursor=No' | |||||
2331 | 'node identifiers') |
|
2332 | 'node identifiers') | |
2332 |
|
2333 | |||
2333 | if precursor is not None: |
|
2334 | if precursor is not None: | |
|
2335 | if opts['rev']: | |||
|
2336 | raise util.Abort('cannot select revision when creating marker') | |||
2334 | metadata = {} |
|
2337 | metadata = {} | |
2335 | metadata['user'] = opts['user'] or ui.username() |
|
2338 | metadata['user'] = opts['user'] or ui.username() | |
2336 | succs = tuple(parsenodeid(succ) for succ in successors) |
|
2339 | succs = tuple(parsenodeid(succ) for succ in successors) | |
@@ -2363,7 +2366,15 b' def debugobsolete(ui, repo, precursor=No' | |||||
2363 | finally: |
|
2366 | finally: | |
2364 | l.release() |
|
2367 | l.release() | |
2365 | else: |
|
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 | cmdutil.showmarker(ui, m) |
|
2378 | cmdutil.showmarker(ui, m) | |
2368 |
|
2379 | |||
2369 | @command('debugpathcomplete', |
|
2380 | @command('debugpathcomplete', |
@@ -494,11 +494,25 b' def pushmarker(repo, key, old, new):' | |||||
494 | finally: |
|
494 | finally: | |
495 | lock.release() |
|
495 | lock.release() | |
496 |
|
496 | |||
497 | def getmarkers(repo): |
|
497 | def getmarkers(repo, nodes=None): | |
498 |
"""returns markers known in a repository |
|
498 | """returns markers known in a repository | |
499 | for markerdata in repo.obsstore: |
|
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 | yield marker(repo, markerdata) |
|
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 | def precursormarkers(ctx): |
|
516 | def precursormarkers(ctx): | |
503 | """obsolete marker marking this changeset as a successors""" |
|
517 | """obsolete marker marking this changeset as a successors""" | |
504 | for data in ctx._repo.obsstore.precursors.get(ctx.node(), ()): |
|
518 | for data in ctx._repo.obsstore.precursors.get(ctx.node(), ()): |
@@ -244,7 +244,7 b' Show all commands + options' | |||||
244 | debuginstall: |
|
244 | debuginstall: | |
245 | debugknown: |
|
245 | debugknown: | |
246 | debuglabelcomplete: |
|
246 | debuglabelcomplete: | |
247 | debugobsolete: flags, record-parents, date, user |
|
247 | debugobsolete: flags, record-parents, rev, date, user | |
248 | debugpathcomplete: full, normal, added, removed |
|
248 | debugpathcomplete: full, normal, added, removed | |
249 | debugpushkey: |
|
249 | debugpushkey: | |
250 | debugpvec: |
|
250 | debugpvec: |
@@ -513,6 +513,72 b' Do not warn about new head when the new ' | |||||
513 | adding file changes |
|
513 | adding file changes | |
514 | added 1 changesets with 1 changes to 1 files (+1 heads) |
|
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 | #if serve |
|
582 | #if serve | |
517 |
|
583 | |||
518 | check hgweb does not explode |
|
584 | check hgweb does not explode |
General Comments 0
You need to be logged in to leave comments.
Login now