1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
-
+
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
|
Just thinking out loud...
Code reviews... might be implementable in terms of tags. A tag directly on a commit (or wiki page, for that matter) would be treated as a comment. A tag on another comment essentially creates a comment thread.
The question, really, is how to store such constructs. Some random ideas:
The question, really, is how to store such constructs.Some random ideas:
A new Artifact Card, e.g. V-card (R-card is taken). Might look like:
V julianTime username OPINION uuid-being-commented-on comment
(...big, now irrelevant/obsolete, snip...)
where OPINION is one of '-', '0', or '+', for positive, neutral, negative.
But i really don't want to add new cards - they are a huge backwards compatibility problem.
So we are left with a couple options:
Encode all info in the tag:
comment-username-timestamp-target_uuid=comment text
but that'd be really, really ugly.
So we store them as blobs with a new Control Artifact form. We can (at least in principal) introduce a new card type if it only appears in new artifact types :).
So we store them as blobs with a new Control Artifact form. We can (at least in principal) introduce a new card type if it only appears in new artifact types.
Hypothetical Comment artifact:
Hypothetical Comment (or Thread, or Opinion) Artifact:
<nowiki><pre>
D timestamp
C comment-text
U user
V uuid-being-tagged ?[-0+]? (default opinion==0)
Z manifest-hash
</pre></nowiki>
(V comes from reView.)
'V' comes from reView. i'd prefer another letter - i suspect V has a better use in future versions of fossil. Maybe 'O' for "Opinion."
Then we add a tag just like a Ticket's:
<nowiki><pre>
comment-UUID_OF_ARTIFACT
</pre></nowiki>
We could use the existing close tag to resolve/close reviews (e.g. for purposes of tracking review lifetimes/expirations/due-dates).
Hmmm. "It just might work."
We can potentially re-use a Control Artifact, leave out the "opinion" argument, and use T cards (compatible with current code):
<nowiki><pre>
T +thread-comment...
</pre></nowiki>
but i don't see a way to (sanely) make the tag name unique per comment/thread and current tag-related logic uses only the newest copy of a given tag name (IIRC).
|