@@ -29,15 +29,18 @@
29 29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# # ## ### ##### ######## #############
30 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## Public API
31 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
32 32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
constructor {lod} {
33 33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Start with an empty state
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- set myname $lod
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set myname $lod
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set myticks 0
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set myparent {}
35 37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
36 38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
37 39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- method name {} { return $myname }
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ method name {} { return $myname }
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ method ticks {} { return $myticks }
39 42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
40 43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method add {oprevisioninfo} {
41 44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# oprevisioninfo = list (rid path label op ...) /quadruples
42 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
43 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# Overwrite all changed files (identified by path) with the
@@ -55,10 +58,12 @@
55 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
56 59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else {
57 60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set mystate($path) [list $rid $label]
58 61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
59 62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ incr myticks
60 65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return
61 66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
62 67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
63 68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method get {} {
64 69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
set res {}
@@ -76,10 +81,16 @@
76 81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
77 82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method getid {} { return $myid }
78 83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
79 84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method defstate {s} { array set mystate $s ; return }
80 85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
method getstate {} { return [array get mystate] }
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ method parent {} { return $myparent }
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ method defparent {parent} {
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ set myparent $parent
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
81 92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
82 93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# # ## ### ##### ######## #############
83 94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
## State
84 95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
85 96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable myname {} ; # Name of the LOD the workspace is
@@ -87,10 +98,13 @@
87 98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable myid {} ; # Record id of the fossil manifest
88 99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# associated with the current state.
89 100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
variable mystate -array {} ; # Map from paths to the recordid of
90 101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# the file revision behind it, and
91 102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
# the associated label for logging.
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable myticks 0 ; # Number of 'add' operations
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ # performed on the state.
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ variable myparent {} ; # Reference to the parent workspace.
92 106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
93 107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
typevariable myop -array {
94 108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-1 REM
95 109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
0 ---
96 110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
1 ADD
97 111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!