Changes On Branch fix_mlink
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch fix_mlink Excluding Merge-Ins

This is equivalent to a diff from 83a574b019 to a7caf19823

2011-11-03
08:06
Correct fix in [d084043f79827]. This attempt at fixing the problem is closed. Closed-Leaf check-in: a7caf19823 user: viriketo tags: fix_mlink
01:22
Refactor the name resolution logic in name.c. check-in: 7858a39b36 user: drh tags: trunk
2011-11-02
21:53
Trying to fix some cases where the mlink table is bad build due to delta manifests.    In this checkin, I fix the case when the child delta manifest changed back the file from some contents to those of its baseline manifest. The 'info' page was not showing these kind of changes.    Should close the ticket [2ce64a315f]. check-in: cf5f2c4ea6 user: viriketo tags: fix_mlink
15:23
Update the blob_write_to_file() routine so that it correctly handles binary files being send to standard output. check-in: 83a574b019 user: drh tags: trunk
2011-10-31
17:54
Fix a potential division-by-zero in the file browser. check-in: 4d408219bd user: drh tags: trunk

Changes to src/manifest.c.

1333
1334
1335
1336
1337
1338
1339
1340


1341
1342
1343
1344



1345


1346




1347
1348
1349
1350
1351
1352
1353
                       pChildFile->zName, 0, isPublic, mperm);
       }
    }
  }
  if( pParent->zBaseline && pChild->zBaseline ){
    /* Both parent and child are delta manifests.  Look for files that
    ** are marked as deleted in the parent but which reappear in the child
    ** and show such files as being added in the child. */


    for(i=0, pParentFile=pParent->aFile; i<pParent->nFile; i++, pParentFile++){
      if( pParentFile->zUuid ) continue;
      pChildFile = manifest_file_seek(pChild, pParentFile->zName);
      if( pChildFile ){



        add_one_mlink(cid, 0, pChildFile->zUuid, pChildFile->zName, 0,


                      isPublic, manifest_file_mperm(pChildFile));




      }
    }
  }else if( pChild->zBaseline==0 ){
    /* pChild is a baseline.  Look for files that are present in pParent
    ** but are missing from pChild and mark them as having been deleted. */
    manifest_file_rewind(pParent);
    while( (pParentFile = manifest_file_next(pParent,0))!=0 ){






|
>
>

<


>
>
>
|
>
>
|
>
>
>
>







1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343

1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
                       pChildFile->zName, 0, isPublic, mperm);
       }
    }
  }
  if( pParent->zBaseline && pChild->zBaseline ){
    /* Both parent and child are delta manifests.  Look for files that
    ** are marked as deleted in the parent but which reappear in the child
    ** and show such files as being added in the child.
    ** Also look for different uuids in the parent, to show that
    ** the file contents were back those of the baseline */
    for(i=0, pParentFile=pParent->aFile; i<pParent->nFile; i++, pParentFile++){

      pChildFile = manifest_file_seek(pChild, pParentFile->zName);
      if( pChildFile ){
        int mperm = manifest_file_mperm(pChildFile);
        if( !pParentFile->zUuid ){
          /* File added to the child */
          add_one_mlink(cid, 0, pChildFile->zUuid, pChildFile->zName, 0,
              isPublic, mperm);
        }else if( fossil_strcmp(pChildFile->zUuid, pParentFile->zUuid) !=0
            || manifest_file_mperm(pParentFile)!=mperm ){
          /* File changed in the child back to the baseline uuid or perms */
          add_one_mlink(cid, pParentFile->zUuid, pChildFile->zUuid,
              pChildFile->zName, 0, isPublic, mperm);
        }
      }
    }
  }else if( pChild->zBaseline==0 ){
    /* pChild is a baseline.  Look for files that are present in pParent
    ** but are missing from pChild and mark them as having been deleted. */
    manifest_file_rewind(pParent);
    while( (pParentFile = manifest_file_next(pParent,0))!=0 ){