Ticket Change Details
Not logged in
Overview

Artifact ID: 15d57d26a67607d1ee8c822cdc197cc77c5be2b4
Ticket: 3bfff6e03bcc5f14cbd0428cd796a0d109b5ae17
Error when creating a branch from checkin that doesn't have checksum in manifest
User & Date: dmitry 2011-03-15 12:10:52
Changes

  1. comment changed to:
    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):
    
    <verbatim>
    --- 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 ){
    </verbatim>
    
  2. private_contact changed to: "05f652db744266759b20d248ec2f451629420388"
  3. severity changed to: "Important"
  4. status changed to: "Open"
  5. title changed to:
    Error when creating a branch from checkin that doesn't have checksum in manifest
    
  6. type changed to: "Code_Defect"