Fossil SCM

After a few days of internal use for testing, merge the changes for the new LEAF meta-data table into the trunk. NB: "<b>fossil all rebuild</b>" is required when updating through this change.

drh 2011-02-02 01:09 trunk merge
Commit 5ac4e151829333c4f16507ea2fd6c4dae45f986c
+12 -24
--- src/branch.c
+++ src/branch.c
@@ -205,16 +205,17 @@
205205
if( g.localOpen ){
206206
vid = db_lget_int("checkout", 0);
207207
zCurrent = db_text(0, "SELECT value FROM tagxref"
208208
" WHERE rid=%d AND tagid=%d", vid, TAG_BRANCH);
209209
}
210
- compute_leaves(0, 1);
211210
db_prepare(&q,
212211
"SELECT DISTINCT value FROM tagxref"
213
- " WHERE tagid=%d AND value NOT NULL AND rid IN leaves"
212
+ " WHERE tagid=%d AND value NOT NULL"
213
+ " AND rid IN leaf"
214
+ " AND NOT %z"
214215
" ORDER BY value /*sort*/",
215
- TAG_BRANCH
216
+ TAG_BRANCH, leaf_is_closed_sql("tagxref.rid")
216217
);
217218
while( db_step(&q)==SQLITE_ROW ){
218219
const char *zBr = db_column_text(&q, 0);
219220
int isCur = zCurrent!=0 && fossil_strcmp(zCurrent,zBr)==0;
220221
printf("%s%s\n", (isCur ? "* " : " "), zBr);
@@ -245,11 +246,10 @@
245246
style_submenu_element("Open","Open","brlist");
246247
}else{
247248
style_submenu_element("Closed","Closed","brlist?closed");
248249
}
249250
login_anonymous_available();
250
- compute_leaves(0, 1);
251251
style_sidebox_begin("Nomenclature:", "33%");
252252
@ <ol>
253253
@ <li> An <div class="sideboxDescribed"><a href="brlist">
254254
@ open branch</a></div> is a branch that has one or
255255
@ more <a href="leaves">open leaves.</a>
@@ -263,30 +263,18 @@
263263
@ reopened)</li>
264264
@ </ol>
265265
style_sidebox_end();
266266
267267
cnt = 0;
268
- if( !showClosed ){
269
- db_prepare(&q,
270
- "SELECT DISTINCT value FROM tagxref"
271
- " WHERE tagid=%d AND value NOT NULL"
272
- " AND rid IN leaves"
273
- " ORDER BY value /*sort*/",
274
- TAG_BRANCH
275
- );
276
- }else{
277
- db_prepare(&q,
278
- "SELECT value FROM tagxref"
279
- " WHERE tagid=%d AND value NOT NULL"
280
- " EXCEPT "
281
- "SELECT value FROM tagxref"
282
- " WHERE tagid=%d AND value NOT NULL"
283
- " AND rid IN leaves"
284
- " ORDER BY value /*sort*/",
285
- TAG_BRANCH, TAG_BRANCH
286
- );
287
- }
268
+ db_prepare(&q,
269
+ "SELECT DISTINCT value FROM tagxref"
270
+ " WHERE tagid=%d AND value NOT NULL"
271
+ " AND rid IN leaf"
272
+ " AND %s %z"
273
+ " ORDER BY value /*sort*/",
274
+ TAG_BRANCH, showClosed ? "" : "NOT", leaf_is_closed_sql("tagxref.rid")
275
+ );
288276
while( db_step(&q)==SQLITE_ROW ){
289277
const char *zBr = db_column_text(&q, 0);
290278
if( cnt==0 ){
291279
if( showClosed ){
292280
@ <h2>Closed Branches:</h2>
293281
--- src/branch.c
+++ src/branch.c
@@ -205,16 +205,17 @@
205 if( g.localOpen ){
206 vid = db_lget_int("checkout", 0);
207 zCurrent = db_text(0, "SELECT value FROM tagxref"
208 " WHERE rid=%d AND tagid=%d", vid, TAG_BRANCH);
209 }
210 compute_leaves(0, 1);
211 db_prepare(&q,
212 "SELECT DISTINCT value FROM tagxref"
213 " WHERE tagid=%d AND value NOT NULL AND rid IN leaves"
 
 
214 " ORDER BY value /*sort*/",
215 TAG_BRANCH
216 );
217 while( db_step(&q)==SQLITE_ROW ){
218 const char *zBr = db_column_text(&q, 0);
219 int isCur = zCurrent!=0 && fossil_strcmp(zCurrent,zBr)==0;
220 printf("%s%s\n", (isCur ? "* " : " "), zBr);
@@ -245,11 +246,10 @@
245 style_submenu_element("Open","Open","brlist");
246 }else{
247 style_submenu_element("Closed","Closed","brlist?closed");
248 }
249 login_anonymous_available();
250 compute_leaves(0, 1);
251 style_sidebox_begin("Nomenclature:", "33%");
252 @ <ol>
253 @ <li> An <div class="sideboxDescribed"><a href="brlist">
254 @ open branch</a></div> is a branch that has one or
255 @ more <a href="leaves">open leaves.</a>
@@ -263,30 +263,18 @@
263 @ reopened)</li>
264 @ </ol>
265 style_sidebox_end();
266
267 cnt = 0;
268 if( !showClosed ){
269 db_prepare(&q,
270 "SELECT DISTINCT value FROM tagxref"
271 " WHERE tagid=%d AND value NOT NULL"
272 " AND rid IN leaves"
273 " ORDER BY value /*sort*/",
274 TAG_BRANCH
275 );
276 }else{
277 db_prepare(&q,
278 "SELECT value FROM tagxref"
279 " WHERE tagid=%d AND value NOT NULL"
280 " EXCEPT "
281 "SELECT value FROM tagxref"
282 " WHERE tagid=%d AND value NOT NULL"
283 " AND rid IN leaves"
284 " ORDER BY value /*sort*/",
285 TAG_BRANCH, TAG_BRANCH
286 );
287 }
288 while( db_step(&q)==SQLITE_ROW ){
289 const char *zBr = db_column_text(&q, 0);
290 if( cnt==0 ){
291 if( showClosed ){
292 @ <h2>Closed Branches:</h2>
293
--- src/branch.c
+++ src/branch.c
@@ -205,16 +205,17 @@
205 if( g.localOpen ){
206 vid = db_lget_int("checkout", 0);
207 zCurrent = db_text(0, "SELECT value FROM tagxref"
208 " WHERE rid=%d AND tagid=%d", vid, TAG_BRANCH);
209 }
 
210 db_prepare(&q,
211 "SELECT DISTINCT value FROM tagxref"
212 " WHERE tagid=%d AND value NOT NULL"
213 " AND rid IN leaf"
214 " AND NOT %z"
215 " ORDER BY value /*sort*/",
216 TAG_BRANCH, leaf_is_closed_sql("tagxref.rid")
217 );
218 while( db_step(&q)==SQLITE_ROW ){
219 const char *zBr = db_column_text(&q, 0);
220 int isCur = zCurrent!=0 && fossil_strcmp(zCurrent,zBr)==0;
221 printf("%s%s\n", (isCur ? "* " : " "), zBr);
@@ -245,11 +246,10 @@
246 style_submenu_element("Open","Open","brlist");
247 }else{
248 style_submenu_element("Closed","Closed","brlist?closed");
249 }
250 login_anonymous_available();
 
251 style_sidebox_begin("Nomenclature:", "33%");
252 @ <ol>
253 @ <li> An <div class="sideboxDescribed"><a href="brlist">
254 @ open branch</a></div> is a branch that has one or
255 @ more <a href="leaves">open leaves.</a>
@@ -263,30 +263,18 @@
263 @ reopened)</li>
264 @ </ol>
265 style_sidebox_end();
266
267 cnt = 0;
268 db_prepare(&q,
269 "SELECT DISTINCT value FROM tagxref"
270 " WHERE tagid=%d AND value NOT NULL"
271 " AND rid IN leaf"
272 " AND %s %z"
273 " ORDER BY value /*sort*/",
274 TAG_BRANCH, showClosed ? "" : "NOT", leaf_is_closed_sql("tagxref.rid")
275 );
 
 
 
 
 
 
 
 
 
 
 
 
276 while( db_step(&q)==SQLITE_ROW ){
277 const char *zBr = db_column_text(&q, 0);
278 if( cnt==0 ){
279 if( showClosed ){
280 @ <h2>Closed Branches:</h2>
281
+1
--- src/db.c
+++ src/db.c
@@ -123,10 +123,11 @@
123123
if( nBegin<=0 ) return;
124124
if( rollbackFlag ) doRollback = 1;
125125
nBegin--;
126126
if( nBegin==0 ){
127127
int i;
128
+ if( doRollback==0 ) leaf_do_pending_checks();
128129
for(i=0; doRollback==0 && i<nCommitHook; i++){
129130
doRollback |= aHook[i].xHook();
130131
}
131132
while( pAllStmt ){
132133
db_finalize(pAllStmt);
133134
--- src/db.c
+++ src/db.c
@@ -123,10 +123,11 @@
123 if( nBegin<=0 ) return;
124 if( rollbackFlag ) doRollback = 1;
125 nBegin--;
126 if( nBegin==0 ){
127 int i;
 
128 for(i=0; doRollback==0 && i<nCommitHook; i++){
129 doRollback |= aHook[i].xHook();
130 }
131 while( pAllStmt ){
132 db_finalize(pAllStmt);
133
--- src/db.c
+++ src/db.c
@@ -123,10 +123,11 @@
123 if( nBegin<=0 ) return;
124 if( rollbackFlag ) doRollback = 1;
125 nBegin--;
126 if( nBegin==0 ){
127 int i;
128 if( doRollback==0 ) leaf_do_pending_checks();
129 for(i=0; doRollback==0 && i<nCommitHook; i++){
130 doRollback |= aHook[i].xHook();
131 }
132 while( pAllStmt ){
133 db_finalize(pAllStmt);
134
+33 -44
--- src/descendants.c
+++ src/descendants.c
@@ -25,14 +25,16 @@
2525
2626
/*
2727
** Create a temporary table named "leaves" if it does not
2828
** already exist. Load this table with the RID of all
2929
** check-ins that are leaves which are decended from
30
-** check-in iBase. If iBase==0, find all leaves within the
31
-** entire check-in hierarchy.
30
+** check-in iBase.
3231
**
3332
** A "leaf" is a check-in that has no children in the same branch.
33
+** There is a separate permanent table LEAF that contains all leaves
34
+** in the tree. This routine is used to compute a subset of that
35
+** table consisting of leaves that are descended from a single checkin.
3436
**
3537
** The closeMode flag determines behavior associated with the "closed"
3638
** tag:
3739
**
3840
** closeMode==0 Show all leaves regardless of the "closed" tag.
@@ -55,26 +57,11 @@
5557
" rid INTEGER PRIMARY KEY"
5658
");"
5759
"DELETE FROM leaves;"
5860
);
5961
60
- /* We are checking all descendants of iBase. If iBase==0, then
61
- ** use a short-cut to find all leaves anywhere in the hierarchy.
62
- */
63
- if( iBase<=0 ){
64
- db_multi_exec(
65
- "INSERT OR IGNORE INTO leaves"
66
- " SELECT cid FROM plink"
67
- " EXCEPT"
68
- " SELECT pid FROM plink"
69
- " WHERE coalesce((SELECT value FROM tagxref"
70
- " WHERE tagid=%d AND rid=plink.pid),'trunk')"
71
- " == coalesce((SELECT value FROM tagxref"
72
- " WHERE tagid=%d AND rid=plink.cid),'trunk');",
73
- TAG_BRANCH, TAG_BRANCH
74
- );
75
- }else{
62
+ if( iBase>0 ){
7663
Bag seen; /* Descendants seen */
7764
Bag pending; /* Unpropagated descendants */
7865
Stmt q1; /* Query to find children of a check-in */
7966
Stmt isBr; /* Query to check to see if a check-in starts a new branch */
8067
Stmt ins; /* INSERT statement for a new record */
@@ -262,45 +249,44 @@
262249
** Usage: %fossil leaves ?--all? ?--closed?
263250
**
264251
** Find leaves of all branches. By default show only open leaves.
265252
** The --all flag causes all leaves (closed and open) to be shown.
266253
** The --closed flag shows only closed leaves.
254
+**
255
+** The --recompute flag causes the content of the "leaf" table in the
256
+** repository database to be recomputed.
267257
*/
268258
void leaves_cmd(void){
269259
Stmt q;
260
+ Blob sql;
270261
int showAll = find_option("all", 0, 0)!=0;
271262
int showClosed = find_option("closed", 0, 0)!=0;
263
+ int recomputeFlag = find_option("recompute",0,0)!=0;
272264
273265
db_must_be_within_tree();
274
- compute_leaves(0, showAll ? 0 : showClosed ? 2 : 1);
275
- db_prepare(&q,
276
- "%s"
277
- " AND blob.rid IN leaves"
278
- " ORDER BY event.mtime DESC",
279
- timeline_query_for_tty()
280
- );
266
+ if( recomputeFlag ) leaf_rebuild();
267
+ blob_zero(&sql);
268
+ blob_append(&sql, timeline_query_for_tty(), -1);
269
+ blob_appendf(&sql, " AND blob.rid IN leaf");
270
+ if( showClosed ){
271
+ blob_appendf(&sql," AND %z", leaf_is_closed_sql("blob.rid"));
272
+ }else if( !showAll ){
273
+ blob_appendf(&sql," AND NOT %z", leaf_is_closed_sql("blob.rid"));
274
+ }
275
+ db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_str(&sql));
276
+ blob_reset(&sql);
281277
print_timeline(&q, 2000);
282278
db_finalize(&q);
283279
}
284280
285
-/*
286
-** This routine is called while for each check-in that is rendered by
287
-** the "leaves" page. Add some additional hyperlink to show the
288
-** ancestors of the leaf.
289
-*/
290
-static void leaves_extra(int rid){
291
- if( g.okHistory ){
292
- @ <a href="%s(g.zTop)/timeline?p=%d(rid)">[timeline]</a>
293
- }
294
-}
295
-
296281
/*
297282
** WEBPAGE: leaves
298283
**
299284
** Find leaves of all branches.
300285
*/
301286
void leaves_page(void){
287
+ Blob sql;
302288
Stmt q;
303289
int showAll = P("all")!=0;
304290
int showClosed = P("closed")!=0;
305291
306292
login_check_credentials();
@@ -315,11 +301,10 @@
315301
if( showClosed || showAll ){
316302
style_submenu_element("Open", "Open", "leaves");
317303
}
318304
style_header("Leaves");
319305
login_anonymous_available();
320
- compute_leaves(0, showAll ? 0 : showClosed ? 2 : 1);
321306
style_sidebox_begin("Nomenclature:", "33%");
322307
@ <ol>
323308
@ <li> A <div class="sideboxDescribed">leaf</div>
324309
@ is a check-in with no descendants in the same branch.</li>
325310
@ <li> An <div class="sideboxDescribed">open leaf</div>
@@ -336,17 +321,21 @@
336321
}else if( showClosed ){
337322
@ <h1>Closed leaves:</h1>
338323
}else{
339324
@ <h1>Open leaves:</h1>
340325
}
341
- db_prepare(&q,
342
- "%s"
343
- " AND blob.rid IN leaves"
344
- " ORDER BY event.mtime DESC",
345
- timeline_query_for_www()
346
- );
347
- www_print_timeline(&q, TIMELINE_LEAFONLY, 0, 0, leaves_extra);
326
+ blob_zero(&sql);
327
+ blob_append(&sql, timeline_query_for_www(), -1);
328
+ blob_appendf(&sql, " AND blob.rid IN leaf");
329
+ if( showClosed ){
330
+ blob_appendf(&sql," AND %z", leaf_is_closed_sql("blob.rid"));
331
+ }else if( !showAll ){
332
+ blob_appendf(&sql," AND NOT %z", leaf_is_closed_sql("blob.rid"));
333
+ }
334
+ db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_str(&sql));
335
+ blob_reset(&sql);
336
+ www_print_timeline(&q, TIMELINE_LEAFONLY, 0, 0, 0);
348337
db_finalize(&q);
349338
@ <br />
350339
@ <script type="text/JavaScript">
351340
@ function xin(id){
352341
@ }
353342
354343
ADDED src/leaf.c
--- src/descendants.c
+++ src/descendants.c
@@ -25,14 +25,16 @@
25
26 /*
27 ** Create a temporary table named "leaves" if it does not
28 ** already exist. Load this table with the RID of all
29 ** check-ins that are leaves which are decended from
30 ** check-in iBase. If iBase==0, find all leaves within the
31 ** entire check-in hierarchy.
32 **
33 ** A "leaf" is a check-in that has no children in the same branch.
 
 
 
34 **
35 ** The closeMode flag determines behavior associated with the "closed"
36 ** tag:
37 **
38 ** closeMode==0 Show all leaves regardless of the "closed" tag.
@@ -55,26 +57,11 @@
55 " rid INTEGER PRIMARY KEY"
56 ");"
57 "DELETE FROM leaves;"
58 );
59
60 /* We are checking all descendants of iBase. If iBase==0, then
61 ** use a short-cut to find all leaves anywhere in the hierarchy.
62 */
63 if( iBase<=0 ){
64 db_multi_exec(
65 "INSERT OR IGNORE INTO leaves"
66 " SELECT cid FROM plink"
67 " EXCEPT"
68 " SELECT pid FROM plink"
69 " WHERE coalesce((SELECT value FROM tagxref"
70 " WHERE tagid=%d AND rid=plink.pid),'trunk')"
71 " == coalesce((SELECT value FROM tagxref"
72 " WHERE tagid=%d AND rid=plink.cid),'trunk');",
73 TAG_BRANCH, TAG_BRANCH
74 );
75 }else{
76 Bag seen; /* Descendants seen */
77 Bag pending; /* Unpropagated descendants */
78 Stmt q1; /* Query to find children of a check-in */
79 Stmt isBr; /* Query to check to see if a check-in starts a new branch */
80 Stmt ins; /* INSERT statement for a new record */
@@ -262,45 +249,44 @@
262 ** Usage: %fossil leaves ?--all? ?--closed?
263 **
264 ** Find leaves of all branches. By default show only open leaves.
265 ** The --all flag causes all leaves (closed and open) to be shown.
266 ** The --closed flag shows only closed leaves.
 
 
 
267 */
268 void leaves_cmd(void){
269 Stmt q;
 
270 int showAll = find_option("all", 0, 0)!=0;
271 int showClosed = find_option("closed", 0, 0)!=0;
 
272
273 db_must_be_within_tree();
274 compute_leaves(0, showAll ? 0 : showClosed ? 2 : 1);
275 db_prepare(&q,
276 "%s"
277 " AND blob.rid IN leaves"
278 " ORDER BY event.mtime DESC",
279 timeline_query_for_tty()
280 );
 
 
 
 
281 print_timeline(&q, 2000);
282 db_finalize(&q);
283 }
284
285 /*
286 ** This routine is called while for each check-in that is rendered by
287 ** the "leaves" page. Add some additional hyperlink to show the
288 ** ancestors of the leaf.
289 */
290 static void leaves_extra(int rid){
291 if( g.okHistory ){
292 @ <a href="%s(g.zTop)/timeline?p=%d(rid)">[timeline]</a>
293 }
294 }
295
296 /*
297 ** WEBPAGE: leaves
298 **
299 ** Find leaves of all branches.
300 */
301 void leaves_page(void){
 
302 Stmt q;
303 int showAll = P("all")!=0;
304 int showClosed = P("closed")!=0;
305
306 login_check_credentials();
@@ -315,11 +301,10 @@
315 if( showClosed || showAll ){
316 style_submenu_element("Open", "Open", "leaves");
317 }
318 style_header("Leaves");
319 login_anonymous_available();
320 compute_leaves(0, showAll ? 0 : showClosed ? 2 : 1);
321 style_sidebox_begin("Nomenclature:", "33%");
322 @ <ol>
323 @ <li> A <div class="sideboxDescribed">leaf</div>
324 @ is a check-in with no descendants in the same branch.</li>
325 @ <li> An <div class="sideboxDescribed">open leaf</div>
@@ -336,17 +321,21 @@
336 }else if( showClosed ){
337 @ <h1>Closed leaves:</h1>
338 }else{
339 @ <h1>Open leaves:</h1>
340 }
341 db_prepare(&q,
342 "%s"
343 " AND blob.rid IN leaves"
344 " ORDER BY event.mtime DESC",
345 timeline_query_for_www()
346 );
347 www_print_timeline(&q, TIMELINE_LEAFONLY, 0, 0, leaves_extra);
 
 
 
 
348 db_finalize(&q);
349 @ <br />
350 @ <script type="text/JavaScript">
351 @ function xin(id){
352 @ }
353
354 DDED src/leaf.c
--- src/descendants.c
+++ src/descendants.c
@@ -25,14 +25,16 @@
25
26 /*
27 ** Create a temporary table named "leaves" if it does not
28 ** already exist. Load this table with the RID of all
29 ** check-ins that are leaves which are decended from
30 ** check-in iBase.
 
31 **
32 ** A "leaf" is a check-in that has no children in the same branch.
33 ** There is a separate permanent table LEAF that contains all leaves
34 ** in the tree. This routine is used to compute a subset of that
35 ** table consisting of leaves that are descended from a single checkin.
36 **
37 ** The closeMode flag determines behavior associated with the "closed"
38 ** tag:
39 **
40 ** closeMode==0 Show all leaves regardless of the "closed" tag.
@@ -55,26 +57,11 @@
57 " rid INTEGER PRIMARY KEY"
58 ");"
59 "DELETE FROM leaves;"
60 );
61
62 if( iBase>0 ){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63 Bag seen; /* Descendants seen */
64 Bag pending; /* Unpropagated descendants */
65 Stmt q1; /* Query to find children of a check-in */
66 Stmt isBr; /* Query to check to see if a check-in starts a new branch */
67 Stmt ins; /* INSERT statement for a new record */
@@ -262,45 +249,44 @@
249 ** Usage: %fossil leaves ?--all? ?--closed?
250 **
251 ** Find leaves of all branches. By default show only open leaves.
252 ** The --all flag causes all leaves (closed and open) to be shown.
253 ** The --closed flag shows only closed leaves.
254 **
255 ** The --recompute flag causes the content of the "leaf" table in the
256 ** repository database to be recomputed.
257 */
258 void leaves_cmd(void){
259 Stmt q;
260 Blob sql;
261 int showAll = find_option("all", 0, 0)!=0;
262 int showClosed = find_option("closed", 0, 0)!=0;
263 int recomputeFlag = find_option("recompute",0,0)!=0;
264
265 db_must_be_within_tree();
266 if( recomputeFlag ) leaf_rebuild();
267 blob_zero(&sql);
268 blob_append(&sql, timeline_query_for_tty(), -1);
269 blob_appendf(&sql, " AND blob.rid IN leaf");
270 if( showClosed ){
271 blob_appendf(&sql," AND %z", leaf_is_closed_sql("blob.rid"));
272 }else if( !showAll ){
273 blob_appendf(&sql," AND NOT %z", leaf_is_closed_sql("blob.rid"));
274 }
275 db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_str(&sql));
276 blob_reset(&sql);
277 print_timeline(&q, 2000);
278 db_finalize(&q);
279 }
280
 
 
 
 
 
 
 
 
 
 
 
281 /*
282 ** WEBPAGE: leaves
283 **
284 ** Find leaves of all branches.
285 */
286 void leaves_page(void){
287 Blob sql;
288 Stmt q;
289 int showAll = P("all")!=0;
290 int showClosed = P("closed")!=0;
291
292 login_check_credentials();
@@ -315,11 +301,10 @@
301 if( showClosed || showAll ){
302 style_submenu_element("Open", "Open", "leaves");
303 }
304 style_header("Leaves");
305 login_anonymous_available();
 
306 style_sidebox_begin("Nomenclature:", "33%");
307 @ <ol>
308 @ <li> A <div class="sideboxDescribed">leaf</div>
309 @ is a check-in with no descendants in the same branch.</li>
310 @ <li> An <div class="sideboxDescribed">open leaf</div>
@@ -336,17 +321,21 @@
321 }else if( showClosed ){
322 @ <h1>Closed leaves:</h1>
323 }else{
324 @ <h1>Open leaves:</h1>
325 }
326 blob_zero(&sql);
327 blob_append(&sql, timeline_query_for_www(), -1);
328 blob_appendf(&sql, " AND blob.rid IN leaf");
329 if( showClosed ){
330 blob_appendf(&sql," AND %z", leaf_is_closed_sql("blob.rid"));
331 }else if( !showAll ){
332 blob_appendf(&sql," AND NOT %z", leaf_is_closed_sql("blob.rid"));
333 }
334 db_prepare(&q, "%s ORDER BY event.mtime DESC", blob_str(&sql));
335 blob_reset(&sql);
336 www_print_timeline(&q, TIMELINE_LEAFONLY, 0, 0, 0);
337 db_finalize(&q);
338 @ <br />
339 @ <script type="text/JavaScript">
340 @ function xin(id){
341 @ }
342
343 DDED src/leaf.c
+1
--- a/src/leaf.c
+++ b/src/leaf.c
@@ -0,0 +1 @@
1
+"rimary child is one w WHERE cid=:rid"
--- a/src/leaf.c
+++ b/src/leaf.c
@@ -0,0 +1 @@
 
--- a/src/leaf.c
+++ b/src/leaf.c
@@ -0,0 +1 @@
1 "rimary child is one w WHERE cid=:rid"
+11 -1
--- src/main.mk
+++ src/main.mk
@@ -45,10 +45,11 @@
4545
$(SRCDIR)/http_socket.c \
4646
$(SRCDIR)/http_ssl.c \
4747
$(SRCDIR)/http_transport.c \
4848
$(SRCDIR)/import.c \
4949
$(SRCDIR)/info.c \
50
+ $(SRCDIR)/leaf.c \
5051
$(SRCDIR)/login.c \
5152
$(SRCDIR)/main.c \
5253
$(SRCDIR)/manifest.c \
5354
$(SRCDIR)/md5.c \
5455
$(SRCDIR)/merge.c \
@@ -124,10 +125,11 @@
124125
$(OBJDIR)/http_socket_.c \
125126
$(OBJDIR)/http_ssl_.c \
126127
$(OBJDIR)/http_transport_.c \
127128
$(OBJDIR)/import_.c \
128129
$(OBJDIR)/info_.c \
130
+ $(OBJDIR)/leaf_.c \
129131
$(OBJDIR)/login_.c \
130132
$(OBJDIR)/main_.c \
131133
$(OBJDIR)/manifest_.c \
132134
$(OBJDIR)/md5_.c \
133135
$(OBJDIR)/merge_.c \
@@ -203,10 +205,11 @@
203205
$(OBJDIR)/http_socket.o \
204206
$(OBJDIR)/http_ssl.o \
205207
$(OBJDIR)/http_transport.o \
206208
$(OBJDIR)/import.o \
207209
$(OBJDIR)/info.o \
210
+ $(OBJDIR)/leaf.o \
208211
$(OBJDIR)/login.o \
209212
$(OBJDIR)/main.o \
210213
$(OBJDIR)/manifest.o \
211214
$(OBJDIR)/md5.o \
212215
$(OBJDIR)/merge.o \
@@ -295,11 +298,11 @@
295298
296299
297300
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
298301
$(OBJDIR)/mkindex $(TRANS_SRC) >$@
299302
$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
300
- $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
303
+ $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
301304
touch $(OBJDIR)/headers
302305
$(OBJDIR)/headers: Makefile
303306
Makefile:
304307
$(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
305308
$(OBJDIR)/translate $(SRCDIR)/add.c >$(OBJDIR)/add_.c
@@ -551,10 +554,17 @@
551554
552555
$(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h
553556
$(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c
554557
555558
$(OBJDIR)/info.h: $(OBJDIR)/headers
559
+$(OBJDIR)/leaf_.c: $(SRCDIR)/leaf.c $(OBJDIR)/translate
560
+ $(OBJDIR)/translate $(SRCDIR)/leaf.c >$(OBJDIR)/leaf_.c
561
+
562
+$(OBJDIR)/leaf.o: $(OBJDIR)/leaf_.c $(OBJDIR)/leaf.h $(SRCDIR)/config.h
563
+ $(XTCC) -o $(OBJDIR)/leaf.o -c $(OBJDIR)/leaf_.c
564
+
565
+$(OBJDIR)/leaf.h: $(OBJDIR)/headers
556566
$(OBJDIR)/login_.c: $(SRCDIR)/login.c $(OBJDIR)/translate
557567
$(OBJDIR)/translate $(SRCDIR)/login.c >$(OBJDIR)/login_.c
558568
559569
$(OBJDIR)/login.o: $(OBJDIR)/login_.c $(OBJDIR)/login.h $(SRCDIR)/config.h
560570
$(XTCC) -o $(OBJDIR)/login.o -c $(OBJDIR)/login_.c
561571
--- src/main.mk
+++ src/main.mk
@@ -45,10 +45,11 @@
45 $(SRCDIR)/http_socket.c \
46 $(SRCDIR)/http_ssl.c \
47 $(SRCDIR)/http_transport.c \
48 $(SRCDIR)/import.c \
49 $(SRCDIR)/info.c \
 
50 $(SRCDIR)/login.c \
51 $(SRCDIR)/main.c \
52 $(SRCDIR)/manifest.c \
53 $(SRCDIR)/md5.c \
54 $(SRCDIR)/merge.c \
@@ -124,10 +125,11 @@
124 $(OBJDIR)/http_socket_.c \
125 $(OBJDIR)/http_ssl_.c \
126 $(OBJDIR)/http_transport_.c \
127 $(OBJDIR)/import_.c \
128 $(OBJDIR)/info_.c \
 
129 $(OBJDIR)/login_.c \
130 $(OBJDIR)/main_.c \
131 $(OBJDIR)/manifest_.c \
132 $(OBJDIR)/md5_.c \
133 $(OBJDIR)/merge_.c \
@@ -203,10 +205,11 @@
203 $(OBJDIR)/http_socket.o \
204 $(OBJDIR)/http_ssl.o \
205 $(OBJDIR)/http_transport.o \
206 $(OBJDIR)/import.o \
207 $(OBJDIR)/info.o \
 
208 $(OBJDIR)/login.o \
209 $(OBJDIR)/main.o \
210 $(OBJDIR)/manifest.o \
211 $(OBJDIR)/md5.o \
212 $(OBJDIR)/merge.o \
@@ -295,11 +298,11 @@
295
296
297 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
298 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
299 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
300 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
301 touch $(OBJDIR)/headers
302 $(OBJDIR)/headers: Makefile
303 Makefile:
304 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
305 $(OBJDIR)/translate $(SRCDIR)/add.c >$(OBJDIR)/add_.c
@@ -551,10 +554,17 @@
551
552 $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h
553 $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c
554
555 $(OBJDIR)/info.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
556 $(OBJDIR)/login_.c: $(SRCDIR)/login.c $(OBJDIR)/translate
557 $(OBJDIR)/translate $(SRCDIR)/login.c >$(OBJDIR)/login_.c
558
559 $(OBJDIR)/login.o: $(OBJDIR)/login_.c $(OBJDIR)/login.h $(SRCDIR)/config.h
560 $(XTCC) -o $(OBJDIR)/login.o -c $(OBJDIR)/login_.c
561
--- src/main.mk
+++ src/main.mk
@@ -45,10 +45,11 @@
45 $(SRCDIR)/http_socket.c \
46 $(SRCDIR)/http_ssl.c \
47 $(SRCDIR)/http_transport.c \
48 $(SRCDIR)/import.c \
49 $(SRCDIR)/info.c \
50 $(SRCDIR)/leaf.c \
51 $(SRCDIR)/login.c \
52 $(SRCDIR)/main.c \
53 $(SRCDIR)/manifest.c \
54 $(SRCDIR)/md5.c \
55 $(SRCDIR)/merge.c \
@@ -124,10 +125,11 @@
125 $(OBJDIR)/http_socket_.c \
126 $(OBJDIR)/http_ssl_.c \
127 $(OBJDIR)/http_transport_.c \
128 $(OBJDIR)/import_.c \
129 $(OBJDIR)/info_.c \
130 $(OBJDIR)/leaf_.c \
131 $(OBJDIR)/login_.c \
132 $(OBJDIR)/main_.c \
133 $(OBJDIR)/manifest_.c \
134 $(OBJDIR)/md5_.c \
135 $(OBJDIR)/merge_.c \
@@ -203,10 +205,11 @@
205 $(OBJDIR)/http_socket.o \
206 $(OBJDIR)/http_ssl.o \
207 $(OBJDIR)/http_transport.o \
208 $(OBJDIR)/import.o \
209 $(OBJDIR)/info.o \
210 $(OBJDIR)/leaf.o \
211 $(OBJDIR)/login.o \
212 $(OBJDIR)/main.o \
213 $(OBJDIR)/manifest.o \
214 $(OBJDIR)/md5.o \
215 $(OBJDIR)/merge.o \
@@ -295,11 +298,11 @@
298
299
300 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
301 $(OBJDIR)/mkindex $(TRANS_SRC) >$@
302 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
303 $(OBJDIR)/makeheaders $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
304 touch $(OBJDIR)/headers
305 $(OBJDIR)/headers: Makefile
306 Makefile:
307 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
308 $(OBJDIR)/translate $(SRCDIR)/add.c >$(OBJDIR)/add_.c
@@ -551,10 +554,17 @@
554
555 $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h
556 $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c
557
558 $(OBJDIR)/info.h: $(OBJDIR)/headers
559 $(OBJDIR)/leaf_.c: $(SRCDIR)/leaf.c $(OBJDIR)/translate
560 $(OBJDIR)/translate $(SRCDIR)/leaf.c >$(OBJDIR)/leaf_.c
561
562 $(OBJDIR)/leaf.o: $(OBJDIR)/leaf_.c $(OBJDIR)/leaf.h $(SRCDIR)/config.h
563 $(XTCC) -o $(OBJDIR)/leaf.o -c $(OBJDIR)/leaf_.c
564
565 $(OBJDIR)/leaf.h: $(OBJDIR)/headers
566 $(OBJDIR)/login_.c: $(SRCDIR)/login.c $(OBJDIR)/translate
567 $(OBJDIR)/translate $(SRCDIR)/login.c >$(OBJDIR)/login_.c
568
569 $(OBJDIR)/login.o: $(OBJDIR)/login_.c $(OBJDIR)/login.h $(SRCDIR)/config.h
570 $(XTCC) -o $(OBJDIR)/login.o -c $(OBJDIR)/login_.c
571
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -51,10 +51,11 @@
5151
http
5252
http_socket
5353
http_transport
5454
import
5555
info
56
+ leaf
5657
login
5758
main
5859
manifest
5960
md5
6061
merge
6162
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -51,10 +51,11 @@
51 http
52 http_socket
53 http_transport
54 import
55 info
 
56 login
57 main
58 manifest
59 md5
60 merge
61
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -51,10 +51,11 @@
51 http
52 http_socket
53 http_transport
54 import
55 info
56 leaf
57 login
58 main
59 manifest
60 md5
61 merge
62
+14 -5
--- src/schema.c
+++ src/schema.c
@@ -40,11 +40,11 @@
4040
** a date) which can change frequently. When the content schema changes,
4141
** we have to execute special procedures to update the schema. When
4242
** the aux schema changes, all we need to do is rebuild the database.
4343
*/
4444
#define CONTENT_SCHEMA "1"
45
-#define AUX_SCHEMA "2010-11-24"
45
+#define AUX_SCHEMA "2011-01-28"
4646
4747
#endif /* INTERFACE */
4848
4949
5050
/*
@@ -189,15 +189,15 @@
189189
@ CREATE TABLE filename(
190190
@ fnid INTEGER PRIMARY KEY, -- Filename ID
191191
@ name TEXT UNIQUE -- Name of file page
192192
@ );
193193
@
194
-@ -- Linkages between manifests, files created by that manifest, and
194
+@ -- Linkages between checkins, files created by each checkin, and
195195
@ -- the names of those files.
196196
@ --
197
-@ -- pid==0 if the file is added by check-in mid.
198
-@ -- fid==0 if the file is removed by check-in mid.
197
+@ -- pid==0 if the file is added by checkin mid.
198
+@ -- fid==0 if the file is removed by checkin mid.
199199
@ --
200200
@ CREATE TABLE mlink(
201201
@ mid INTEGER REFERENCES blob, -- Manifest ID where change occurs
202202
@ pid INTEGER REFERENCES blob, -- File ID in parent manifest
203203
@ fid INTEGER REFERENCES blob, -- Changed file ID in this manifest
@@ -207,20 +207,29 @@
207207
@ CREATE INDEX mlink_i1 ON mlink(mid);
208208
@ CREATE INDEX mlink_i2 ON mlink(fnid);
209209
@ CREATE INDEX mlink_i3 ON mlink(fid);
210210
@ CREATE INDEX mlink_i4 ON mlink(pid);
211211
@
212
-@ -- Parent/child linkages
212
+@ -- Parent/child linkages between checkins
213213
@ --
214214
@ CREATE TABLE plink(
215215
@ pid INTEGER REFERENCES blob, -- Parent manifest
216216
@ cid INTEGER REFERENCES blob, -- Child manifest
217217
@ isprim BOOLEAN, -- pid is the primary parent of cid
218218
@ mtime DATETIME, -- the date/time stamp on cid
219219
@ UNIQUE(pid, cid)
220220
@ );
221221
@ CREATE INDEX plink_i2 ON plink(cid,pid);
222
+@
223
+@ -- A "leaf" checkin is a checkin that has no children in the same
224
+@ -- branch. The set of all leaves is easily computed with a join,
225
+@ -- between the plink and tagxref tables, but it is a slower join for
226
+@ -- very large repositories (repositories with 100,000 or more checkins)
227
+@ -- and so it makes sense to precompute the set of leaves. There is
228
+@ -- one entry in the following table for each leaf.
229
+@ --
230
+@ CREATE TABLE leaf(rid INTEGER PRIMARY KEY);
222231
@
223232
@ -- Events used to generate a timeline
224233
@ --
225234
@ CREATE TABLE event(
226235
@ type TEXT, -- Type of event: 'ci', 'w', 'e', 't'
227236
--- src/schema.c
+++ src/schema.c
@@ -40,11 +40,11 @@
40 ** a date) which can change frequently. When the content schema changes,
41 ** we have to execute special procedures to update the schema. When
42 ** the aux schema changes, all we need to do is rebuild the database.
43 */
44 #define CONTENT_SCHEMA "1"
45 #define AUX_SCHEMA "2010-11-24"
46
47 #endif /* INTERFACE */
48
49
50 /*
@@ -189,15 +189,15 @@
189 @ CREATE TABLE filename(
190 @ fnid INTEGER PRIMARY KEY, -- Filename ID
191 @ name TEXT UNIQUE -- Name of file page
192 @ );
193 @
194 @ -- Linkages between manifests, files created by that manifest, and
195 @ -- the names of those files.
196 @ --
197 @ -- pid==0 if the file is added by check-in mid.
198 @ -- fid==0 if the file is removed by check-in mid.
199 @ --
200 @ CREATE TABLE mlink(
201 @ mid INTEGER REFERENCES blob, -- Manifest ID where change occurs
202 @ pid INTEGER REFERENCES blob, -- File ID in parent manifest
203 @ fid INTEGER REFERENCES blob, -- Changed file ID in this manifest
@@ -207,20 +207,29 @@
207 @ CREATE INDEX mlink_i1 ON mlink(mid);
208 @ CREATE INDEX mlink_i2 ON mlink(fnid);
209 @ CREATE INDEX mlink_i3 ON mlink(fid);
210 @ CREATE INDEX mlink_i4 ON mlink(pid);
211 @
212 @ -- Parent/child linkages
213 @ --
214 @ CREATE TABLE plink(
215 @ pid INTEGER REFERENCES blob, -- Parent manifest
216 @ cid INTEGER REFERENCES blob, -- Child manifest
217 @ isprim BOOLEAN, -- pid is the primary parent of cid
218 @ mtime DATETIME, -- the date/time stamp on cid
219 @ UNIQUE(pid, cid)
220 @ );
221 @ CREATE INDEX plink_i2 ON plink(cid,pid);
 
 
 
 
 
 
 
 
 
222 @
223 @ -- Events used to generate a timeline
224 @ --
225 @ CREATE TABLE event(
226 @ type TEXT, -- Type of event: 'ci', 'w', 'e', 't'
227
--- src/schema.c
+++ src/schema.c
@@ -40,11 +40,11 @@
40 ** a date) which can change frequently. When the content schema changes,
41 ** we have to execute special procedures to update the schema. When
42 ** the aux schema changes, all we need to do is rebuild the database.
43 */
44 #define CONTENT_SCHEMA "1"
45 #define AUX_SCHEMA "2011-01-28"
46
47 #endif /* INTERFACE */
48
49
50 /*
@@ -189,15 +189,15 @@
189 @ CREATE TABLE filename(
190 @ fnid INTEGER PRIMARY KEY, -- Filename ID
191 @ name TEXT UNIQUE -- Name of file page
192 @ );
193 @
194 @ -- Linkages between checkins, files created by each checkin, and
195 @ -- the names of those files.
196 @ --
197 @ -- pid==0 if the file is added by checkin mid.
198 @ -- fid==0 if the file is removed by checkin mid.
199 @ --
200 @ CREATE TABLE mlink(
201 @ mid INTEGER REFERENCES blob, -- Manifest ID where change occurs
202 @ pid INTEGER REFERENCES blob, -- File ID in parent manifest
203 @ fid INTEGER REFERENCES blob, -- Changed file ID in this manifest
@@ -207,20 +207,29 @@
207 @ CREATE INDEX mlink_i1 ON mlink(mid);
208 @ CREATE INDEX mlink_i2 ON mlink(fnid);
209 @ CREATE INDEX mlink_i3 ON mlink(fid);
210 @ CREATE INDEX mlink_i4 ON mlink(pid);
211 @
212 @ -- Parent/child linkages between checkins
213 @ --
214 @ CREATE TABLE plink(
215 @ pid INTEGER REFERENCES blob, -- Parent manifest
216 @ cid INTEGER REFERENCES blob, -- Child manifest
217 @ isprim BOOLEAN, -- pid is the primary parent of cid
218 @ mtime DATETIME, -- the date/time stamp on cid
219 @ UNIQUE(pid, cid)
220 @ );
221 @ CREATE INDEX plink_i2 ON plink(cid,pid);
222 @
223 @ -- A "leaf" checkin is a checkin that has no children in the same
224 @ -- branch. The set of all leaves is easily computed with a join,
225 @ -- between the plink and tagxref tables, but it is a slower join for
226 @ -- very large repositories (repositories with 100,000 or more checkins)
227 @ -- and so it makes sense to precompute the set of leaves. There is
228 @ -- one entry in the following table for each leaf.
229 @ --
230 @ CREATE TABLE leaf(rid INTEGER PRIMARY KEY);
231 @
232 @ -- Events used to generate a timeline
233 @ --
234 @ CREATE TABLE event(
235 @ type TEXT, -- Type of event: 'ci', 'w', 'e', 't'
236
+5 -28
--- src/tag.c
+++ src/tag.c
@@ -85,10 +85,13 @@
8585
if( tagid==TAG_BGCOLOR ){
8686
db_bind_int(&eventupdate, ":rid", cid);
8787
db_step(&eventupdate);
8888
db_reset(&eventupdate);
8989
}
90
+ if( tagid==TAG_BRANCH ){
91
+ leaf_eventually_check(cid);
92
+ }
9093
}
9194
}
9295
db_reset(&s);
9396
}
9497
pqueue_clear(&queue);
@@ -174,10 +177,11 @@
174177
tagid, tagtype, srcId, rid, zValue, rid
175178
);
176179
db_bind_double(&s, ":mtime", mtime);
177180
db_step(&s);
178181
db_finalize(&s);
182
+ if( tagid==TAG_BRANCH ) leaf_eventually_check(rid);
179183
if( tagtype==0 ){
180184
zValue = 0;
181185
}
182186
zCol = 0;
183187
switch( tagid ){
@@ -535,37 +539,10 @@
535539
@ </ul>
536540
db_finalize(&q);
537541
style_footer();
538542
}
539543
540
-/*
541
-** Draw the names of all tags added to check-in rid. Only tags
542
-** that are directly applied to rid are named. Propagated tags
543
-** are omitted.
544
-*/
545
-static void tagtimeline_extra(int rid){
546
- Stmt q;
547
- db_prepare(&q,
548
- "SELECT substr(tagname,5) FROM tagxref, tag"
549
- " WHERE tagxref.rid=%d"
550
- " AND tagxref.tagid=tag.tagid"
551
- " AND tagxref.tagtype>0 AND tagxref.srcid>0"
552
- " AND tag.tagname GLOB 'sym-*'",
553
- rid
554
- );
555
- while( db_step(&q)==SQLITE_ROW ){
556
- const char *zTagName = db_column_text(&q, 0);
557
- if( g.okHistory ){
558
- @ <a class="tagLink" href="%s(g.zTop)/timeline?t=%T(zTagName)">
559
- @ [%h(zTagName)]</a>
560
- }else{
561
- @ <span class="tagDsp">[%h(zTagName)]</span>
562
- }
563
- }
564
- db_finalize(&q);
565
-}
566
-
567544
/*
568545
** WEBPAGE: /tagtimeline
569546
*/
570547
void tagtimeline_page(void){
571548
Stmt q;
@@ -583,11 +560,11 @@
583560
" AND tagid IN (SELECT tagid FROM tag "
584561
" WHERE tagname GLOB 'sym-*'))"
585562
" ORDER BY event.mtime DESC",
586563
timeline_query_for_www()
587564
);
588
- www_print_timeline(&q, 0, 0, 0, tagtimeline_extra);
565
+ www_print_timeline(&q, 0, 0, 0, 0);
589566
db_finalize(&q);
590567
@ <br />
591568
@ <script type="text/JavaScript">
592569
@ function xin(id){
593570
@ }
594571
--- src/tag.c
+++ src/tag.c
@@ -85,10 +85,13 @@
85 if( tagid==TAG_BGCOLOR ){
86 db_bind_int(&eventupdate, ":rid", cid);
87 db_step(&eventupdate);
88 db_reset(&eventupdate);
89 }
 
 
 
90 }
91 }
92 db_reset(&s);
93 }
94 pqueue_clear(&queue);
@@ -174,10 +177,11 @@
174 tagid, tagtype, srcId, rid, zValue, rid
175 );
176 db_bind_double(&s, ":mtime", mtime);
177 db_step(&s);
178 db_finalize(&s);
 
179 if( tagtype==0 ){
180 zValue = 0;
181 }
182 zCol = 0;
183 switch( tagid ){
@@ -535,37 +539,10 @@
535 @ </ul>
536 db_finalize(&q);
537 style_footer();
538 }
539
540 /*
541 ** Draw the names of all tags added to check-in rid. Only tags
542 ** that are directly applied to rid are named. Propagated tags
543 ** are omitted.
544 */
545 static void tagtimeline_extra(int rid){
546 Stmt q;
547 db_prepare(&q,
548 "SELECT substr(tagname,5) FROM tagxref, tag"
549 " WHERE tagxref.rid=%d"
550 " AND tagxref.tagid=tag.tagid"
551 " AND tagxref.tagtype>0 AND tagxref.srcid>0"
552 " AND tag.tagname GLOB 'sym-*'",
553 rid
554 );
555 while( db_step(&q)==SQLITE_ROW ){
556 const char *zTagName = db_column_text(&q, 0);
557 if( g.okHistory ){
558 @ <a class="tagLink" href="%s(g.zTop)/timeline?t=%T(zTagName)">
559 @ [%h(zTagName)]</a>
560 }else{
561 @ <span class="tagDsp">[%h(zTagName)]</span>
562 }
563 }
564 db_finalize(&q);
565 }
566
567 /*
568 ** WEBPAGE: /tagtimeline
569 */
570 void tagtimeline_page(void){
571 Stmt q;
@@ -583,11 +560,11 @@
583 " AND tagid IN (SELECT tagid FROM tag "
584 " WHERE tagname GLOB 'sym-*'))"
585 " ORDER BY event.mtime DESC",
586 timeline_query_for_www()
587 );
588 www_print_timeline(&q, 0, 0, 0, tagtimeline_extra);
589 db_finalize(&q);
590 @ <br />
591 @ <script type="text/JavaScript">
592 @ function xin(id){
593 @ }
594
--- src/tag.c
+++ src/tag.c
@@ -85,10 +85,13 @@
85 if( tagid==TAG_BGCOLOR ){
86 db_bind_int(&eventupdate, ":rid", cid);
87 db_step(&eventupdate);
88 db_reset(&eventupdate);
89 }
90 if( tagid==TAG_BRANCH ){
91 leaf_eventually_check(cid);
92 }
93 }
94 }
95 db_reset(&s);
96 }
97 pqueue_clear(&queue);
@@ -174,10 +177,11 @@
177 tagid, tagtype, srcId, rid, zValue, rid
178 );
179 db_bind_double(&s, ":mtime", mtime);
180 db_step(&s);
181 db_finalize(&s);
182 if( tagid==TAG_BRANCH ) leaf_eventually_check(rid);
183 if( tagtype==0 ){
184 zValue = 0;
185 }
186 zCol = 0;
187 switch( tagid ){
@@ -535,37 +539,10 @@
539 @ </ul>
540 db_finalize(&q);
541 style_footer();
542 }
543
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
544 /*
545 ** WEBPAGE: /tagtimeline
546 */
547 void tagtimeline_page(void){
548 Stmt q;
@@ -583,11 +560,11 @@
560 " AND tagid IN (SELECT tagid FROM tag "
561 " WHERE tagname GLOB 'sym-*'))"
562 " ORDER BY event.mtime DESC",
563 timeline_query_for_www()
564 );
565 www_print_timeline(&q, 0, 0, 0, 0);
566 db_finalize(&q);
567 @ <br />
568 @ <script type="text/JavaScript">
569 @ function xin(id){
570 @ }
571
+1 -6
--- src/timeline.c
+++ src/timeline.c
@@ -638,16 +638,11 @@
638638
@ blob.rid,
639639
@ uuid,
640640
@ datetime(event.mtime,'localtime') AS timestamp,
641641
@ coalesce(ecomment, comment),
642642
@ coalesce(euser, user),
643
- @ NOT EXISTS(SELECT 1 FROM plink
644
- @ WHERE pid=blob.rid
645
- @ AND coalesce((SELECT value FROM tagxref
646
- @ WHERE tagid=%d AND rid=plink.pid), 'trunk')
647
- @ = coalesce((SELECT value FROM tagxref
648
- @ WHERE tagid=%d AND rid=plink.cid), 'trunk')),
643
+ @ blob.rid IN leaf,
649644
@ bgcolor,
650645
@ event.type,
651646
@ (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
652647
@ WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
653648
@ AND tagxref.rid=blob.rid AND tagxref.tagtype>0),
654649
--- src/timeline.c
+++ src/timeline.c
@@ -638,16 +638,11 @@
638 @ blob.rid,
639 @ uuid,
640 @ datetime(event.mtime,'localtime') AS timestamp,
641 @ coalesce(ecomment, comment),
642 @ coalesce(euser, user),
643 @ NOT EXISTS(SELECT 1 FROM plink
644 @ WHERE pid=blob.rid
645 @ AND coalesce((SELECT value FROM tagxref
646 @ WHERE tagid=%d AND rid=plink.pid), 'trunk')
647 @ = coalesce((SELECT value FROM tagxref
648 @ WHERE tagid=%d AND rid=plink.cid), 'trunk')),
649 @ bgcolor,
650 @ event.type,
651 @ (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
652 @ WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
653 @ AND tagxref.rid=blob.rid AND tagxref.tagtype>0),
654
--- src/timeline.c
+++ src/timeline.c
@@ -638,16 +638,11 @@
638 @ blob.rid,
639 @ uuid,
640 @ datetime(event.mtime,'localtime') AS timestamp,
641 @ coalesce(ecomment, comment),
642 @ coalesce(euser, user),
643 @ blob.rid IN leaf,
 
 
 
 
 
644 @ bgcolor,
645 @ event.type,
646 @ (SELECT group_concat(substr(tagname,5), ', ') FROM tag, tagxref
647 @ WHERE tagname GLOB 'sym-*' AND tag.tagid=tagxref.tagid
648 @ AND tagxref.rid=blob.rid AND tagxref.tagtype>0),
649
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -22,13 +22,13 @@
2222
CFLAGS = -o
2323
BCC = $(DMDIR)\bin\dmc $(CFLAGS)
2424
TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(I18N) $(SSL) $(INCL)
2525
LIBS = $(DMDIR)\extra\lib\ zlib wsock32
2626
27
-SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
27
+SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
2828
29
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
29
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
3030
3131
3232
RC=$(DMDIR)\bin\rcc
3333
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
3434
@@ -42,11 +42,11 @@
4242
4343
$(OBJDIR)\fossil.res: $B\win\fossil.rc
4444
$(RC) $(RCFLAGS) -o$@ $**
4545
4646
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
47
- +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip shell sqlcmd sqlite3 th th_lang > $@
47
+ +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info leaf login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip shell sqlcmd sqlite3 th th_lang > $@
4848
+echo fossil >> $@
4949
+echo fossil >> $@
5050
+echo $(LIBS) >> $@
5151
+echo. >> $@
5252
+echo fossil >> $@
@@ -305,10 +305,16 @@
305305
$(OBJDIR)\info$O : info_.c info.h
306306
$(TCC) -o$@ -c info_.c
307307
308308
info_.c : $(SRCDIR)\info.c
309309
+translate$E $** > $@
310
+
311
+$(OBJDIR)\leaf$O : leaf_.c leaf.h
312
+ $(TCC) -o$@ -c leaf_.c
313
+
314
+leaf_.c : $(SRCDIR)\leaf.c
315
+ +translate$E $** > $@
310316
311317
$(OBJDIR)\login$O : login_.c login.h
312318
$(TCC) -o$@ -c login_.c
313319
314320
login_.c : $(SRCDIR)\login.c
@@ -553,7 +559,7 @@
553559
554560
zip_.c : $(SRCDIR)\zip.c
555561
+translate$E $** > $@
556562
557563
headers: makeheaders$E page_index.h VERSION.h
558
- +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
564
+ +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h leaf_.c:leaf.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
559565
@copy /Y nul: headers
560566
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -22,13 +22,13 @@
22 CFLAGS = -o
23 BCC = $(DMDIR)\bin\dmc $(CFLAGS)
24 TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(I18N) $(SSL) $(INCL)
25 LIBS = $(DMDIR)\extra\lib\ zlib wsock32
26
27 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
28
29 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
30
31
32 RC=$(DMDIR)\bin\rcc
33 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
34
@@ -42,11 +42,11 @@
42
43 $(OBJDIR)\fossil.res: $B\win\fossil.rc
44 $(RC) $(RCFLAGS) -o$@ $**
45
46 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
47 +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip shell sqlcmd sqlite3 th th_lang > $@
48 +echo fossil >> $@
49 +echo fossil >> $@
50 +echo $(LIBS) >> $@
51 +echo. >> $@
52 +echo fossil >> $@
@@ -305,10 +305,16 @@
305 $(OBJDIR)\info$O : info_.c info.h
306 $(TCC) -o$@ -c info_.c
307
308 info_.c : $(SRCDIR)\info.c
309 +translate$E $** > $@
 
 
 
 
 
 
310
311 $(OBJDIR)\login$O : login_.c login.h
312 $(TCC) -o$@ -c login_.c
313
314 login_.c : $(SRCDIR)\login.c
@@ -553,7 +559,7 @@
553
554 zip_.c : $(SRCDIR)\zip.c
555 +translate$E $** > $@
556
557 headers: makeheaders$E page_index.h VERSION.h
558 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
559 @copy /Y nul: headers
560
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -22,13 +22,13 @@
22 CFLAGS = -o
23 BCC = $(DMDIR)\bin\dmc $(CFLAGS)
24 TCC = $(DMDIR)\bin\dmc $(CFLAGS) $(DMCDEF) $(I18N) $(SSL) $(INCL)
25 LIBS = $(DMDIR)\extra\lib\ zlib wsock32
26
27 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
28
29 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
30
31
32 RC=$(DMDIR)\bin\rcc
33 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
34
@@ -42,11 +42,11 @@
42
43 $(OBJDIR)\fossil.res: $B\win\fossil.rc
44 $(RC) $(RCFLAGS) -o$@ $**
45
46 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
47 +echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info leaf login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip shell sqlcmd sqlite3 th th_lang > $@
48 +echo fossil >> $@
49 +echo fossil >> $@
50 +echo $(LIBS) >> $@
51 +echo. >> $@
52 +echo fossil >> $@
@@ -305,10 +305,16 @@
305 $(OBJDIR)\info$O : info_.c info.h
306 $(TCC) -o$@ -c info_.c
307
308 info_.c : $(SRCDIR)\info.c
309 +translate$E $** > $@
310
311 $(OBJDIR)\leaf$O : leaf_.c leaf.h
312 $(TCC) -o$@ -c leaf_.c
313
314 leaf_.c : $(SRCDIR)\leaf.c
315 +translate$E $** > $@
316
317 $(OBJDIR)\login$O : login_.c login.h
318 $(TCC) -o$@ -c login_.c
319
320 login_.c : $(SRCDIR)\login.c
@@ -553,7 +559,7 @@
559
560 zip_.c : $(SRCDIR)\zip.c
561 +translate$E $** > $@
562
563 headers: makeheaders$E page_index.h VERSION.h
564 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h leaf_.c:leaf.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
565 @copy /Y nul: headers
566
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -104,10 +104,11 @@
104104
$(SRCDIR)/http_socket.c \
105105
$(SRCDIR)/http_ssl.c \
106106
$(SRCDIR)/http_transport.c \
107107
$(SRCDIR)/import.c \
108108
$(SRCDIR)/info.c \
109
+ $(SRCDIR)/leaf.c \
109110
$(SRCDIR)/login.c \
110111
$(SRCDIR)/main.c \
111112
$(SRCDIR)/manifest.c \
112113
$(SRCDIR)/md5.c \
113114
$(SRCDIR)/merge.c \
@@ -183,10 +184,11 @@
183184
$(OBJDIR)/http_socket_.c \
184185
$(OBJDIR)/http_ssl_.c \
185186
$(OBJDIR)/http_transport_.c \
186187
$(OBJDIR)/import_.c \
187188
$(OBJDIR)/info_.c \
189
+ $(OBJDIR)/leaf_.c \
188190
$(OBJDIR)/login_.c \
189191
$(OBJDIR)/main_.c \
190192
$(OBJDIR)/manifest_.c \
191193
$(OBJDIR)/md5_.c \
192194
$(OBJDIR)/merge_.c \
@@ -262,10 +264,11 @@
262264
$(OBJDIR)/http_socket.o \
263265
$(OBJDIR)/http_ssl.o \
264266
$(OBJDIR)/http_transport.o \
265267
$(OBJDIR)/import.o \
266268
$(OBJDIR)/info.o \
269
+ $(OBJDIR)/leaf.o \
267270
$(OBJDIR)/login.o \
268271
$(OBJDIR)/main.o \
269272
$(OBJDIR)/manifest.o \
270273
$(OBJDIR)/md5.o \
271274
$(OBJDIR)/merge.o \
@@ -363,11 +366,11 @@
363366
364367
365368
$(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
366369
$(MKINDEX) $(TRANS_SRC) >$@
367370
$(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
368
- $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
371
+ $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
369372
echo Done >$(OBJDIR)/headers
370373
371374
$(OBJDIR)/headers: Makefile
372375
Makefile:
373376
$(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -620,10 +623,17 @@
620623
621624
$(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h
622625
$(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c
623626
624627
info.h: $(OBJDIR)/headers
628
+$(OBJDIR)/leaf_.c: $(SRCDIR)/leaf.c $(OBJDIR)/translate
629
+ $(TRANSLATE) $(SRCDIR)/leaf.c >$(OBJDIR)/leaf_.c
630
+
631
+$(OBJDIR)/leaf.o: $(OBJDIR)/leaf_.c $(OBJDIR)/leaf.h $(SRCDIR)/config.h
632
+ $(XTCC) -o $(OBJDIR)/leaf.o -c $(OBJDIR)/leaf_.c
633
+
634
+leaf.h: $(OBJDIR)/headers
625635
$(OBJDIR)/login_.c: $(SRCDIR)/login.c $(OBJDIR)/translate
626636
$(TRANSLATE) $(SRCDIR)/login.c >$(OBJDIR)/login_.c
627637
628638
$(OBJDIR)/login.o: $(OBJDIR)/login_.c $(OBJDIR)/login.h $(SRCDIR)/config.h
629639
$(XTCC) -o $(OBJDIR)/login.o -c $(OBJDIR)/login_.c
630640
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -104,10 +104,11 @@
104 $(SRCDIR)/http_socket.c \
105 $(SRCDIR)/http_ssl.c \
106 $(SRCDIR)/http_transport.c \
107 $(SRCDIR)/import.c \
108 $(SRCDIR)/info.c \
 
109 $(SRCDIR)/login.c \
110 $(SRCDIR)/main.c \
111 $(SRCDIR)/manifest.c \
112 $(SRCDIR)/md5.c \
113 $(SRCDIR)/merge.c \
@@ -183,10 +184,11 @@
183 $(OBJDIR)/http_socket_.c \
184 $(OBJDIR)/http_ssl_.c \
185 $(OBJDIR)/http_transport_.c \
186 $(OBJDIR)/import_.c \
187 $(OBJDIR)/info_.c \
 
188 $(OBJDIR)/login_.c \
189 $(OBJDIR)/main_.c \
190 $(OBJDIR)/manifest_.c \
191 $(OBJDIR)/md5_.c \
192 $(OBJDIR)/merge_.c \
@@ -262,10 +264,11 @@
262 $(OBJDIR)/http_socket.o \
263 $(OBJDIR)/http_ssl.o \
264 $(OBJDIR)/http_transport.o \
265 $(OBJDIR)/import.o \
266 $(OBJDIR)/info.o \
 
267 $(OBJDIR)/login.o \
268 $(OBJDIR)/main.o \
269 $(OBJDIR)/manifest.o \
270 $(OBJDIR)/md5.o \
271 $(OBJDIR)/merge.o \
@@ -363,11 +366,11 @@
363
364
365 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
366 $(MKINDEX) $(TRANS_SRC) >$@
367 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
368 $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
369 echo Done >$(OBJDIR)/headers
370
371 $(OBJDIR)/headers: Makefile
372 Makefile:
373 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -620,10 +623,17 @@
620
621 $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h
622 $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c
623
624 info.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
625 $(OBJDIR)/login_.c: $(SRCDIR)/login.c $(OBJDIR)/translate
626 $(TRANSLATE) $(SRCDIR)/login.c >$(OBJDIR)/login_.c
627
628 $(OBJDIR)/login.o: $(OBJDIR)/login_.c $(OBJDIR)/login.h $(SRCDIR)/config.h
629 $(XTCC) -o $(OBJDIR)/login.o -c $(OBJDIR)/login_.c
630
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -104,10 +104,11 @@
104 $(SRCDIR)/http_socket.c \
105 $(SRCDIR)/http_ssl.c \
106 $(SRCDIR)/http_transport.c \
107 $(SRCDIR)/import.c \
108 $(SRCDIR)/info.c \
109 $(SRCDIR)/leaf.c \
110 $(SRCDIR)/login.c \
111 $(SRCDIR)/main.c \
112 $(SRCDIR)/manifest.c \
113 $(SRCDIR)/md5.c \
114 $(SRCDIR)/merge.c \
@@ -183,10 +184,11 @@
184 $(OBJDIR)/http_socket_.c \
185 $(OBJDIR)/http_ssl_.c \
186 $(OBJDIR)/http_transport_.c \
187 $(OBJDIR)/import_.c \
188 $(OBJDIR)/info_.c \
189 $(OBJDIR)/leaf_.c \
190 $(OBJDIR)/login_.c \
191 $(OBJDIR)/main_.c \
192 $(OBJDIR)/manifest_.c \
193 $(OBJDIR)/md5_.c \
194 $(OBJDIR)/merge_.c \
@@ -262,10 +264,11 @@
264 $(OBJDIR)/http_socket.o \
265 $(OBJDIR)/http_ssl.o \
266 $(OBJDIR)/http_transport.o \
267 $(OBJDIR)/import.o \
268 $(OBJDIR)/info.o \
269 $(OBJDIR)/leaf.o \
270 $(OBJDIR)/login.o \
271 $(OBJDIR)/main.o \
272 $(OBJDIR)/manifest.o \
273 $(OBJDIR)/md5.o \
274 $(OBJDIR)/merge.o \
@@ -363,11 +366,11 @@
366
367
368 $(OBJDIR)/page_index.h: $(TRANS_SRC) $(OBJDIR)/mkindex
369 $(MKINDEX) $(TRANS_SRC) >$@
370 $(OBJDIR)/headers: $(OBJDIR)/page_index.h $(OBJDIR)/makeheaders $(OBJDIR)/VERSION.h
371 $(MAKEHEADERS) $(OBJDIR)/add_.c:$(OBJDIR)/add.h $(OBJDIR)/allrepo_.c:$(OBJDIR)/allrepo.h $(OBJDIR)/attach_.c:$(OBJDIR)/attach.h $(OBJDIR)/bag_.c:$(OBJDIR)/bag.h $(OBJDIR)/bisect_.c:$(OBJDIR)/bisect.h $(OBJDIR)/blob_.c:$(OBJDIR)/blob.h $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h $(OBJDIR)/clone_.c:$(OBJDIR)/clone.h $(OBJDIR)/comformat_.c:$(OBJDIR)/comformat.h $(OBJDIR)/configure_.c:$(OBJDIR)/configure.h $(OBJDIR)/content_.c:$(OBJDIR)/content.h $(OBJDIR)/db_.c:$(OBJDIR)/db.h $(OBJDIR)/delta_.c:$(OBJDIR)/delta.h $(OBJDIR)/deltacmd_.c:$(OBJDIR)/deltacmd.h $(OBJDIR)/descendants_.c:$(OBJDIR)/descendants.h $(OBJDIR)/diff_.c:$(OBJDIR)/diff.h $(OBJDIR)/diffcmd_.c:$(OBJDIR)/diffcmd.h $(OBJDIR)/doc_.c:$(OBJDIR)/doc.h $(OBJDIR)/encode_.c:$(OBJDIR)/encode.h $(OBJDIR)/event_.c:$(OBJDIR)/event.h $(OBJDIR)/export_.c:$(OBJDIR)/export.h $(OBJDIR)/file_.c:$(OBJDIR)/file.h $(OBJDIR)/finfo_.c:$(OBJDIR)/finfo.h $(OBJDIR)/graph_.c:$(OBJDIR)/graph.h $(OBJDIR)/http_.c:$(OBJDIR)/http.h $(OBJDIR)/http_socket_.c:$(OBJDIR)/http_socket.h $(OBJDIR)/http_ssl_.c:$(OBJDIR)/http_ssl.h $(OBJDIR)/http_transport_.c:$(OBJDIR)/http_transport.h $(OBJDIR)/import_.c:$(OBJDIR)/import.h $(OBJDIR)/info_.c:$(OBJDIR)/info.h $(OBJDIR)/leaf_.c:$(OBJDIR)/leaf.h $(OBJDIR)/login_.c:$(OBJDIR)/login.h $(OBJDIR)/main_.c:$(OBJDIR)/main.h $(OBJDIR)/manifest_.c:$(OBJDIR)/manifest.h $(OBJDIR)/md5_.c:$(OBJDIR)/md5.h $(OBJDIR)/merge_.c:$(OBJDIR)/merge.h $(OBJDIR)/merge3_.c:$(OBJDIR)/merge3.h $(OBJDIR)/name_.c:$(OBJDIR)/name.h $(OBJDIR)/pivot_.c:$(OBJDIR)/pivot.h $(OBJDIR)/popen_.c:$(OBJDIR)/popen.h $(OBJDIR)/pqueue_.c:$(OBJDIR)/pqueue.h $(OBJDIR)/printf_.c:$(OBJDIR)/printf.h $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h $(OBJDIR)/report_.c:$(OBJDIR)/report.h $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h $(OBJDIR)/search_.c:$(OBJDIR)/search.h $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h $(OBJDIR)/stash_.c:$(OBJDIR)/stash.h $(OBJDIR)/stat_.c:$(OBJDIR)/stat.h $(OBJDIR)/style_.c:$(OBJDIR)/style.h $(OBJDIR)/sync_.c:$(OBJDIR)/sync.h $(OBJDIR)/tag_.c:$(OBJDIR)/tag.h $(OBJDIR)/th_main_.c:$(OBJDIR)/th_main.h $(OBJDIR)/timeline_.c:$(OBJDIR)/timeline.h $(OBJDIR)/tkt_.c:$(OBJDIR)/tkt.h $(OBJDIR)/tktsetup_.c:$(OBJDIR)/tktsetup.h $(OBJDIR)/undo_.c:$(OBJDIR)/undo.h $(OBJDIR)/update_.c:$(OBJDIR)/update.h $(OBJDIR)/url_.c:$(OBJDIR)/url.h $(OBJDIR)/user_.c:$(OBJDIR)/user.h $(OBJDIR)/verify_.c:$(OBJDIR)/verify.h $(OBJDIR)/vfile_.c:$(OBJDIR)/vfile.h $(OBJDIR)/wiki_.c:$(OBJDIR)/wiki.h $(OBJDIR)/wikiformat_.c:$(OBJDIR)/wikiformat.h $(OBJDIR)/winhttp_.c:$(OBJDIR)/winhttp.h $(OBJDIR)/xfer_.c:$(OBJDIR)/xfer.h $(OBJDIR)/zip_.c:$(OBJDIR)/zip.h $(SRCDIR)/sqlite3.h $(SRCDIR)/th.h $(OBJDIR)/VERSION.h
372 echo Done >$(OBJDIR)/headers
373
374 $(OBJDIR)/headers: Makefile
375 Makefile:
376 $(OBJDIR)/add_.c: $(SRCDIR)/add.c $(OBJDIR)/translate
@@ -620,10 +623,17 @@
623
624 $(OBJDIR)/info.o: $(OBJDIR)/info_.c $(OBJDIR)/info.h $(SRCDIR)/config.h
625 $(XTCC) -o $(OBJDIR)/info.o -c $(OBJDIR)/info_.c
626
627 info.h: $(OBJDIR)/headers
628 $(OBJDIR)/leaf_.c: $(SRCDIR)/leaf.c $(OBJDIR)/translate
629 $(TRANSLATE) $(SRCDIR)/leaf.c >$(OBJDIR)/leaf_.c
630
631 $(OBJDIR)/leaf.o: $(OBJDIR)/leaf_.c $(OBJDIR)/leaf.h $(SRCDIR)/config.h
632 $(XTCC) -o $(OBJDIR)/leaf.o -c $(OBJDIR)/leaf_.c
633
634 leaf.h: $(OBJDIR)/headers
635 $(OBJDIR)/login_.c: $(SRCDIR)/login.c $(OBJDIR)/translate
636 $(TRANSLATE) $(SRCDIR)/login.c >$(OBJDIR)/login_.c
637
638 $(OBJDIR)/login.o: $(OBJDIR)/login_.c $(OBJDIR)/login.h $(SRCDIR)/config.h
639 $(XTCC) -o $(OBJDIR)/login.o -c $(OBJDIR)/login_.c
640
+10 -4
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -35,13 +35,13 @@
3535
BCC = $(CC) $(CFLAGS)
3636
TCC = $(CC) -c $(CFLAGS) $(MSCDEF) $(I18N) $(SSL) $(INCL)
3737
LIBS = $(ZLIB) ws2_32.lib $(SSLLIB)
3838
LIBDIR = -LIBPATH:$(MSCDIR)\extra\lib -LIBPATH:$(ZLIBDIR)
3939
40
-SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
40
+SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
4141
42
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
42
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
4343
4444
4545
APPNAME = $(OBJDIR)\fossil$(E)
4646
4747
all: $(OBJDIR) $(APPNAME)
@@ -49,11 +49,11 @@
4949
$(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\linkopts
5050
cd $(OBJDIR)
5151
link -LINK -OUT:$@ $(LIBDIR) @linkopts
5252
5353
$(OBJDIR)\linkopts: $B\win\Makefile.msc
54
- echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip sqlite3 th th_lang > $@
54
+ echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info leaf login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip sqlite3 th th_lang > $@
5555
echo $(LIBS) >> $@
5656
5757
5858
5959
@@ -309,10 +309,16 @@
309309
$(OBJDIR)\info$O : info_.c info.h
310310
$(TCC) /Fo$@ -c info_.c
311311
312312
info_.c : $(SRCDIR)\info.c
313313
translate$E $** > $@
314
+
315
+$(OBJDIR)\leaf$O : leaf_.c leaf.h
316
+ $(TCC) /Fo$@ -c leaf_.c
317
+
318
+leaf_.c : $(SRCDIR)\leaf.c
319
+ translate$E $** > $@
314320
315321
$(OBJDIR)\login$O : login_.c login.h
316322
$(TCC) /Fo$@ -c login_.c
317323
318324
login_.c : $(SRCDIR)\login.c
@@ -557,7 +563,7 @@
557563
558564
zip_.c : $(SRCDIR)\zip.c
559565
translate$E $** > $@
560566
561567
headers: makeheaders$E page_index.h VERSION.h
562
- makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
568
+ makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h leaf_.c:leaf.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
563569
@copy /Y nul: headers
564570
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -35,13 +35,13 @@
35 BCC = $(CC) $(CFLAGS)
36 TCC = $(CC) -c $(CFLAGS) $(MSCDEF) $(I18N) $(SSL) $(INCL)
37 LIBS = $(ZLIB) ws2_32.lib $(SSLLIB)
38 LIBDIR = -LIBPATH:$(MSCDIR)\extra\lib -LIBPATH:$(ZLIBDIR)
39
40 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
41
42 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
43
44
45 APPNAME = $(OBJDIR)\fossil$(E)
46
47 all: $(OBJDIR) $(APPNAME)
@@ -49,11 +49,11 @@
49 $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\linkopts
50 cd $(OBJDIR)
51 link -LINK -OUT:$@ $(LIBDIR) @linkopts
52
53 $(OBJDIR)\linkopts: $B\win\Makefile.msc
54 echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip sqlite3 th th_lang > $@
55 echo $(LIBS) >> $@
56
57
58
59
@@ -309,10 +309,16 @@
309 $(OBJDIR)\info$O : info_.c info.h
310 $(TCC) /Fo$@ -c info_.c
311
312 info_.c : $(SRCDIR)\info.c
313 translate$E $** > $@
 
 
 
 
 
 
314
315 $(OBJDIR)\login$O : login_.c login.h
316 $(TCC) /Fo$@ -c login_.c
317
318 login_.c : $(SRCDIR)\login.c
@@ -557,7 +563,7 @@
557
558 zip_.c : $(SRCDIR)\zip.c
559 translate$E $** > $@
560
561 headers: makeheaders$E page_index.h VERSION.h
562 makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
563 @copy /Y nul: headers
564
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -35,13 +35,13 @@
35 BCC = $(CC) $(CFLAGS)
36 TCC = $(CC) -c $(CFLAGS) $(MSCDEF) $(I18N) $(SSL) $(INCL)
37 LIBS = $(ZLIB) ws2_32.lib $(SSLLIB)
38 LIBDIR = -LIBPATH:$(MSCDIR)\extra\lib -LIBPATH:$(ZLIBDIR)
39
40 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c graph_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c leaf_.c login_.c main_.c manifest_.c md5_.c merge_.c merge3_.c name_.c pivot_.c popen_.c pqueue_.c printf_.c rebuild_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c shun_.c skins_.c sqlcmd_.c stash_.c stat_.c style_.c sync_.c tag_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c update_.c url_.c user_.c verify_.c vfile_.c wiki_.c wikiformat_.c winhttp_.c xfer_.c zip_.c
41
42 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\graph$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\leaf$O $(OBJDIR)\login$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\name$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\rebuild$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\shun$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winhttp$O $(OBJDIR)\xfer$O $(OBJDIR)\zip$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
43
44
45 APPNAME = $(OBJDIR)\fossil$(E)
46
47 all: $(OBJDIR) $(APPNAME)
@@ -49,11 +49,11 @@
49 $(APPNAME) : translate$E mkindex$E headers $(OBJ) $(OBJDIR)\linkopts
50 cd $(OBJDIR)
51 link -LINK -OUT:$@ $(LIBDIR) @linkopts
52
53 $(OBJDIR)\linkopts: $B\win\Makefile.msc
54 echo add allrepo attach bag bisect blob branch browse captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd doc encode event export file finfo graph http http_socket http_ssl http_transport import info leaf login main manifest md5 merge merge3 name pivot popen pqueue printf rebuild report rss schema search setup sha1 shun skins sqlcmd stash stat style sync tag th_main timeline tkt tktsetup undo update url user verify vfile wiki wikiformat winhttp xfer zip sqlite3 th th_lang > $@
55 echo $(LIBS) >> $@
56
57
58
59
@@ -309,10 +309,16 @@
309 $(OBJDIR)\info$O : info_.c info.h
310 $(TCC) /Fo$@ -c info_.c
311
312 info_.c : $(SRCDIR)\info.c
313 translate$E $** > $@
314
315 $(OBJDIR)\leaf$O : leaf_.c leaf.h
316 $(TCC) /Fo$@ -c leaf_.c
317
318 leaf_.c : $(SRCDIR)\leaf.c
319 translate$E $** > $@
320
321 $(OBJDIR)\login$O : login_.c login.h
322 $(TCC) /Fo$@ -c login_.c
323
324 login_.c : $(SRCDIR)\login.c
@@ -557,7 +563,7 @@
563
564 zip_.c : $(SRCDIR)\zip.c
565 translate$E $** > $@
566
567 headers: makeheaders$E page_index.h VERSION.h
568 makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h graph_.c:graph.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h leaf_.c:leaf.h login_.c:login.h main_.c:main.h manifest_.c:manifest.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h name_.c:name.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h rebuild_.c:rebuild.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h shun_.c:shun.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h update_.c:update.h url_.c:url.h user_.c:user.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winhttp_.c:winhttp.h xfer_.c:xfer.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h
569 @copy /Y nul: headers
570

Keyboard Shortcuts

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