|
2011-03-16
| ||
| 02:31 | • Fixed ticket [3bfff6e03b]: Error when creating a branch from checkin that doesn't have checksum in manifest plus 1 other change ... (artifact: fce27afa9a user: drh) | |
| 02:31 | Fix the "branch new" command so that it works if the parent omits the R-card. Ticket [3bfff6e03bcc5f14] ... (check-in: 448dc5adf7 user: drh tags: trunk) | |
|
2011-03-15
| ||
| 12:10 | • New ticket [3bfff6e03b] Error when creating a branch from checkin that doesn't have checksum in manifest. ... (artifact: 15d57d26a6 user: dmitry) | |
| Ticket Hash: | 3bfff6e03bcc5f14cbd0428cd796a0d109b5ae17 | ||
| Title: | Error when creating a branch from checkin that doesn't have checksum in manifest | ||
| Status: | Fixed | Type: | Code_Defect |
| Severity: | Important | Priority: | |
| Subsystem: | Resolution: | Fixed | |
| Last Modified: |
2011-03-16 02:31:49 15.05 years ago |
Created: |
2011-03-15 12:10:52 15.05 years ago |
| Version Found In: | |||
| Description: | ||||
|
When parent check-in doesn't have an R-card in manifest, Fossil fails to create a branch from this check-in with error "unable to install new manifest". This is because Fossil creates manifest for a new branch which contains a line: "R " (and no checksum), instead of not adding an R-card at all, and manifest_parse() fails to parse such manifests.
Fix (patch is not against tip, but you get the idea):
--- src/branch.c
+++ src/branch.c
@@ -99,11 +99,13 @@
}
blob_append(&branch, "\n", 1);
}
zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", rootid);
blob_appendf(&branch, "P %s\n", zUuid);
- blob_appendf(&branch, "R %s\n", pParent->zRepoCksum);
+ if( pParent->zRepoCksum ){
+ blob_appendf(&branch, "R %s\n", pParent->zRepoCksum);
+ }
manifest_destroy(pParent);
/* Add the symbolic branch name and the "branch" tag to identify
** this as a new branch */
if( zColor!=0 ){
| ||||