Fossil SCM

Merged dhr's todo and ideas update

jnc 2007-09-24 23:56 trunk merge
Commit b8cc22ebdf58e37c0ec0fa6ca72bdd77f83d5840
3 files changed -91 +1 -10 +1 -10
-91
--- ideas.txt
+++ ideas.txt
@@ -48,111 +48,20 @@
4848
mode: (readonly|appendonly|readwrite)
4949
attachment: UUID name description
5050
5151
* Header ends with a blank line. wiki content follows.
5252
53
-Cluster format:
54
-
55
- M+ uuid
56
- Z manifest-cksum
57
-
58
- * Cluster generated in server mode only.
59
- * Embargo cluster that reference phantoms or other embargoed clusters.
60
- * Never send or ihave an embargoed cluster
61
-
62
-New sync algorithm based on clusters:
63
-
64
- * Keep a table of unclustered artifacts. Strive to keep this table
65
- less than 100 entries.
66
- * Client sends content of unclustered table as ihaves to server
67
- * Server builds a new cluster if size of cluster table >100.
68
- * Server sends unclustered table to client
69
- * Server sends gimme for all unknown ihave received from client
70
- * Client sends gimme for all unknown ihave received from server
71
- * Previous two steps repeat until no more gimmes
72
-
73
-Details of new push algorithm:
74
-
75
- * Table "unsent" contains all files never pushed
76
- * TEMP table "wanted" contains files the server does not have
77
- Loop:
78
- * Client sends login and "push" record
79
- * Client sends file message for all files in unsent and removes
80
- those files from the table.
81
- * Client sends file message for all files in wanted.
82
- * Client sends ihave messages for each entry in unclustered
83
- ------
84
- * Server receives file message
85
- * Server creates phantoms for unknown ihaves
86
- * Server sends gimme messages for all phantoms
87
- ------
88
- * Client clears its unsent table
89
- * For each gimme message add an entry to wanted
90
- * Halt if the wanted table is empty
91
-
92
-Details on new pull algorithm:
93
-
94
- Loop:
95
- * Client sends login and "pull" record
96
- * Client sends "prior" message with repository id and max record number
97
- * Client sends "gimme" for each phantom
98
- --------
99
- * Server creates new clusters to get unclustered size below 100
100
- * If there is "prior" message with repository id that matches this
101
- server, then send file messages for all record ids greater than
102
- prior
103
- * Server sends ihave messages for each entry in unclustered
104
- * Server sends maxrid message
105
- --------
106
- * Client receives file records
107
- * Client creates phantoms for unknown ihaves
108
- * If no phantoms exist, record maxrid for the server and halt
109
-
11053
Need a dephantomize algorithm
11154
11255
113
-Auxiliary tables needed for new sync algorithm:
114
-
115
- * unsent: files that have never been sent to another repository
116
- * unclustered: non-phantom files not mentioned by a cluster
117
-
11856
Random thoughts:
11957
120
- * Changes to manifest to support:
121
- + Trees of wiki pages and tickets
122
- + The ability to cap or close a branch
123
- + See "Extended Manifests" below
124
-
125
- * Add the concept of "clusters" to speed the transfer of "tips"
126
- on a sync.
127
-
128
- * Auxiliary tables:
129
- + tip
130
- + phantom
131
- + mlink
132
- + plink
133
- + branch
134
- + tree
135
-
13658
* Plink.isprim changed to record:
13759
+ child is the principal descendent of parent. (1)
13860
+ child is a branch from parent (2)
13961
+ child uses parent as a merge (0)
14062
141
- * tree records
142
- + type (code, wiki, ticket)
143
- + name (for wiki and ticket only)
144
- + treeid
145
-
146
- * branch records
147
- + treeid
148
- + origin_rid
149
- + origin_time
150
- + tip_rid
151
- + tip_time
152
- + color
153
-
15463
* website can toggle isprim between principal and branch.
15564
+ How to preserve across rebuild. A new record type?
15665
+ How to share with other repositories
15766
* isprim guessed using userid of parent and child. Change
15867
in id suggests a branch. Same id suggests principal.
15968
--- ideas.txt
+++ ideas.txt
@@ -48,111 +48,20 @@
48 mode: (readonly|appendonly|readwrite)
49 attachment: UUID name description
50
51 * Header ends with a blank line. wiki content follows.
52
53 Cluster format:
54
55 M+ uuid
56 Z manifest-cksum
57
58 * Cluster generated in server mode only.
59 * Embargo cluster that reference phantoms or other embargoed clusters.
60 * Never send or ihave an embargoed cluster
61
62 New sync algorithm based on clusters:
63
64 * Keep a table of unclustered artifacts. Strive to keep this table
65 less than 100 entries.
66 * Client sends content of unclustered table as ihaves to server
67 * Server builds a new cluster if size of cluster table >100.
68 * Server sends unclustered table to client
69 * Server sends gimme for all unknown ihave received from client
70 * Client sends gimme for all unknown ihave received from server
71 * Previous two steps repeat until no more gimmes
72
73 Details of new push algorithm:
74
75 * Table "unsent" contains all files never pushed
76 * TEMP table "wanted" contains files the server does not have
77 Loop:
78 * Client sends login and "push" record
79 * Client sends file message for all files in unsent and removes
80 those files from the table.
81 * Client sends file message for all files in wanted.
82 * Client sends ihave messages for each entry in unclustered
83 ------
84 * Server receives file message
85 * Server creates phantoms for unknown ihaves
86 * Server sends gimme messages for all phantoms
87 ------
88 * Client clears its unsent table
89 * For each gimme message add an entry to wanted
90 * Halt if the wanted table is empty
91
92 Details on new pull algorithm:
93
94 Loop:
95 * Client sends login and "pull" record
96 * Client sends "prior" message with repository id and max record number
97 * Client sends "gimme" for each phantom
98 --------
99 * Server creates new clusters to get unclustered size below 100
100 * If there is "prior" message with repository id that matches this
101 server, then send file messages for all record ids greater than
102 prior
103 * Server sends ihave messages for each entry in unclustered
104 * Server sends maxrid message
105 --------
106 * Client receives file records
107 * Client creates phantoms for unknown ihaves
108 * If no phantoms exist, record maxrid for the server and halt
109
110 Need a dephantomize algorithm
111
112
113 Auxiliary tables needed for new sync algorithm:
114
115 * unsent: files that have never been sent to another repository
116 * unclustered: non-phantom files not mentioned by a cluster
117
118 Random thoughts:
119
120 * Changes to manifest to support:
121 + Trees of wiki pages and tickets
122 + The ability to cap or close a branch
123 + See "Extended Manifests" below
124
125 * Add the concept of "clusters" to speed the transfer of "tips"
126 on a sync.
127
128 * Auxiliary tables:
129 + tip
130 + phantom
131 + mlink
132 + plink
133 + branch
134 + tree
135
136 * Plink.isprim changed to record:
137 + child is the principal descendent of parent. (1)
138 + child is a branch from parent (2)
139 + child uses parent as a merge (0)
140
141 * tree records
142 + type (code, wiki, ticket)
143 + name (for wiki and ticket only)
144 + treeid
145
146 * branch records
147 + treeid
148 + origin_rid
149 + origin_time
150 + tip_rid
151 + tip_time
152 + color
153
154 * website can toggle isprim between principal and branch.
155 + How to preserve across rebuild. A new record type?
156 + How to share with other repositories
157 * isprim guessed using userid of parent and child. Change
158 in id suggests a branch. Same id suggests principal.
159
--- ideas.txt
+++ ideas.txt
@@ -48,111 +48,20 @@
48 mode: (readonly|appendonly|readwrite)
49 attachment: UUID name description
50
51 * Header ends with a blank line. wiki content follows.
52
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
53 Need a dephantomize algorithm
54
55
 
 
 
 
 
