Fossil SCM

Fix the display of file renames so that they show up as just renames and do not also appear as a delete.

drh 2012-12-18 02:38 trunk merge
Commit ebd36f9b2b278f719269402c7b4a18ed15f784df
+4 -2
--- src/info.c
+++ src/info.c
@@ -360,11 +360,11 @@
360360
if( fossil_strcmp(zOld, zNew)!=0 ){
361361
@ <p>Modified %z(href("%R/finfo?name=%T",zName))%h(zName)</a>
362362
@ from %z(href("%R/artifact/%s",zOld))[%S(zOld)]</a>
363363
@ to %z(href("%R/artifact/%s",zNew))[%S(zNew)].</a>
364364
}else if( zOldName!=0 && fossil_strcmp(zName,zOldName)!=0 ){
365
- @ <p>Name change from
365
+ @ <p>Name change
366366
@ from %z(href("%R/finfo?name=%T",zOldName))%h(zOldName)</a>
367367
@ to %z(href("%R/finfo?name=%T",zName))%h(zName)</a>.
368368
}else{
369369
@ <p>Execute permission %s(( mperm==PERM_EXE )?"set":"cleared") for
370370
@ %z(href("%R/finfo?name=%T",zName))%h(zName)</a>
@@ -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
@@ -360,11 +360,11 @@
360 if( fossil_strcmp(zOld, zNew)!=0 ){
361 @ <p>Modified %z(href("%R/finfo?name=%T",zName))%h(zName)</a>
362 @ from %z(href("%R/artifact/%s",zOld))[%S(zOld)]</a>
363 @ to %z(href("%R/artifact/%s",zNew))[%S(zNew)].</a>
364 }else if( zOldName!=0 && fossil_strcmp(zName,zOldName)!=0 ){
365 @ <p>Name change from
366 @ from %z(href("%R/finfo?name=%T",zOldName))%h(zOldName)</a>
367 @ to %z(href("%R/finfo?name=%T",zName))%h(zName)</a>.
368 }else{
369 @ <p>Execute permission %s(( mperm==PERM_EXE )?"set":"cleared") for
370 @ %z(href("%R/finfo?name=%T",zName))%h(zName)</a>
@@ -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
@@ -360,11 +360,11 @@
360 if( fossil_strcmp(zOld, zNew)!=0 ){
361 @ <p>Modified %z(href("%R/finfo?name=%T",zName))%h(zName)</a>
362 @ from %z(href("%R/artifact/%s",zOld))[%S(zOld)]</a>
363 @ to %z(href("%R/artifact/%s",zNew))[%S(zNew)].</a>
364 }else if( zOldName!=0 && fossil_strcmp(zName,zOldName)!=0 ){
365 @ <p>Name change
366 @ from %z(href("%R/finfo?name=%T",zOldName))%h(zOldName)</a>
367 @ to %z(href("%R/finfo?name=%T",zName))%h(zName)</a>.
368 }else{
369 @ <p>Execute permission %s(( mperm==PERM_EXE )?"set":"cleared") for
370 @ %z(href("%R/finfo?name=%T",zName))%h(zName)</a>
@@ -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
@@ -1983,5 +1983,23 @@
19831983
manifest_destroy(p);
19841984
}
19851985
assert( blob_is_reset(pContent) );
19861986
return 1;
19871987
}
1988
+
1989
+/*
1990
+** COMMAND: test-crosslink
1991
+**
1992
+** Usage: %fossil test-crosslink RECORDID
1993
+**
1994
+** Run the manifest_crosslink() routine on the artifact with the given
1995
+** record ID. This is typically done in the debugger.
1996
+*/
1997
+void test_crosslink_cmd(void){
1998
+ int rid;
1999
+ Blob content;
2000
+ db_find_and_open_repository(0, 0);
2001
+ if( g.argc!=3 ) usage("RECORDID");
2002
+ rid = name_to_rid(g.argv[2]);
2003
+ content_get(rid, &content);
2004
+ manifest_crosslink(rid, &content);
2005
+}
19882006
--- src/manifest.c
+++ src/manifest.c
@@ -1983,5 +1983,23 @@
1983 manifest_destroy(p);
1984 }
1985 assert( blob_is_reset(pContent) );
1986 return 1;
1987 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1988
--- src/manifest.c
+++ src/manifest.c
@@ -1983,5 +1983,23 @@
1983 manifest_destroy(p);
1984 }
1985 assert( blob_is_reset(pContent) );
1986 return 1;
1987 }
1988
1989 /*
1990 ** COMMAND: test-crosslink
1991 **
1992 ** Usage: %fossil test-crosslink RECORDID
1993 **
1994 ** Run the manifest_crosslink() routine on the artifact with the given
1995 ** record ID. This is typically done in the debugger.
1996 */
1997 void test_crosslink_cmd(void){
1998 int rid;
1999 Blob content;
2000 db_find_and_open_repository(0, 0);
2001 if( g.argc!=3 ) usage("RECORDID");
2002 rid = name_to_rid(g.argv[2]);
2003 content_get(rid, &content);
2004 manifest_crosslink(rid, &content);
2005 }
2006
--- 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