Fossil SCM
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.)
Commit
aa9a2485de8f6e67a48660b267ef70d6bd014972
Parent
4ac43fe6e33d434…
3 files changed
+3
-1
-9
+2
+3
-1
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -700,12 +700,14 @@ | ||
| 700 | 700 | " (SELECT uuid FROM blob WHERE rid=mlink.pid)," |
| 701 | 701 | " (SELECT uuid FROM blob WHERE rid=mlink.fid)," |
| 702 | 702 | " (SELECT name FROM filename WHERE filename.fnid=mlink.pfnid)" |
| 703 | 703 | " FROM mlink JOIN filename ON filename.fnid=mlink.fnid" |
| 704 | 704 | " WHERE mlink.mid=%d" |
| 705 | + " AND (mlink.fid>0" | |
| 706 | + " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))" | |
| 705 | 707 | " ORDER BY name /*sort*/", |
| 706 | - rid | |
| 708 | + rid, rid | |
| 707 | 709 | ); |
| 708 | 710 | diffFlags = construct_diff_flags(showDiff, sideBySide); |
| 709 | 711 | while( db_step(&q)==SQLITE_ROW ){ |
| 710 | 712 | const char *zName = db_column_text(&q,0); |
| 711 | 713 | int mperm = db_column_int(&q, 1); |
| 712 | 714 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -700,12 +700,14 @@ | |
| 700 | " (SELECT uuid FROM blob WHERE rid=mlink.pid)," |
| 701 | " (SELECT uuid FROM blob WHERE rid=mlink.fid)," |
| 702 | " (SELECT name FROM filename WHERE filename.fnid=mlink.pfnid)" |
| 703 | " FROM mlink JOIN filename ON filename.fnid=mlink.fnid" |
| 704 | " WHERE mlink.mid=%d" |
| 705 | " ORDER BY name /*sort*/", |
| 706 | rid |
| 707 | ); |
| 708 | diffFlags = construct_diff_flags(showDiff, sideBySide); |
| 709 | while( db_step(&q)==SQLITE_ROW ){ |
| 710 | const char *zName = db_column_text(&q,0); |
| 711 | int mperm = db_column_int(&q, 1); |
| 712 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -700,12 +700,14 @@ | |
| 700 | " (SELECT uuid FROM blob WHERE rid=mlink.pid)," |
| 701 | " (SELECT uuid FROM blob WHERE rid=mlink.fid)," |
| 702 | " (SELECT name FROM filename WHERE filename.fnid=mlink.pfnid)" |
| 703 | " FROM mlink JOIN filename ON filename.fnid=mlink.fnid" |
| 704 | " WHERE mlink.mid=%d" |
| 705 | " AND (mlink.fid>0" |
| 706 | " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))" |
| 707 | " ORDER BY name /*sort*/", |
| 708 | rid, rid |
| 709 | ); |
| 710 | diffFlags = construct_diff_flags(showDiff, sideBySide); |
| 711 | while( db_step(&q)==SQLITE_ROW ){ |
| 712 | const char *zName = db_column_text(&q,0); |
| 713 | int mperm = db_column_int(&q, 1); |
| 714 |
-9
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -1693,19 +1693,10 @@ | ||
| 1693 | 1693 | zCom = db_text(0, "SELECT coalesce(ecomment, comment) FROM event" |
| 1694 | 1694 | " WHERE rowid=last_insert_rowid()"); |
| 1695 | 1695 | wiki_extract_links(zCom, rid, 0, p->rDate, 1, WIKI_INLINE); |
| 1696 | 1696 | free(zCom); |
| 1697 | 1697 | |
| 1698 | - /* Remove file-delete entries if there is also a file-rename entry */ | |
| 1699 | - db_multi_exec( | |
| 1700 | - "DELETE FROM mlink" | |
| 1701 | - " WHERE mid=%d" | |
| 1702 | - " AND fid=0" | |
| 1703 | - " AND fnid IN (SELECT pfnid FROM mlink WHERE mid=%d);", | |
| 1704 | - rid, rid | |
| 1705 | - ); | |
| 1706 | - | |
| 1707 | 1698 | /* If this is a delta-manifest, record the fact that this repository |
| 1708 | 1699 | ** contains delta manifests, to free the "commit" logic to generate |
| 1709 | 1700 | ** new delta manifests. |
| 1710 | 1701 | */ |
| 1711 | 1702 | if( p->zBaseline!=0 ){ |
| 1712 | 1703 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -1693,19 +1693,10 @@ | |
| 1693 | zCom = db_text(0, "SELECT coalesce(ecomment, comment) FROM event" |
| 1694 | " WHERE rowid=last_insert_rowid()"); |
| 1695 | wiki_extract_links(zCom, rid, 0, p->rDate, 1, WIKI_INLINE); |
| 1696 | free(zCom); |
| 1697 | |
| 1698 | /* Remove file-delete entries if there is also a file-rename entry */ |
| 1699 | db_multi_exec( |
| 1700 | "DELETE FROM mlink" |
| 1701 | " WHERE mid=%d" |
| 1702 | " AND fid=0" |
| 1703 | " AND fnid IN (SELECT pfnid FROM mlink WHERE mid=%d);", |
| 1704 | rid, rid |
| 1705 | ); |
| 1706 | |
| 1707 | /* If this is a delta-manifest, record the fact that this repository |
| 1708 | ** contains delta manifests, to free the "commit" logic to generate |
| 1709 | ** new delta manifests. |
| 1710 | */ |
| 1711 | if( p->zBaseline!=0 ){ |
| 1712 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -1693,19 +1693,10 @@ | |
| 1693 | zCom = db_text(0, "SELECT coalesce(ecomment, comment) FROM event" |
| 1694 | " WHERE rowid=last_insert_rowid()"); |
| 1695 | wiki_extract_links(zCom, rid, 0, p->rDate, 1, WIKI_INLINE); |
| 1696 | free(zCom); |
| 1697 | |
| 1698 | /* If this is a delta-manifest, record the fact that this repository |
| 1699 | ** contains delta manifests, to free the "commit" logic to generate |
| 1700 | ** new delta manifests. |
| 1701 | */ |
| 1702 | if( p->zBaseline!=0 ){ |
| 1703 |
+2
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -426,10 +426,12 @@ | ||
| 426 | 426 | " (SELECT uuid FROM blob WHERE rid=fid)," |
| 427 | 427 | " (SELECT uuid FROM blob WHERE rid=pid)," |
| 428 | 428 | " (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm" |
| 429 | 429 | " FROM mlink" |
| 430 | 430 | " WHERE mid=:mid AND (pid!=fid OR pfnid>0)" |
| 431 | + " AND (fid>0 OR" | |
| 432 | + " fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=:mid))" | |
| 431 | 433 | " ORDER BY 3 /*sort*/" |
| 432 | 434 | ); |
| 433 | 435 | fchngQueryInit = 1; |
| 434 | 436 | } |
| 435 | 437 | db_bind_int(&fchngQuery, ":mid", rid); |
| 436 | 438 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -426,10 +426,12 @@ | |
| 426 | " (SELECT uuid FROM blob WHERE rid=fid)," |
| 427 | " (SELECT uuid FROM blob WHERE rid=pid)," |
| 428 | " (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm" |
| 429 | " FROM mlink" |
| 430 | " WHERE mid=:mid AND (pid!=fid OR pfnid>0)" |
| 431 | " ORDER BY 3 /*sort*/" |
| 432 | ); |
| 433 | fchngQueryInit = 1; |
| 434 | } |
| 435 | db_bind_int(&fchngQuery, ":mid", rid); |
| 436 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -426,10 +426,12 @@ | |
| 426 | " (SELECT uuid FROM blob WHERE rid=fid)," |
| 427 | " (SELECT uuid FROM blob WHERE rid=pid)," |
| 428 | " (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm" |
| 429 | " FROM mlink" |
| 430 | " WHERE mid=:mid AND (pid!=fid OR pfnid>0)" |
| 431 | " AND (fid>0 OR" |
| 432 | " fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=:mid))" |
| 433 | " ORDER BY 3 /*sort*/" |
| 434 | ); |
| 435 | fchngQueryInit = 1; |
| 436 | } |
| 437 | db_bind_int(&fchngQuery, ":mid", rid); |
| 438 |