Fossil SCM
Even better error message in case of "manifest file (12892) is malformed". Detection of this situation is not 100% failproof yet, but if zParentUuid=0 we know for sure that an illegal manifest will be generated later, so better catch this early.
Commit
27dc7a5671d44cc21359ba2bd15e8bef7e9667ce
Parent
ec81aee9156f43f…
1 file changed
+4
+4
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -988,10 +988,14 @@ | ||
| 988 | 988 | |
| 989 | 989 | assert( pBaseline==0 || pBaseline->zBaseline==0 ); |
| 990 | 990 | assert( pBaseline==0 || zBaselineUuid!=0 ); |
| 991 | 991 | blob_zero(pOut); |
| 992 | 992 | zParentUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", vid); |
| 993 | + if( !zParentUuid ){ | |
| 994 | + fossil_fatal("Could not find manifest for RID %d. " | |
| 995 | + "Possible checkout/repo mismatch.", vid); | |
| 996 | + } | |
| 993 | 997 | if( pBaseline ){ |
| 994 | 998 | blob_appendf(pOut, "B %s\n", zBaselineUuid); |
| 995 | 999 | manifest_file_rewind(pBaseline); |
| 996 | 1000 | pFile = manifest_file_next(pBaseline, 0); |
| 997 | 1001 | nFBcard++; |
| 998 | 1002 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -988,10 +988,14 @@ | |
| 988 | |
| 989 | assert( pBaseline==0 || pBaseline->zBaseline==0 ); |
| 990 | assert( pBaseline==0 || zBaselineUuid!=0 ); |
| 991 | blob_zero(pOut); |
| 992 | zParentUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", vid); |
| 993 | if( pBaseline ){ |
| 994 | blob_appendf(pOut, "B %s\n", zBaselineUuid); |
| 995 | manifest_file_rewind(pBaseline); |
| 996 | pFile = manifest_file_next(pBaseline, 0); |
| 997 | nFBcard++; |
| 998 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -988,10 +988,14 @@ | |
| 988 | |
| 989 | assert( pBaseline==0 || pBaseline->zBaseline==0 ); |
| 990 | assert( pBaseline==0 || zBaselineUuid!=0 ); |
| 991 | blob_zero(pOut); |
| 992 | zParentUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", vid); |
| 993 | if( !zParentUuid ){ |
| 994 | fossil_fatal("Could not find manifest for RID %d. " |
| 995 | "Possible checkout/repo mismatch.", vid); |
| 996 | } |
| 997 | if( pBaseline ){ |
| 998 | blob_appendf(pOut, "B %s\n", zBaselineUuid); |
| 999 | manifest_file_rewind(pBaseline); |
| 1000 | pFile = manifest_file_next(pBaseline, 0); |
| 1001 | nFBcard++; |
| 1002 |