Fossil

Check-in [e08f9c04]
Login

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

Overview
Comment:Disable the time_fudge corrections for check-ins that have mtimes that are modified using a tag.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e08f9c042309d8812b066a8fdd59d3c737b4b84456b912dfbc33a6e884616ef6
User & Date: drh 2018-06-11 20:36:38
Context
2018-06-12
18:52
Reduce automatic scroll offset when multiple ranges are selected check-in: d46491d6 user: andygoth tags: trunk
2018-06-11
20:36
Disable the time_fudge corrections for check-ins that have mtimes that are modified using a tag. check-in: e08f9c04 user: drh tags: trunk
10:36
Fix to the IfModifiedSince cache processing. check-in: 33fb3a97 user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Show Whitespace Changes Patch

Changes to src/manifest.c.

  1752   1752       db_reset(&u);
  1753   1753     }
  1754   1754     db_finalize(&q);
  1755   1755     db_finalize(&u);
  1756   1756     if( db_exists("SELECT 1 FROM time_fudge") ){
  1757   1757       db_multi_exec(
  1758   1758         "UPDATE event SET mtime=(SELECT m1 FROM time_fudge WHERE mid=objid)"
  1759         -      " WHERE objid IN (SELECT mid FROM time_fudge);"
         1759  +      " WHERE objid IN (SELECT mid FROM time_fudge)"
         1760  +      " AND (mtime=omtime OR omtime IS NULL)"
  1760   1761       );
  1761   1762     }
  1762   1763     db_multi_exec("DROP TABLE time_fudge;");
  1763   1764   
  1764   1765     db_end_transaction(0);
  1765   1766     manifest_crosslink_busy = 0;
  1766   1767     return ( rc!=TH_ERROR );
................................................................................
  1927   1928     int i, rc = TH_OK;
  1928   1929     Manifest *p;
  1929   1930     int parentid = 0;
  1930   1931     int permitHooks = (flags & MC_PERMIT_HOOKS);
  1931   1932     const char *zScript = 0;
  1932   1933     const char *zUuid = 0;
  1933   1934   
         1935  +  if( g.fSqlTrace ){
         1936  +    fossil_trace("-- manifest_crosslink(%d)\n", rid);
         1937  +  }
  1934   1938     if( (p = manifest_cache_find(rid))!=0 ){
  1935   1939       blob_reset(pContent);
  1936   1940     }else if( (p = manifest_parse(pContent, rid, 0))==0 ){
  1937   1941       assert( blob_is_reset(pContent) || pContent==0 );
  1938   1942       if( (flags & MC_NO_ERRORS)==0 ){
  1939   1943         fossil_error(1, "syntax error in manifest [%S]",
  1940   1944                      db_text(0, "SELECT uuid FROM blob WHERE rid=%d",rid));