Fossil SCM
Fix [http://permalink.gmane.org/gmane.comp.version-control.fossil-scm.user/17266]
Commit
c6c05c82fdefa1d26c56600d971e12a85820cf48
Parent
14aea4f883c7ed3…
2 files changed
+5
+13
-11
+5
| --- src/descendants.c | ||
| +++ src/descendants.c | ||
| @@ -130,10 +130,15 @@ | ||
| 130 | 130 | db_finalize(&ins); |
| 131 | 131 | db_finalize(&isBr); |
| 132 | 132 | db_finalize(&q1); |
| 133 | 133 | bag_clear(&pending); |
| 134 | 134 | bag_clear(&seen); |
| 135 | + }else{ | |
| 136 | + db_multi_exec( | |
| 137 | + "INSERT INTO leaves" | |
| 138 | + " SELECT leaf.rid FROM leaf" | |
| 139 | + ); | |
| 135 | 140 | } |
| 136 | 141 | if( closeMode==1 ){ |
| 137 | 142 | db_multi_exec( |
| 138 | 143 | "DELETE FROM leaves WHERE rid IN" |
| 139 | 144 | " (SELECT leaves.rid FROM leaves, tagxref" |
| 140 | 145 |
| --- src/descendants.c | |
| +++ src/descendants.c | |
| @@ -130,10 +130,15 @@ | |
| 130 | db_finalize(&ins); |
| 131 | db_finalize(&isBr); |
| 132 | db_finalize(&q1); |
| 133 | bag_clear(&pending); |
| 134 | bag_clear(&seen); |
| 135 | } |
| 136 | if( closeMode==1 ){ |
| 137 | db_multi_exec( |
| 138 | "DELETE FROM leaves WHERE rid IN" |
| 139 | " (SELECT leaves.rid FROM leaves, tagxref" |
| 140 |
| --- src/descendants.c | |
| +++ src/descendants.c | |
| @@ -130,10 +130,15 @@ | |
| 130 | db_finalize(&ins); |
| 131 | db_finalize(&isBr); |
| 132 | db_finalize(&q1); |
| 133 | bag_clear(&pending); |
| 134 | bag_clear(&seen); |
| 135 | }else{ |
| 136 | db_multi_exec( |
| 137 | "INSERT INTO leaves" |
| 138 | " SELECT leaf.rid FROM leaf" |
| 139 | ); |
| 140 | } |
| 141 | if( closeMode==1 ){ |
| 142 | db_multi_exec( |
| 143 | "DELETE FROM leaves WHERE rid IN" |
| 144 | " (SELECT leaves.rid FROM leaves, tagxref" |
| 145 |
+13
-11
| --- src/update.c | ||
| +++ src/update.c | ||
| @@ -261,21 +261,23 @@ | ||
| 261 | 261 | ); |
| 262 | 262 | |
| 263 | 263 | /* Compute file name changes on V->T. Record name changes in files that |
| 264 | 264 | ** have changed locally. |
| 265 | 265 | */ |
| 266 | - find_filename_changes(vid, tid, 1, &nChng, &aChng, debugFlag ? "V->T": 0); | |
| 267 | - if( nChng ){ | |
| 268 | - for(i=0; i<nChng; i++){ | |
| 269 | - db_multi_exec( | |
| 270 | - "UPDATE fv" | |
| 271 | - " SET fnt=(SELECT name FROM filename WHERE fnid=%d)" | |
| 272 | - " WHERE fn=(SELECT name FROM filename WHERE fnid=%d) AND chnged", | |
| 273 | - aChng[i*2+1], aChng[i*2] | |
| 274 | - ); | |
| 275 | - } | |
| 276 | - fossil_free(aChng); | |
| 266 | + if( vid ){ | |
| 267 | + find_filename_changes(vid, tid, 1, &nChng, &aChng, debugFlag ? "V->T": 0); | |
| 268 | + if( nChng ){ | |
| 269 | + for(i=0; i<nChng; i++){ | |
| 270 | + db_multi_exec( | |
| 271 | + "UPDATE fv" | |
| 272 | + " SET fnt=(SELECT name FROM filename WHERE fnid=%d)" | |
| 273 | + " WHERE fn=(SELECT name FROM filename WHERE fnid=%d) AND chnged", | |
| 274 | + aChng[i*2+1], aChng[i*2] | |
| 275 | + ); | |
| 276 | + } | |
| 277 | + fossil_free(aChng); | |
| 278 | + } | |
| 277 | 279 | } |
| 278 | 280 | |
| 279 | 281 | /* Add files found in the target version T but missing from the current |
| 280 | 282 | ** version V. |
| 281 | 283 | */ |
| 282 | 284 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -261,21 +261,23 @@ | |
| 261 | ); |
| 262 | |
| 263 | /* Compute file name changes on V->T. Record name changes in files that |
| 264 | ** have changed locally. |
| 265 | */ |
| 266 | find_filename_changes(vid, tid, 1, &nChng, &aChng, debugFlag ? "V->T": 0); |
| 267 | if( nChng ){ |
| 268 | for(i=0; i<nChng; i++){ |
| 269 | db_multi_exec( |
| 270 | "UPDATE fv" |
| 271 | " SET fnt=(SELECT name FROM filename WHERE fnid=%d)" |
| 272 | " WHERE fn=(SELECT name FROM filename WHERE fnid=%d) AND chnged", |
| 273 | aChng[i*2+1], aChng[i*2] |
| 274 | ); |
| 275 | } |
| 276 | fossil_free(aChng); |
| 277 | } |
| 278 | |
| 279 | /* Add files found in the target version T but missing from the current |
| 280 | ** version V. |
| 281 | */ |
| 282 |
| --- src/update.c | |
| +++ src/update.c | |
| @@ -261,21 +261,23 @@ | |
| 261 | ); |
| 262 | |
| 263 | /* Compute file name changes on V->T. Record name changes in files that |
| 264 | ** have changed locally. |
| 265 | */ |
| 266 | if( vid ){ |
| 267 | find_filename_changes(vid, tid, 1, &nChng, &aChng, debugFlag ? "V->T": 0); |
| 268 | if( nChng ){ |
| 269 | for(i=0; i<nChng; i++){ |
| 270 | db_multi_exec( |
| 271 | "UPDATE fv" |
| 272 | " SET fnt=(SELECT name FROM filename WHERE fnid=%d)" |
| 273 | " WHERE fn=(SELECT name FROM filename WHERE fnid=%d) AND chnged", |
| 274 | aChng[i*2+1], aChng[i*2] |
| 275 | ); |
| 276 | } |
| 277 | fossil_free(aChng); |
| 278 | } |
| 279 | } |
| 280 | |
| 281 | /* Add files found in the target version T but missing from the current |
| 282 | ** version V. |
| 283 | */ |
| 284 |