@@ -89,11 +89,11 @@
89 89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
append str "$mytype ${myid}${detail}>"
90 90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return $str
91 91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
92 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
93 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method lod {} {
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return [$mytypeobj cs_lod $myitems]
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return [$mytypeobj cs_lod $mysrcid $myitems]
95 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
96 96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
97 97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method id {} { return $myid }
98 98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method items {} { return $mytitems }
99 99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method data {} { return [list $myproject $mytype $mysrcid] }
@@ -261,60 +261,148 @@
261 261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# - The parent changeset, if any. If there is no parent fossil
262 262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# will use the empty base revision as parent.
263 263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#
264 264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# - List of the file revisions in the changeset.
265 265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- struct::list assign [$myproject getmeta $mysrcid] __ __ user message
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
268 266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# We derive the lod information directly from the revisions of
269 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# the changeset, as the branch part of the meta data (s.a.) is
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # outdated since pass FilterSymbols.
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # outdated since pass FilterSymbols. See the method 'run' in
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # file "c2f_pfiltersym.tcl" for more commentary on this.
271 270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
272 271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set lodname [$self lod]
273 272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- log write 2 csets {Importing revision [$self str] on $lodname}
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Perform the import. As part of that we determine the parent
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # we need, and convert the list of items in the changeset into
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # uuids and printable data.
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- struct::list assign [Getisdefault $myitems] isdefault lastdefaultontrunk
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- log write 8 csets {LOD '$lodname'}
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- log write 8 csets { def? $isdefault}
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- log write 8 csets { last? $lastdefaultontrunk}
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set lws [Getworkspace $rstate $lodname $myproject $isdefault]
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $lws add [Getrevisioninfo $myitems]
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set uuid [$repository importrevision [$self str] \
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $user $message $date \
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- [$lws getid] [$lws get]]
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Remember the imported changeset in the state, under our
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # LOD. And if it is the last trunk changeset on the vendor
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # branch then the revision is also the actual root of the
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # :trunk:, so we remember it as such in the state. However if
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # the trunk already exists then the changeset cannot be on it
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # any more. This indicates weirdness in the setup of the
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # vendor branch, but one we can work around.
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $lws defid $uuid
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {$lastdefaultontrunk} {
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if {[$rstate has :trunk:]} {
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- log write 2 csets {Multiple changesets declared to be the last trunk changeset on the vendor-branch}
273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 2 csets {Importing changeset [$self str] on $lodname}
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[$mytypeobj istag]} {
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Handle tags. They appear immediately after the revision
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # they are attached to (*). We can assume that the
278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # workspace for the relevant line of development
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # exists. We retrieve it, then the uuid of the last
280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # revision entered into it, then tag this revision.
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # (*) Immediately in terms of the relevant line of
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # development. Revisions on other lines may come in
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # between, but they do not matter to that.
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set lws [Getworkspace $rstate $lodname $myproject 0]
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set uuid [lindex [$lws getid] 1]
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $repository tag $uuid [state one {
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SELECT S.name
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FROM symbol S
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ WHERE S.sid = $mysrcid
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }]
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } elseif {[$mytypeobj isbranch]} {
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Handle branches. They appear immediately after the
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # revision they are spawned from (*). We can assume that
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the workspace for the relevant line of development
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # exists.
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # We retrieve it, then the uuid of the last revision
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # entered into it. That revision is tagged as the root of
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the branch (**). A new workspace for the branch is
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # created as well, for the future revisions of the new
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # line of development.
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # An exception is made of the non-trunk default branch,
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # aka vendor branch. This lod has to have a workspace not
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # inherited from anything else. It has no root either, so
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # tagging is out as well.
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # (*) Immediately in terms of the relevant line of
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # development. Revisions on other lines may come in
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # between, but they do not matter to that.
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # (**) Tagging the parent revision of the branch as its
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # root is done to let us know about the existence of
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the branch even if it has no revisions committed to
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # it, and thus no regular branch tag anywhere else.
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # The name of the tag is the name for the lod, with
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the suffix '-root' appended to it.
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # LOD is self symbol of branch, not parent
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set lodname [state one {
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SELECT S.name
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FROM symbol S
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ WHERE S.sid = $mysrcid
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }]
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {![$rstate has :trunk:]} {
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # No trunk implies default branch. Just create the
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # proper workspace.
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Getworkspace $rstate $lodname $myproject 1
305 335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else {
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $rstate new :trunk: [$lws name]
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Non-default branch. Need workspace, and tag parent
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # revision.
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set lws [Getworkspace $rstate $lodname $myproject 0]
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set uuid [lindex [$lws getid] 1]
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $repository tag $uuid ${lodname}-root
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Revision changeset.
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ struct::list assign [$myproject getmeta $mysrcid] __ __ user message
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Perform the import. As part of that we determine the
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # parent we need, and convert the list of items in the
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # changeset into uuids and printable data.
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ struct::list assign [Getisdefault $myitems] \
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ isdefault lastdefaultontrunk
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 8 csets {LOD '$lodname'}
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 8 csets { def? $isdefault}
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 8 csets { last? $lastdefaultontrunk}
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set lws [Getworkspace $rstate $lodname $myproject $isdefault]
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $lws add [Getrevisioninfo $myitems]
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ struct::list assign \
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ [$repository importrevision [$self str] \
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $user $message $date \
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ [lindex [$lws getid] 0] [$lws get]] \
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rid uuid
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[$lws ticks] == 1} {
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # First commit on this line of development. Set our
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # own name as a propagating tag. And if the LOD has a
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # parent we have to prevent the propagation of that
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # tag into this new line.
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set plws [$lws parent]
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {$plws ne ""} {
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $repository branchcancel $uuid [$plws name]
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $repository branchmark $uuid [$lws name]
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Remember the imported changeset in the state, under our
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # LOD. And if it is the last trunk changeset on the vendor
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # branch then the revision is also the actual root of the
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # :trunk:, so we remember it as such in the state. However
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # if the trunk already exists then the changeset cannot be
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # on it any more. This indicates weirdness in the setup of
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the vendor branch, but one we can work around.
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $lws defid [list $rid $uuid]
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {$lastdefaultontrunk} {
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 2 csets {This cset is the last on the NTDB, set the trunk workspace up}
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if {[$rstate has :trunk:]} {
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 2 csets {Multiple changesets declared to be the last trunk changeset on the vendor-branch}
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $rstate new :trunk: [$lws name]
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
307 399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
308 400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
309 401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Remember the whole changeset / uuid mapping, for the tags.
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- state run {
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- INSERT INTO csuuid (cid, uuid)
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- VALUES ($myid, $uuid)
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 2 csets { }
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ log write 2 csets { }
316 404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
317 405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
318 406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
319 407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
proc Getrevisioninfo {revisions} {
320 408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set theset ('[join $revisions {','}]')
@@ -372,15 +460,21 @@
372 460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# as well, making it inherit the state of the last
373 461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# trunk-changeset on the vendor-branch.
374 462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
375 463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$isdefault} {
376 464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {![$rstate has ":vendor:"]} {
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Create the vendor branch if not present already.
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $rstate new :vendor:
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Create the vendor branch if not present already. We
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # use the actual name for the lod, and additional make
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # it accessible under an internal name (:vendor:) so
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # that we can merge to it later, should it become
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # necessary. See the other branch below.
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $rstate new $lodname
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $rstate dup :vendor: <-- $lodname
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Merge the new symbol to the vendor branch
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ $rstate dup $lodname <-- :vendor:
379 475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Merge the new symbol to the vendor branch
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- $rstate dup $lodname <-- :vendor:
382 476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return [$rstate get $lodname]
383 477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
384 478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
385 479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if {$lodname eq ":trunk:"} {
386 480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return [$rstate new $lodname]
@@ -573,21 +667,21 @@
573 667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# the names in the table 'cstype'
574 668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# in sync with the names of the
575 669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# helper singletons.
576 670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
577 671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
typemethod inorder {projectid} {
578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # Return all revision changesets for the specified project, in
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # the order given to them by the sort passes. Both the
580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # filtering by project and sorting make use of 'project::rev
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # rev' impossible.
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Return all changesets (object references) for the specified
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # project, in the order given to them by the sort passes. Both
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the filtering by project and the sorting by time make the
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # use of 'project::rev rev' impossible.
582 676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
583 677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set res {}
584 678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
state foreachrow {
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- SELECT C.cid AS xcid, T.date AS cdate
679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SELECT C.cid AS xcid,
680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ T.date AS cdate
586 681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
FROM changeset C, cstimestamp T
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WHERE C.type = 0 -- limit to revision changesets
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AND C.pid = $projectid -- limit to changesets in project
682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ WHERE C.pid = $projectid -- limit to changesets in project
589 683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
AND T.cid = C.cid -- get ordering information
590 684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ORDER BY T.date -- sort into commit order
591 685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} {
592 686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
lappend res $myidmap($xcid) $cdate
593 687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -1420,16 +1514,26 @@
1420 1514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
AND B.root = R.rid -- Select branches attached to them
1421 1515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
AND CI.iid = B.bid -- Select all changesets
1422 1516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
AND C.cid = CI.cid -- containing the branches
1423 1517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
AND C.type = 2 -- which are branch changesets
1424 1518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}]]
1519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # Regarding rev -> branch|tag, we could consider looking at
1521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the symbol of the branch|tag, its lod-symbol, and the
1522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # revisions on that lod, but don't. Because it is not exact
1523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # enough, the branch|tag would depend on revisions coming
1524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # after its creation on the parental lod.
1425 1525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1426 1526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1427 1527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# result = symbol name
1428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typemethod cs_lod {revisions} {
1528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ typemethod cs_lod {metaid revisions} {
1429 1529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Determines the name of the symbol which is the line of
1430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # development for the revisions in a changeset.
1530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # development for the revisions in a changeset. The
1531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # information in the meta data referenced by the source metaid
1532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # is out of date by the time we come here (since pass
1533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # FilterSymbols), so it cannot be used. See the method 'run'
1534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # in file "c2f_pfiltersym.tcl" for more commentary on this.
1431 1535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1432 1536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set theset ('[join $revisions {','}]')
1433 1537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return [state run [subst -nocommands -nobackslashes {
1434 1538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SELECT
1435 1539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
DISTINCT L.name
@@ -1492,22 +1596,22 @@
1492 1596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Tags have no successors.
1493 1597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
1494 1598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1495 1599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1496 1600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# result = symbol name
1497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typemethod cs_lod {tags} {
1601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ typemethod cs_lod {sid tags} {
1498 1602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Determines the name of the symbol which is the line of
1499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # development for the tags in a changeset.
1500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set theset ('[join $tags {','}]')
1502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return [state run [subst -nocommands -nobackslashes {
1503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- SELECT
1504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- DISTINCT L.name
1505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FROM tag T, symbol L
1506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WHERE T.tid in $theset -- Restrict to tags of interest
1507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AND L.sid = T.lod -- Get lod symbol of tag
1508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }]]
1603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # development for the tags in a changeset. Comes directly from
1604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # the symbol which is the changeset's source and its prefered
1605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # parent.
1606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return [state run {
1608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SELECT P.name
1609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FROM preferedparent SP, symbol P
1610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ WHERE SP.sid = $sid
1611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ AND P.sid = SP.pid
1612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }]
1509 1613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1510 1614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1511 1615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1512 1616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# # ## ### ##### ######## ############# #####################
1513 1617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## Helper singleton. Commands for branch symbol changesets.
@@ -1640,22 +1744,22 @@
1640 1744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}]]
1641 1745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
1642 1746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1643 1747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1644 1748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# result = symbol name
1645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typemethod cs_lod {branches} {
1749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ typemethod cs_lod {sid branches} {
1646 1750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Determines the name of the symbol which is the line of
1647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- # development for the branches in a changeset.
1648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
1649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set theset ('[join $branches {','}]')
1650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return [state run [subst -nocommands -nobackslashes {
1651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- SELECT
1652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- DISTINCT L.name
1653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- FROM branch B, symbol L
1654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- WHERE B.bid in $theset -- Restrict to branches of interest
1655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- AND L.sid = B.lod -- Get lod symbol of branch
1656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }]]
1751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # development for the branches in a changeset. Comes directly
1752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # from the symbol which is the changeset's source and its
1753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # prefered parent.
1754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
1755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return [state run {
1756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ SELECT P.name
1757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ FROM preferedparent SP, symbol P
1758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ WHERE SP.sid = $sid
1759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ AND P.sid = SP.pid
1760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }]
1657 1761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
1658 1762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1659 1763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
typemethod limits {branches} {
1660 1764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Notes. This method exists only for branches. It is needed to
1661 1765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# get detailed information about a backward branch. It does
1662 1766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!