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.)

drh 2012-12-18 01:54 UTC improved-name-change-display
Commit aa9a2485de8f6e67a48660b267ef70d6bd014972
+3 -1
--- src/info.c
+++ src/info.c
@@ -700,12 +700,14 @@
700700
" (SELECT uuid FROM blob WHERE rid=mlink.pid),"
701701
" (SELECT uuid FROM blob WHERE rid=mlink.fid),"
702702
" (SELECT name FROM filename WHERE filename.fnid=mlink.pfnid)"
703703
" FROM mlink JOIN filename ON filename.fnid=mlink.fnid"
704704
" WHERE mlink.mid=%d"
705
+ " AND (mlink.fid>0"
706
+ " OR mlink.fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=%d))"
705707
" ORDER BY name /*sort*/",
706
- rid
708
+ rid, rid
707709
);
708710
diffFlags = construct_diff_flags(showDiff, sideBySide);
709711
while( db_step(&q)==SQLITE_ROW ){
710712
const char *zName = db_column_text(&q,0);
711713
int mperm = db_column_int(&q, 1);
712714
--- 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
--- src/manifest.c
+++ src/manifest.c
@@ -1693,19 +1693,10 @@
16931693
zCom = db_text(0, "SELECT coalesce(ecomment, comment) FROM event"
16941694
" WHERE rowid=last_insert_rowid()");
16951695
wiki_extract_links(zCom, rid, 0, p->rDate, 1, WIKI_INLINE);
16961696
free(zCom);
16971697
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
-
17071698
/* If this is a delta-manifest, record the fact that this repository
17081699
** contains delta manifests, to free the "commit" logic to generate
17091700
** new delta manifests.
17101701
*/
17111702
if( p->zBaseline!=0 ){
17121703
--- 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
--- src/timeline.c
+++ src/timeline.c
@@ -426,10 +426,12 @@
426426
" (SELECT uuid FROM blob WHERE rid=fid),"
427427
" (SELECT uuid FROM blob WHERE rid=pid),"
428428
" (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm"
429429
" FROM mlink"
430430
" 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))"
431433
" ORDER BY 3 /*sort*/"
432434
);
433435
fchngQueryInit = 1;
434436
}
435437
db_bind_int(&fchngQuery, ":mid", rid);
436438
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button