Show More
@@ -720,6 +720,7 b' class obsstore(object):' | |||||
720 | seenmarkers = set() |
|
720 | seenmarkers = set() | |
721 | seennodes = set(pendingnodes) |
|
721 | seennodes = set(pendingnodes) | |
722 | precursorsmarkers = self.precursors |
|
722 | precursorsmarkers = self.precursors | |
|
723 | succsmarkers = self.successors | |||
723 | children = self.children |
|
724 | children = self.children | |
724 | while pendingnodes: |
|
725 | while pendingnodes: | |
725 | direct = set() |
|
726 | direct = set() | |
@@ -727,6 +728,8 b' class obsstore(object):' | |||||
727 | direct.update(precursorsmarkers.get(current, ())) |
|
728 | direct.update(precursorsmarkers.get(current, ())) | |
728 | pruned = [m for m in children.get(current, ()) if not m[1]] |
|
729 | pruned = [m for m in children.get(current, ()) if not m[1]] | |
729 | direct.update(pruned) |
|
730 | direct.update(pruned) | |
|
731 | pruned = [m for m in succsmarkers.get(current, ()) if not m[1]] | |||
|
732 | direct.update(pruned) | |||
730 | direct -= seenmarkers |
|
733 | direct -= seenmarkers | |
731 | pendingnodes = set([m[0] for m in direct]) |
|
734 | pendingnodes = set([m[0] for m in direct]) | |
732 | seenmarkers |= direct |
|
735 | seenmarkers |= direct |
@@ -100,3 +100,99 b' Actual testing' | |||||
100 | 84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
100 | 84fcb0dfe17b256ebae52e05572993b9194c018a a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
101 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
101 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
102 | a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
|
102 | a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1 cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |
|
103 | ||||
|
104 | chain with prune children | |||
|
105 | ========================= | |||
|
106 | ||||
|
107 | . β β B0 | |||
|
108 | . | | |||
|
109 | . β ΓΈβ β A1 | |||
|
110 | . | | |||
|
111 | . β | |||
|
112 | ||||
|
113 | setup | |||
|
114 | ----- | |||
|
115 | ||||
|
116 | $ mktestrepo prune | |||
|
117 | $ mkcommit 'C-A0' | |||
|
118 | $ mkcommit 'C-B0' | |||
|
119 | $ hg up 'desc("ROOT")' | |||
|
120 | 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | |||
|
121 | $ mkcommit 'C-A1' | |||
|
122 | created new head | |||
|
123 | $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'` | |||
|
124 | $ hg debugobsolete `getid 'desc("C-A0")'` `getid 'desc("C-A1")'` | |||
|
125 | $ hg debugobsolete --record-parents `getid 'desc("C-B0")'` | |||
|
126 | $ hg up 'desc("ROOT")' | |||
|
127 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
128 | $ hg log --hidden -G | |||
|
129 | o cf2c22470d67: C-A1 | |||
|
130 | | | |||
|
131 | | x 29f93b1df87b: C-B0 | |||
|
132 | | | | |||
|
133 | | x 84fcb0dfe17b: C-A0 | |||
|
134 | |/ | |||
|
135 | @ ea207398892e: ROOT | |||
|
136 | ||||
|
137 | $ hg debugobsolete | |||
|
138 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
139 | 84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
140 | 29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
141 | ||||
|
142 | Actual testing | |||
|
143 | -------------- | |||
|
144 | ||||
|
145 | $ hg debugobsolete --rev 'desc("C-A0")' | |||
|
146 | 29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
147 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
148 | $ hg debugobsolete --rev 'desc("C-B0")' | |||
|
149 | 29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
150 | $ hg debugobsolete --rev 'desc("C-A1")' | |||
|
151 | 29f93b1df87baee1824e014080d8adf145f81783 0 {84fcb0dfe17b256ebae52e05572993b9194c018a} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
152 | 84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
153 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
154 | ||||
|
155 | chain with precursors also pruned | |||
|
156 | ================================= | |||
|
157 | ||||
|
158 | . A0 (also pruned) | |||
|
159 | . β ΓΈβ β A1 | |||
|
160 | . | | |||
|
161 | . β | |||
|
162 | ||||
|
163 | setup | |||
|
164 | ----- | |||
|
165 | ||||
|
166 | $ mktestrepo prune-inline | |||
|
167 | $ mkcommit 'C-A0' | |||
|
168 | $ hg up 'desc("ROOT")' | |||
|
169 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
170 | $ mkcommit 'C-A1' | |||
|
171 | created new head | |||
|
172 | $ hg debugobsolete a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 `getid 'desc("C-A0")'` | |||
|
173 | $ hg debugobsolete --record-parents `getid 'desc("C-A0")'` | |||
|
174 | $ hg debugobsolete `getid 'desc("C-A0")'` `getid 'desc("C-A1")'` | |||
|
175 | $ hg up 'desc("ROOT")' | |||
|
176 | 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |||
|
177 | $ hg log --hidden -G | |||
|
178 | o cf2c22470d67: C-A1 | |||
|
179 | | | |||
|
180 | | x 84fcb0dfe17b: C-A0 | |||
|
181 | |/ | |||
|
182 | @ ea207398892e: ROOT | |||
|
183 | ||||
|
184 | $ hg debugobsolete | |||
|
185 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
186 | 84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
187 | 84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
188 | ||||
|
189 | Actual testing | |||
|
190 | -------------- | |||
|
191 | ||||
|
192 | $ hg debugobsolete --rev 'desc("C-A0")' | |||
|
193 | 84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
194 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
195 | $ hg debugobsolete --rev 'desc("C-A1")' | |||
|
196 | 84fcb0dfe17b256ebae52e05572993b9194c018a 0 {ea207398892eb49e06441f10dda2a731f0450f20} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
197 | 84fcb0dfe17b256ebae52e05572993b9194c018a cf2c22470d67233004e934a31184ac2b35389914 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} | |||
|
198 | a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0 84fcb0dfe17b256ebae52e05572993b9194c018a 0 (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'} |
General Comments 0
You need to be logged in to leave comments.
Login now