56 Random thoughts:
57
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
58 * Plink.isprim changed to record:
59 + child is the principal descendent of parent. (1)
60 + child is a branch from parent (2)
61 + child uses parent as a merge (0)
62
 
 
 
 
 
 
 
 
 
 
 
 
 
63 * website can toggle isprim between principal and branch.
64 + How to preserve across rebuild. A new record type?
65 + How to share with other repositories
66 * isprim guessed using userid of parent and child. Change
67 in id suggests a branch. Same id suggests principal.
68
+1 -10
--- todo.txt
+++ todo.txt
@@ -18,12 +18,10 @@
1818
* Bug: If the server closes the socket unexpectedly, the
1919
fwrite() in http.c:103 throws a signal and kills the child
2020
process. fwrite() is not suppose to do this. Need to figure
2121
out what is going wrong.
2222
23
- * Bug: pull is ending prematurely.
24
-
2523
* Bug: Make sure merge and other commands (check-out) do not try
2624
to use a phantom.
2725
2826
* Bug: When clone use incorrect http URL, local repo file is still created.
2927
@@ -44,11 +42,11 @@
4442
4543
* The ipaddr field of the rcvfrom table is not being set. This
4644
field should be the IP address from which information is received
4745
for the local repository. So when somebody does a push of new
4846
files we record the ipaddr. Or when we do a pull, we record
49
- the ipaddr.
47
+ the ipaddr. (I think this has been fixed. Need to test.)
5048
5149
* Additional information displayed for the "vinfo" page:
5250
5351
+ All leaves of this version that are not included in the
5452
descendant list. With date, user, comment, and hyperlink.
@@ -55,17 +53,10 @@
5553
Leaves in the descendant table should be marked as such.
5654
See the compute_leaves() function to see how to find all
5755
leaves.
5856
+ Add file diff links to the file change list.
5957
60
- * Timeline enhanced so that you can specify a range of dates.
61
-
62
- * The /xfer handler (for push, pull, and clone) does not do
63
- delta compression. This results in excess bandwidth usage.
64
- There are some pieces in xfer.c that are sketches of ideas on
65
- how to do delta compression, but nothing has been implemented.
66
-
6758
* Enhancements to the diff and tkdiff commands in the cli.
6859
Allow the entire tree or a subtree to be diffed, not just a
6960
single file. Allow diffs against any two arbitrary versions,
7061
not just diffs against the current check-out.
7162
7263
--- todo.txt
+++ todo.txt
@@ -18,12 +18,10 @@
18 * Bug: If the server closes the socket unexpectedly, the
19 fwrite() in http.c:103 throws a signal and kills the child
20 process. fwrite() is not suppose to do this. Need to figure
21 out what is going wrong.
22
23 * Bug: pull is ending prematurely.
24
25 * Bug: Make sure merge and other commands (check-out) do not try
26 to use a phantom.
27
28 * Bug: When clone use incorrect http URL, local repo file is still created.
29
@@ -44,11 +42,11 @@
44
45 * The ipaddr field of the rcvfrom table is not being set. This
46 field should be the IP address from which information is received
47 for the local repository. So when somebody does a push of new
48 files we record the ipaddr. Or when we do a pull, we record
49 the ipaddr.
50
51 * Additional information displayed for the "vinfo" page:
52
53 + All leaves of this version that are not included in the
54 descendant list. With date, user, comment, and hyperlink.
@@ -55,17 +53,10 @@
55 Leaves in the descendant table should be marked as such.
56 See the compute_leaves() function to see how to find all
57 leaves.
58 + Add file diff links to the file change list.
59
60 * Timeline enhanced so that you can specify a range of dates.
61
62 * The /xfer handler (for push, pull, and clone) does not do
63 delta compression. This results in excess bandwidth usage.
64 There are some pieces in xfer.c that are sketches of ideas on
65 how to do delta compression, but nothing has been implemented.
66
67 * Enhancements to the diff and tkdiff commands in the cli.
68 Allow the entire tree or a subtree to be diffed, not just a
69 single file. Allow diffs against any two arbitrary versions,
70 not just diffs against the current check-out.
71
72
--- todo.txt
+++ todo.txt
@@ -18,12 +18,10 @@
18 * Bug: If the server closes the socket unexpectedly, the
19 fwrite() in http.c:103 throws a signal and kills the child
20 process. fwrite() is not suppose to do this. Need to figure
21 out what is going wrong.
22
 
 
23 * Bug: Make sure merge and other commands (check-out) do not try
24 to use a phantom.
25
26 * Bug: When clone use incorrect http URL, local repo file is still created.
27
@@ -44,11 +42,11 @@
42
43 * The ipaddr field of the rcvfrom table is not being set. This
44 field should be the IP address from which information is received
45 for the local repository. So when somebody does a push of new
46 files we record the ipaddr. Or when we do a pull, we record
47 the ipaddr. (I think this has been fixed. Need to test.)
48
49 * Additional information displayed for the "vinfo" page:
50
51 + All leaves of this version that are not included in the
52 descendant list. With date, user, comment, and hyperlink.
@@ -55,17 +53,10 @@
53 Leaves in the descendant table should be marked as such.
54 See the compute_leaves() function to see how to find all
55 leaves.
56 + Add file diff links to the file change list.
57
 
 
 
 
 
 
 
