Fossil SCM
On the "import" command, when the "from" commit is implied, be sure to load all of the files of the implied "from" commit prior to processing the changes.
Commit
b1cbae5de44ab85e635628d281f859bf04ac4c8b
Parent
25201dd86f61314…
1 file changed
+6
-6
+6
-6
| --- src/import.c | ||
| +++ src/import.c | ||
| @@ -218,16 +218,10 @@ | ||
| 218 | 218 | */ |
| 219 | 219 | static void finish_commit(void){ |
| 220 | 220 | int i; |
| 221 | 221 | char *zFromBranch; |
| 222 | 222 | Blob record, cksum; |
| 223 | - if( gg.zFrom==0 && gg.zPrevCheckin!=0 | |
| 224 | - && fossil_strcmp(gg.zBranch, gg.zPrevBranch)==0 | |
| 225 | - ){ | |
| 226 | - gg.zFrom = gg.zPrevCheckin; | |
| 227 | - gg.zPrevCheckin = 0; | |
| 228 | - } | |
| 229 | 223 | import_prior_files(); |
| 230 | 224 | qsort(gg.aFile, gg.nFile, sizeof(gg.aFile[0]), mfile_cmp); |
| 231 | 225 | blob_zero(&record); |
| 232 | 226 | blob_appendf(&record, "C %F\n", gg.zComment); |
| 233 | 227 | blob_appendf(&record, "D %s\n", gg.zDate); |
| @@ -361,10 +355,16 @@ | ||
| 361 | 355 | int rid; |
| 362 | 356 | ManifestFile *pOld; |
| 363 | 357 | ImportFile *pNew; |
| 364 | 358 | if( gg.fromLoaded ) return; |
| 365 | 359 | gg.fromLoaded = 1; |
| 360 | + if( gg.zFrom==0 && gg.zPrevCheckin!=0 | |
| 361 | + && fossil_strcmp(gg.zBranch, gg.zPrevBranch)==0 | |
| 362 | + ){ | |
| 363 | + gg.zFrom = gg.zPrevCheckin; | |
| 364 | + gg.zPrevCheckin = 0; | |
| 365 | + } | |
| 366 | 366 | if( gg.zFrom==0 ) return; |
| 367 | 367 | rid = fast_uuid_to_rid(gg.zFrom); |
| 368 | 368 | if( rid==0 ) return; |
| 369 | 369 | p = manifest_get(rid, CFTYPE_MANIFEST); |
| 370 | 370 | if( p==0 ) return; |
| 371 | 371 |
| --- src/import.c | |
| +++ src/import.c | |
| @@ -218,16 +218,10 @@ | |
| 218 | */ |
| 219 | static void finish_commit(void){ |
| 220 | int i; |
| 221 | char *zFromBranch; |
| 222 | Blob record, cksum; |
| 223 | if( gg.zFrom==0 && gg.zPrevCheckin!=0 |
| 224 | && fossil_strcmp(gg.zBranch, gg.zPrevBranch)==0 |
| 225 | ){ |
| 226 | gg.zFrom = gg.zPrevCheckin; |
| 227 | gg.zPrevCheckin = 0; |
| 228 | } |
| 229 | import_prior_files(); |
| 230 | qsort(gg.aFile, gg.nFile, sizeof(gg.aFile[0]), mfile_cmp); |
| 231 | blob_zero(&record); |
| 232 | blob_appendf(&record, "C %F\n", gg.zComment); |
| 233 | blob_appendf(&record, "D %s\n", gg.zDate); |
| @@ -361,10 +355,16 @@ | |
| 361 | int rid; |
| 362 | ManifestFile *pOld; |
| 363 | ImportFile *pNew; |
| 364 | if( gg.fromLoaded ) return; |
| 365 | gg.fromLoaded = 1; |
| 366 | if( gg.zFrom==0 ) return; |
| 367 | rid = fast_uuid_to_rid(gg.zFrom); |
| 368 | if( rid==0 ) return; |
| 369 | p = manifest_get(rid, CFTYPE_MANIFEST); |
| 370 | if( p==0 ) return; |
| 371 |
| --- src/import.c | |
| +++ src/import.c | |
| @@ -218,16 +218,10 @@ | |
| 218 | */ |
| 219 | static void finish_commit(void){ |
| 220 | int i; |
| 221 | char *zFromBranch; |
| 222 | Blob record, cksum; |
| 223 | import_prior_files(); |
| 224 | qsort(gg.aFile, gg.nFile, sizeof(gg.aFile[0]), mfile_cmp); |
| 225 | blob_zero(&record); |
| 226 | blob_appendf(&record, "C %F\n", gg.zComment); |
| 227 | blob_appendf(&record, "D %s\n", gg.zDate); |
| @@ -361,10 +355,16 @@ | |
| 355 | int rid; |
| 356 | ManifestFile *pOld; |
| 357 | ImportFile *pNew; |
| 358 | if( gg.fromLoaded ) return; |
| 359 | gg.fromLoaded = 1; |
| 360 | if( gg.zFrom==0 && gg.zPrevCheckin!=0 |
| 361 | && fossil_strcmp(gg.zBranch, gg.zPrevBranch)==0 |
| 362 | ){ |
| 363 | gg.zFrom = gg.zPrevCheckin; |
| 364 | gg.zPrevCheckin = 0; |
| 365 | } |
| 366 | if( gg.zFrom==0 ) return; |
| 367 | rid = fast_uuid_to_rid(gg.zFrom); |
| 368 | if( rid==0 ) return; |
| 369 | p = manifest_get(rid, CFTYPE_MANIFEST); |
| 370 | if( p==0 ) return; |
| 371 |