Fossil SCM

When listing closed branches, only show a branch if every leaf of that branch is closed.

drh 2011-05-04 13:56 trunk
Commit 74c86dd1da61adf1e1a51ce2f795508f4874baaa
1 file changed +22 -8
+22 -8
--- src/branch.c
+++ src/branch.c
@@ -276,18 +276,32 @@
276276
@ reopened)</li>
277277
@ </ol>
278278
style_sidebox_end();
279279
280280
cnt = 0;
281
- db_prepare(&q,
282
- "SELECT DISTINCT value FROM tagxref"
283
- " WHERE tagid=%d AND value NOT NULL"
284
- " AND rid IN leaf"
285
- " AND %s %z"
286
- " ORDER BY value /*sort*/",
287
- TAG_BRANCH, showClosed ? "" : "NOT", leaf_is_closed_sql("tagxref.rid")
288
- );
281
+ if( showClosed ){
282
+ db_prepare(&q,
283
+ "SELECT value FROM tagxref"
284
+ " WHERE tagid=%d AND value NOT NULL "
285
+ "EXCEPT "
286
+ "SELECT value FROM tagxref"
287
+ " WHERE tagid=%d"
288
+ " AND rid IN leaf"
289
+ " AND NOT %z"
290
+ " ORDER BY value /*sort*/",
291
+ TAG_BRANCH, TAG_BRANCH, leaf_is_closed_sql("tagxref.rid")
292
+ );
293
+ }else{
294
+ db_prepare(&q,
295
+ "SELECT DISTINCT value FROM tagxref"
296
+ " WHERE tagid=%d AND value NOT NULL"
297
+ " AND rid IN leaf"
298
+ " AND NOT %z"
299
+ " ORDER BY value /*sort*/",
300
+ TAG_BRANCH, leaf_is_closed_sql("tagxref.rid")
301
+ );
302
+ }
289303
while( db_step(&q)==SQLITE_ROW ){
290304
const char *zBr = db_column_text(&q, 0);
291305
if( cnt==0 ){
292306
if( showClosed ){
293307
@ <h2>Closed Branches:</h2>
294308
--- src/branch.c
+++ src/branch.c
@@ -276,18 +276,32 @@
276 @ reopened)</li>
277 @ </ol>
278 style_sidebox_end();
279
280 cnt = 0;
281 db_prepare(&q,
282 "SELECT DISTINCT value FROM tagxref"
283 " WHERE tagid=%d AND value NOT NULL"
284 " AND rid IN leaf"
285 " AND %s %z"
286 " ORDER BY value /*sort*/",
287 TAG_BRANCH, showClosed ? "" : "NOT", leaf_is_closed_sql("tagxref.rid")
288 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
289 while( db_step(&q)==SQLITE_ROW ){
290 const char *zBr = db_column_text(&q, 0);
291 if( cnt==0 ){
292 if( showClosed ){
293 @ <h2>Closed Branches:</h2>
294
--- src/branch.c
+++ src/branch.c
@@ -276,18 +276,32 @@
276 @ reopened)</li>
277 @ </ol>
278 style_sidebox_end();
279
280 cnt = 0;
281 if( showClosed ){
282 db_prepare(&q,
283 "SELECT value FROM tagxref"
284 " WHERE tagid=%d AND value NOT NULL "
285 "EXCEPT "
286 "SELECT value FROM tagxref"
287 " WHERE tagid=%d"
288 " AND rid IN leaf"
289 " AND NOT %z"
290 " ORDER BY value /*sort*/",
291 TAG_BRANCH, TAG_BRANCH, leaf_is_closed_sql("tagxref.rid")
292 );
293 }else{
294 db_prepare(&q,
295 "SELECT DISTINCT value FROM tagxref"
296 " WHERE tagid=%d AND value NOT NULL"
297 " AND rid IN leaf"
298 " AND NOT %z"
299 " ORDER BY value /*sort*/",
300 TAG_BRANCH, leaf_is_closed_sql("tagxref.rid")
301 );
302 }
303 while( db_step(&q)==SQLITE_ROW ){
304 const char *zBr = db_column_text(&q, 0);
305 if( cnt==0 ){
306 if( showClosed ){
307 @ <h2>Closed Branches:</h2>
308

Keyboard Shortcuts

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