Show More
@@ -3122,9 +3122,6 b' def debugobsolete(ui, repo, precursor=No' | |||||
3122 | finally: |
|
3122 | finally: | |
3123 | l.release() |
|
3123 | l.release() | |
3124 | else: |
|
3124 | else: | |
3125 | if opts.get('rev') and opts.get('index'): |
|
|||
3126 | hint = _("call 'hg debugobsolete --index' without other arguments") |
|
|||
3127 | raise error.Abort(_("cannot use --index with --rev"), hint=hint) |
|
|||
3128 | if opts['rev']: |
|
3125 | if opts['rev']: | |
3129 | revs = scmutil.revrange(repo, opts['rev']) |
|
3126 | revs = scmutil.revrange(repo, opts['rev']) | |
3130 | nodes = [repo[r].node() for r in revs] |
|
3127 | nodes = [repo[r].node() for r in revs] | |
@@ -3133,7 +3130,23 b' def debugobsolete(ui, repo, precursor=No' | |||||
3133 | else: |
|
3130 | else: | |
3134 | markers = obsolete.getmarkers(repo) |
|
3131 | markers = obsolete.getmarkers(repo) | |
3135 |
|
3132 | |||
3136 | for i, m in enumerate(markers): |
|
3133 | markerstoiter = markers | |
|
3134 | isrelevant = lambda m: True | |||
|
3135 | if opts.get('rev') and opts.get('index'): | |||
|
3136 | markerstoiter = obsolete.getmarkers(repo) | |||
|
3137 | markerset = set(markers) | |||
|
3138 | isrelevant = lambda m: m in markerset | |||
|
3139 | ||||
|
3140 | for i, m in enumerate(markerstoiter): | |||
|
3141 | if not isrelevant(m): | |||
|
3142 | # marker can be irrelevant when we're iterating over a set | |||
|
3143 | # of markers (markerstoiter) which is bigger than the set | |||
|
3144 | # of markers we want to display (markers) | |||
|
3145 | # this can happen if both --index and --rev options are | |||
|
3146 | # provided and thus we need to iterate over all of the markers | |||
|
3147 | # to get the correct indices, but only display the ones that | |||
|
3148 | # are relevant to --rev value | |||
|
3149 | continue | |||
3137 | ind = i if opts.get('index') else None |
|
3150 | ind = i if opts.get('index') else None | |
3138 | cmdutil.showmarker(ui, m, index=ind) |
|
3151 | cmdutil.showmarker(ui, m, index=ind) | |
3139 |
|
3152 |
@@ -1083,6 +1083,30 b' Test ability to pull changeset with loca' | |||||
1083 | | |
|
1083 | | | |
1084 | @ 0:a78f55e5508c (draft) [ ] 0 |
|
1084 | @ 0:a78f55e5508c (draft) [ ] 0 | |
1085 |
|
1085 | |||
|
1086 | Test that 'hg debugobsolete --index --rev' can show indices of obsmarkers when | |||
|
1087 | only a subset of those are displayed (because of --rev option) | |||
|
1088 | $ hg init doindexrev | |||
|
1089 | $ cd doindexrev | |||
|
1090 | $ echo a > a | |||
|
1091 | $ hg ci -Am a | |||
|
1092 | adding a | |||
|
1093 | $ hg ci --amend -m aa | |||
|
1094 | $ echo b > b | |||
|
1095 | $ hg ci -Am b | |||
|
1096 | adding b | |||
|
1097 | $ hg ci --amend -m bb | |||
|
1098 | $ echo c > c | |||
|
1099 | $ hg ci -Am c | |||
|
1100 | adding c | |||
|
1101 | $ hg ci --amend -m cc | |||
|
1102 | $ echo d > d | |||
|
1103 | $ hg ci -Am d | |||
|
1104 | adding d | |||
|
1105 | $ hg ci --amend -m dd | |||
|
1106 | $ hg debugobsolete --index --rev "3+7" | |||
|
1107 | 1 6fdef60fcbabbd3d50e9b9cbc2a240724b91a5e1 d27fb9b066076fd921277a4b9e8b9cb48c95bc6a 0 \(.*\) {'user': 'test'} (re) | |||
|
1108 | 3 4715cf767440ed891755448016c2b8cf70760c30 7ae79c5d60f049c7b0dd02f5f25b9d60aaf7b36d 0 \(.*\) {'user': 'test'} (re) | |||
|
1109 | $ cd .. | |||
1086 | $ cd .. |
|
1110 | $ cd .. | |
1087 |
|
1111 | |||
1088 | Test the --delete option of debugobsolete command |
|
1112 | Test the --delete option of debugobsolete command |
General Comments 0
You need to be logged in to leave comments.
Login now