58 * Enhancements to the diff and tkdiff commands in the cli.
59 Allow the entire tree or a subtree to be diffed, not just a
60 single file. Allow diffs against any two arbitrary versions,
61 not just diffs against the current check-out.
62
63
+1 -10
--- todo.txt
+++ todo.txt
@@ -18,12 +18,10 @@
1818
* Bug: If the server closes the socket unexpectedly, the
1919
fwrite() in http.c:103 throws a signal and kills the child
2020
process. fwrite() is not suppose to do this. Need to figure
2121
out what is going wrong.
2222
23
- * Bug: pull is ending prematurely.
24
-
2523
* Bug: Make sure merge and other commands (check-out) do not try
2624
to use a phantom.
2725
2826
* Bug: When clone use incorrect http URL, local repo file is still created.
2927
@@ -44,11 +42,11 @@
4442
4543
* The ipaddr field of the rcvfrom table is not being set. This
4644
field should be the IP address from which information is received
4745
for the local repository. So when somebody does a push of new
4846
files we record the ipaddr. Or when we do a pull, we record
49
- the ipaddr.
47
+ the ipaddr. (I think this has been fixed. Need to test.)
5048
5149
* Additional information displayed for the "vinfo" page:
5250
5351
+ All leaves of this version that are not included in the
5452
descendant list. With date, user, comment, and hyperlink.
@@ -55,17 +53,10 @@
5553
Leaves in the descendant table should be marked as such.
5654
See the compute_leaves() function to see how to find all
5755
leaves.
5856
+ Add file diff links to the file change list.
5957
60
- * Timeline enhanced so that you can specify a range of dates.
61
-
62
- * The /xfer handler (for push, pull, and clone) does not do
63
- delta compression. This results in excess bandwidth usage.
64
- There are some pieces in xfer.c that are sketches of ideas on
65
- how to do delta compression, but nothing has been implemented.
66
-
6758
* Enhancements to the diff and tkdiff commands in the cli.
6859
Allow the entire tree or a subtree to be diffed, not just a
6960
single file. Allow diffs against any two arbitrary versions,
7061
not just diffs against the current check-out.
7162
7263
--- todo.txt
+++ todo.txt
@@ -18,12 +18,10 @@
18 * Bug: If the server closes the socket unexpectedly, the
19 fwrite() in http.c:103 throws a signal and kills the child
20 process. fwrite() is not suppose to do this. Need to figure
21 out what is going wrong.
22
23 * Bug: pull is ending prematurely.
24
25 * Bug: Make sure merge and other commands (check-out) do not try
26 to use a phantom.
27
28 * Bug: When clone use incorrect http URL, local repo file is still created.
29
@@ -44,11 +42,11 @@
44
45 * The ipaddr field of the rcvfrom table is not being set. This
46 field should be the IP address from which information is received
47 for the local repository. So when somebody does a push of new
48 files we record the ipaddr. Or when we do a pull, we record
49 the ipaddr.
50
51 * Additional information displayed for the "vinfo" page:
52
53 + All leaves of this version that are not included in the
54 descendant list. With date, user, comment, and hyperlink.
@@ -55,17 +53,10 @@
55 Leaves in the descendant table should be marked as such.
56 See the compute_leaves() function to see how to find all
57 leaves.
58 + Add file diff links to the file change list.
59
60 * Timeline enhanced so that you can specify a range of dates.
61
62 * The /xfer handler (for push, pull, and clone) does not do
63 delta compression. This results in excess bandwidth usage.
64 There are some pieces in xfer.c that are sketches of ideas on
65 how to do delta compression, but nothing has been implemented.
66
67 * Enhancements to the diff and tkdiff commands in the cli.
68 Allow the entire tree or a subtree to be diffed, not just a
69 single file. Allow diffs against any two arbitrary versions,
70 not just diffs against the current check-out.
71
72
--- todo.txt
+++ todo.txt
@@ -18,12 +18,10 @@
18 * Bug: If the server closes the socket unexpectedly, the
19 fwrite() in http.c:103 throws a signal and kills the child
20 process. fwrite() is not suppose to do this. Need to figure
21 out what is going wrong.
22
 
 
23 * Bug: Make sure merge and other commands (check-out) do not try
24 to use a phantom.
25
26 * Bug: When clone use incorrect http URL, local repo file is still created.
27
@@ -44,11 +42,11 @@
42
43 * The ipaddr field of the rcvfrom table is not being set. This
44 field should be the IP address from which information is received
45 for the local repository. So when somebody does a push of new
46 files we record the ipaddr. Or when we do a pull, we record
47 the ipaddr. (I think this has been fixed. Need to test.)
48
49 * Additional information displayed for the "vinfo" page:
50
51 + All leaves of this version that are not included in the
52 descendant list. With date, user, comment, and hyperlink.
@@ -55,17 +53,10 @@
53 Leaves in the descendant table should be marked as such.
54 See the compute_leaves() function to see how to find all
55 leaves.
56 + Add file diff links to the file change list.
57
 
 
 
 
 
 
 
58 * Enhancements to the diff and tkdiff commands in the cli.
59 Allow the entire tree or a subtree to be diffed, not just a
60 single file. Allow diffs against any two arbitrary versions,
61 not just diffs against the current check-out.
62
63

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button