Fossil

Check-in [aa9a2485]
Login

Check-in [aa9a2485]

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

Overview
Comment:Here is a better fix for the name-change-display issue. This one does not require running "fossil rebuild" assuming you start from trunk. (If you are updating from the previous check-in on this branch a rebuild is necessary to undo the changes that the previous check-in added.)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | improved-name-change-display
Files: files | file ages | folders
SHA1: aa9a2485de8f6e67a48660b267ef70d6bd014972
User & Date: drh 2012-12-18 01:54:27
Context
2012-12-18
02:18
Fix a typo - repeated word "from" ... (Closed-Leaf check-in: 6dba4c6a user: drh tags: improved-name-change-display)
01:54
Here is a better fix for the name-change-display issue. This one does not require running "fossil rebuild" assuming you start from trunk. (If you are updating from the previous check-in on this branch a rebuild is necessary to undo the changes that the previous check-in added.) ... (check-in: aa9a2485 user: drh tags: improved-name-change-display)
01:39
When a file is renamed, do not show it has having been deleted in addition to being renamed. After upgrading through this change, you must run "fossil rebuild" for the fix to take effect. ... (check-in: 4ac43fe6 user: drh tags: improved-name-change-display)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/info.c.

698
699
700
701
702
703
704


705
706
707
708
709
710
711
712
713
       "SELECT name,"
       "       mperm,"
       "       (SELECT uuid FROM blob WHERE rid=mlink.pid),"
       "       (SELECT uuid FROM blob WHERE rid=mlink.fid),"
       "       (SELECT name FROM filename WHERE filename.fnid=mlink.pfnid)"
       "  FROM mlink JOIN filename ON filename.fnid=mlink.fnid"
       " WHERE mlink.mid=%d"


       " ORDER BY name /*sort*/",
       rid
    );
    diffFlags = construct_diff_flags(showDiff, sideBySide);
    while( db_step(&q)==SQLITE_ROW ){
      const char *zName = db_column_text(&q,0);
      int mperm = db_column_int(&q, 1);
      const char *zOld = db_column_text(&q,2);
      const char *zNew = db_column_text(&q,3);







>
>

|







698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
       "SELECT name,"
       "       mperm,"
       "       (SELECT uuid FROM blob WHERE rid=mlink.pid),"
       "       (SELECT uuid FROM blob WHERE rid=mlink.fid),"
       "       (SELECT name FROM filename WHERE filename.fnid=mlink.pfnid)"
       "  FROM mlink JOIN filename ON filename.fnid=mlink.fnid"
       " WHERE mlink.mid=%d"
       "   AND (mlink.fid>0"
              " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))"
       " ORDER BY name /*sort*/",
       rid, rid
    );
    diffFlags = construct_diff_flags(showDiff, sideBySide);
    while( db_step(&q)==SQLITE_ROW ){
      const char *zName = db_column_text(&q,0);
      int mperm = db_column_int(&q, 1);
      const char *zOld = db_column_text(&q,2);
      const char *zNew = db_column_text(&q,3);

Changes to src/manifest.c.

1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
        TAG_COMMENT, rid, p->rDate
      );
      zCom = db_text(0, "SELECT coalesce(ecomment, comment) FROM event"
                        " WHERE rowid=last_insert_rowid()");
      wiki_extract_links(zCom, rid, 0, p->rDate, 1, WIKI_INLINE);
      free(zCom);

      /* Remove file-delete entries if there is also a file-rename entry */
      db_multi_exec(
        "DELETE FROM mlink"
        " WHERE mid=%d"
        "   AND fid=0"
        "   AND fnid IN (SELECT pfnid FROM mlink WHERE mid=%d);",
        rid, rid
      );

      /* If this is a delta-manifest, record the fact that this repository
      ** contains delta manifests, to free the "commit" logic to generate
      ** new delta manifests.
      */
      if( p->zBaseline!=0 ){
        static int once = 0;
        if( !once ){







<
<
<
<
<
<
<
<
<







1691
1692
1693
1694
1695
1696
1697









1698
1699
1700
1701
1702
1703
1704
        TAG_COMMENT, rid, p->rDate
      );
      zCom = db_text(0, "SELECT coalesce(ecomment, comment) FROM event"
                        " WHERE rowid=last_insert_rowid()");
      wiki_extract_links(zCom, rid, 0, p->rDate, 1, WIKI_INLINE);
      free(zCom);










      /* If this is a delta-manifest, record the fact that this repository
      ** contains delta manifests, to free the "commit" logic to generate
      ** new delta manifests.
      */
      if( p->zBaseline!=0 ){
        static int once = 0;
        if( !once ){

Changes to src/timeline.c.

424
425
426
427
428
429
430


431
432
433
434
435
436
437
          "       (fid==0) AS isdel,"
          "       (SELECT name FROM filename WHERE fnid=mlink.fnid) AS name,"
          "       (SELECT uuid FROM blob WHERE rid=fid),"
          "       (SELECT uuid FROM blob WHERE rid=pid),"
          "       (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm"
          "  FROM mlink"
          " WHERE mid=:mid AND (pid!=fid OR pfnid>0)"


          " ORDER BY 3 /*sort*/"
        );
        fchngQueryInit = 1;
      }
      db_bind_int(&fchngQuery, ":mid", rid);
      while( db_step(&fchngQuery)==SQLITE_ROW ){
        const char *zFilename = db_column_text(&fchngQuery, 2);







>
>







424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
          "       (fid==0) AS isdel,"
          "       (SELECT name FROM filename WHERE fnid=mlink.fnid) AS name,"
          "       (SELECT uuid FROM blob WHERE rid=fid),"
          "       (SELECT uuid FROM blob WHERE rid=pid),"
          "       (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm"
          "  FROM mlink"
          " WHERE mid=:mid AND (pid!=fid OR pfnid>0)"
          "   AND (fid>0 OR"
               "   fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=:mid))"
          " ORDER BY 3 /*sort*/"
        );
        fchngQueryInit = 1;
      }
      db_bind_int(&fchngQuery, ":mid", rid);
      while( db_step(&fchngQuery)==SQLITE_ROW ){
        const char *zFilename = db_column_text(&fchngQuery, 2);