Fossil SCM
Switch to time based color hash generation for other pages (brlist, finfo, and info).
Commit
4a90f3352dc7f49c9b2a69ff6b14685785449a6954369f36c34187f86a585687
Parent
1851b26d2b7894f…
3 files changed
+6
-2
+5
-2
+2
-1
+6
-2
| --- src/branch.c | ||
| +++ src/branch.c | ||
| @@ -226,10 +226,11 @@ | ||
| 226 | 226 | ** mergeto Another branch this branch was merged into |
| 227 | 227 | ** nckin Number of checkins on this branch |
| 228 | 228 | ** ckin Hash of the last check-in on this branch |
| 229 | 229 | ** isprivate True if the branch is private |
| 230 | 230 | ** bgclr Background color for this branch |
| 231 | +** rid RID of the last check-in on this branch | |
| 231 | 232 | */ |
| 232 | 233 | static const char createBrlistQuery[] = |
| 233 | 234 | @ CREATE TEMP TABLE IF NOT EXISTS tmp_brlist AS |
| 234 | 235 | @ SELECT |
| 235 | 236 | @ tagxref.value AS name, |
| @@ -245,11 +246,12 @@ | ||
| 245 | 246 | @ AND tagxref.tagid=(SELECT tagid FROM tag WHERE tagname='branch') |
| 246 | 247 | @ AND tagtype>0) AS mergeto, |
| 247 | 248 | @ count(*) AS nckin, |
| 248 | 249 | @ (SELECT uuid FROM blob WHERE rid=tagxref.rid) AS ckin, |
| 249 | 250 | @ event.bgcolor AS bgclr, |
| 250 | -@ EXISTS(SELECT 1 FROM private WHERE rid=tagxref.rid) AS isprivate | |
| 251 | +@ EXISTS(SELECT 1 FROM private WHERE rid=tagxref.rid) AS isprivate, | |
| 252 | +@ event.objid AS rid | |
| 251 | 253 | @ FROM tagxref, tag, event |
| 252 | 254 | @ WHERE tagxref.tagid=tag.tagid |
| 253 | 255 | @ AND tagxref.tagtype>0 |
| 254 | 256 | @ AND tag.tagname='branch' |
| 255 | 257 | @ AND event.objid=tagxref.rid |
| @@ -865,19 +867,21 @@ | ||
| 865 | 867 | int isClosed = db_column_int(&q, 2); |
| 866 | 868 | const char *zMergeTo = db_column_text(&q, 3); |
| 867 | 869 | int nCkin = db_column_int(&q, 4); |
| 868 | 870 | const char *zLastCkin = db_column_text(&q, 5); |
| 869 | 871 | const char *zBgClr = db_column_text(&q, 6); |
| 872 | + int rid = db_column_int(&q, 8); | |
| 873 | + const char *zBrDate = datetime_of_rid(start_of_branch(rid,1)); | |
| 870 | 874 | char *zAge = human_readable_age(rNow - rMtime); |
| 871 | 875 | sqlite3_int64 iMtime = (sqlite3_int64)(rMtime*86400.0); |
| 872 | 876 | if( zMergeTo && zMergeTo[0]==0 ) zMergeTo = 0; |
| 873 | 877 | if( zBgClr ) zBgClr = reasonable_bg_color(zBgClr, 0); |
| 874 | 878 | if( zBgClr==0 ){ |
| 875 | 879 | if( zBranch==0 || strcmp(zBranch,"trunk")==0 ){ |
| 876 | 880 | zBgClr = 0; |
| 877 | 881 | }else{ |
| 878 | - zBgClr = hash_color(zBranch); | |
| 882 | + zBgClr = hash_color(zBrDate); | |
| 879 | 883 | } |
| 880 | 884 | } |
| 881 | 885 | if( zBgClr && zBgClr[0] && show_colors ){ |
| 882 | 886 | @ <tr style="background-color:%s(zBgClr)"> |
| 883 | 887 | }else{ |
| 884 | 888 |
| --- src/branch.c | |
| +++ src/branch.c | |
| @@ -226,10 +226,11 @@ | |
| 226 | ** mergeto Another branch this branch was merged into |
| 227 | ** nckin Number of checkins on this branch |
| 228 | ** ckin Hash of the last check-in on this branch |
| 229 | ** isprivate True if the branch is private |
| 230 | ** bgclr Background color for this branch |
| 231 | */ |
| 232 | static const char createBrlistQuery[] = |
| 233 | @ CREATE TEMP TABLE IF NOT EXISTS tmp_brlist AS |
| 234 | @ SELECT |
| 235 | @ tagxref.value AS name, |
| @@ -245,11 +246,12 @@ | |
| 245 | @ AND tagxref.tagid=(SELECT tagid FROM tag WHERE tagname='branch') |
| 246 | @ AND tagtype>0) AS mergeto, |
| 247 | @ count(*) AS nckin, |
| 248 | @ (SELECT uuid FROM blob WHERE rid=tagxref.rid) AS ckin, |
| 249 | @ event.bgcolor AS bgclr, |
| 250 | @ EXISTS(SELECT 1 FROM private WHERE rid=tagxref.rid) AS isprivate |
| 251 | @ FROM tagxref, tag, event |
| 252 | @ WHERE tagxref.tagid=tag.tagid |
| 253 | @ AND tagxref.tagtype>0 |
| 254 | @ AND tag.tagname='branch' |
| 255 | @ AND event.objid=tagxref.rid |
| @@ -865,19 +867,21 @@ | |
| 865 | int isClosed = db_column_int(&q, 2); |
| 866 | const char *zMergeTo = db_column_text(&q, 3); |
| 867 | int nCkin = db_column_int(&q, 4); |
| 868 | const char *zLastCkin = db_column_text(&q, 5); |
| 869 | const char *zBgClr = db_column_text(&q, 6); |
| 870 | char *zAge = human_readable_age(rNow - rMtime); |
| 871 | sqlite3_int64 iMtime = (sqlite3_int64)(rMtime*86400.0); |
| 872 | if( zMergeTo && zMergeTo[0]==0 ) zMergeTo = 0; |
| 873 | if( zBgClr ) zBgClr = reasonable_bg_color(zBgClr, 0); |
| 874 | if( zBgClr==0 ){ |
| 875 | if( zBranch==0 || strcmp(zBranch,"trunk")==0 ){ |
| 876 | zBgClr = 0; |
| 877 | }else{ |
| 878 | zBgClr = hash_color(zBranch); |
| 879 | } |
| 880 | } |
| 881 | if( zBgClr && zBgClr[0] && show_colors ){ |
| 882 | @ <tr style="background-color:%s(zBgClr)"> |
| 883 | }else{ |
| 884 |
| --- src/branch.c | |
| +++ src/branch.c | |
| @@ -226,10 +226,11 @@ | |
| 226 | ** mergeto Another branch this branch was merged into |
| 227 | ** nckin Number of checkins on this branch |
| 228 | ** ckin Hash of the last check-in on this branch |
| 229 | ** isprivate True if the branch is private |
| 230 | ** bgclr Background color for this branch |
| 231 | ** rid RID of the last check-in on this branch |
| 232 | */ |
| 233 | static const char createBrlistQuery[] = |
| 234 | @ CREATE TEMP TABLE IF NOT EXISTS tmp_brlist AS |
| 235 | @ SELECT |
| 236 | @ tagxref.value AS name, |
| @@ -245,11 +246,12 @@ | |
| 246 | @ AND tagxref.tagid=(SELECT tagid FROM tag WHERE tagname='branch') |
| 247 | @ AND tagtype>0) AS mergeto, |
| 248 | @ count(*) AS nckin, |
| 249 | @ (SELECT uuid FROM blob WHERE rid=tagxref.rid) AS ckin, |
| 250 | @ event.bgcolor AS bgclr, |
| 251 | @ EXISTS(SELECT 1 FROM private WHERE rid=tagxref.rid) AS isprivate, |
| 252 | @ event.objid AS rid |
| 253 | @ FROM tagxref, tag, event |
| 254 | @ WHERE tagxref.tagid=tag.tagid |
| 255 | @ AND tagxref.tagtype>0 |
| 256 | @ AND tag.tagname='branch' |
| 257 | @ AND event.objid=tagxref.rid |
| @@ -865,19 +867,21 @@ | |
| 867 | int isClosed = db_column_int(&q, 2); |
| 868 | const char *zMergeTo = db_column_text(&q, 3); |
| 869 | int nCkin = db_column_int(&q, 4); |
| 870 | const char *zLastCkin = db_column_text(&q, 5); |
| 871 | const char *zBgClr = db_column_text(&q, 6); |
| 872 | int rid = db_column_int(&q, 8); |
| 873 | const char *zBrDate = datetime_of_rid(start_of_branch(rid,1)); |
| 874 | char *zAge = human_readable_age(rNow - rMtime); |
| 875 | sqlite3_int64 iMtime = (sqlite3_int64)(rMtime*86400.0); |
| 876 | if( zMergeTo && zMergeTo[0]==0 ) zMergeTo = 0; |
| 877 | if( zBgClr ) zBgClr = reasonable_bg_color(zBgClr, 0); |
| 878 | if( zBgClr==0 ){ |
| 879 | if( zBranch==0 || strcmp(zBranch,"trunk")==0 ){ |
| 880 | zBgClr = 0; |
| 881 | }else{ |
| 882 | zBgClr = hash_color(zBrDate); |
| 883 | } |
| 884 | } |
| 885 | if( zBgClr && zBgClr[0] && show_colors ){ |
| 886 | @ <tr style="background-color:%s(zBgClr)"> |
| 887 | }else{ |
| 888 |
+5
-2
| --- src/finfo.c | ||
| +++ src/finfo.c | ||
| @@ -488,11 +488,12 @@ | ||
| 488 | 488 | " AND tagxref.rid=mlink.mid),\n" /* Branchname */ |
| 489 | 489 | " mlink.mid,\n" /* check-in ID */ |
| 490 | 490 | " mlink.pfnid,\n" /* Previous filename */ |
| 491 | 491 | " blob.size,\n" /* File size */ |
| 492 | 492 | " mlink.fnid,\n" /* Current filename */ |
| 493 | - " filename.name\n" /* Current filename */ | |
| 493 | + " filename.name,\n" /* Current filename */ | |
| 494 | + " event.objid AS rid\n" /* RID for event */ | |
| 494 | 495 | "FROM clade CROSS JOIN mlink, event" |
| 495 | 496 | " LEFT JOIN blob ON blob.rid=clade.fid" |
| 496 | 497 | " LEFT JOIN filename ON filename.fnid=clade.fnid\n" |
| 497 | 498 | "WHERE mlink.fnid=clade.fnid AND mlink.fid=clade.fid\n" |
| 498 | 499 | " AND event.objid=mlink.mid\n", |
| @@ -617,10 +618,12 @@ | ||
| 617 | 618 | int fmid = db_column_int(&q, 10); |
| 618 | 619 | int pfnid = db_column_int(&q, 11); |
| 619 | 620 | int szFile = db_column_int(&q, 12); |
| 620 | 621 | int fnid = db_column_int(&q, 13); |
| 621 | 622 | const char *zFName = db_column_text(&q,14); |
| 623 | + int rid = db_column_int(&q, 15); | |
| 624 | + const char *zBrDate = datetime_of_rid(start_of_branch(rid,1)); | |
| 622 | 625 | int gidx; |
| 623 | 626 | char zTime[10]; |
| 624 | 627 | int nParent = 0; |
| 625 | 628 | int bIsModified = 0; |
| 626 | 629 | GraphRowId aParent[GR_MAX_RAIL]; |
| @@ -635,11 +638,11 @@ | ||
| 635 | 638 | db_reset(&qparent); |
| 636 | 639 | if( zBr==0 ) zBr = "trunk"; |
| 637 | 640 | if( uBg ){ |
| 638 | 641 | zBgClr = user_color(zUser); |
| 639 | 642 | }else if( brBg || zBgClr==0 || zBgClr[0]==0 ){ |
| 640 | - zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBr); | |
| 643 | + zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBrDate); | |
| 641 | 644 | }else if( zBgClr ){ |
| 642 | 645 | zBgClr = reasonable_bg_color(zBgClr,0); |
| 643 | 646 | } |
| 644 | 647 | gidx = graph_add_row(pGraph, |
| 645 | 648 | frid>0 ? (GraphRowId)frid*(mxfnid+1)+fnid : fpid+1000000000, |
| 646 | 649 |
| --- src/finfo.c | |
| +++ src/finfo.c | |
| @@ -488,11 +488,12 @@ | |
| 488 | " AND tagxref.rid=mlink.mid),\n" /* Branchname */ |
| 489 | " mlink.mid,\n" /* check-in ID */ |
| 490 | " mlink.pfnid,\n" /* Previous filename */ |
| 491 | " blob.size,\n" /* File size */ |
| 492 | " mlink.fnid,\n" /* Current filename */ |
| 493 | " filename.name\n" /* Current filename */ |
| 494 | "FROM clade CROSS JOIN mlink, event" |
| 495 | " LEFT JOIN blob ON blob.rid=clade.fid" |
| 496 | " LEFT JOIN filename ON filename.fnid=clade.fnid\n" |
| 497 | "WHERE mlink.fnid=clade.fnid AND mlink.fid=clade.fid\n" |
| 498 | " AND event.objid=mlink.mid\n", |
| @@ -617,10 +618,12 @@ | |
| 617 | int fmid = db_column_int(&q, 10); |
| 618 | int pfnid = db_column_int(&q, 11); |
| 619 | int szFile = db_column_int(&q, 12); |
| 620 | int fnid = db_column_int(&q, 13); |
| 621 | const char *zFName = db_column_text(&q,14); |
| 622 | int gidx; |
| 623 | char zTime[10]; |
| 624 | int nParent = 0; |
| 625 | int bIsModified = 0; |
| 626 | GraphRowId aParent[GR_MAX_RAIL]; |
| @@ -635,11 +638,11 @@ | |
| 635 | db_reset(&qparent); |
| 636 | if( zBr==0 ) zBr = "trunk"; |
| 637 | if( uBg ){ |
| 638 | zBgClr = user_color(zUser); |
| 639 | }else if( brBg || zBgClr==0 || zBgClr[0]==0 ){ |
| 640 | zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBr); |
| 641 | }else if( zBgClr ){ |
| 642 | zBgClr = reasonable_bg_color(zBgClr,0); |
| 643 | } |
| 644 | gidx = graph_add_row(pGraph, |
| 645 | frid>0 ? (GraphRowId)frid*(mxfnid+1)+fnid : fpid+1000000000, |
| 646 |
| --- src/finfo.c | |
| +++ src/finfo.c | |
| @@ -488,11 +488,12 @@ | |
| 488 | " AND tagxref.rid=mlink.mid),\n" /* Branchname */ |
| 489 | " mlink.mid,\n" /* check-in ID */ |
| 490 | " mlink.pfnid,\n" /* Previous filename */ |
| 491 | " blob.size,\n" /* File size */ |
| 492 | " mlink.fnid,\n" /* Current filename */ |
| 493 | " filename.name,\n" /* Current filename */ |
| 494 | " event.objid AS rid\n" /* RID for event */ |
| 495 | "FROM clade CROSS JOIN mlink, event" |
| 496 | " LEFT JOIN blob ON blob.rid=clade.fid" |
| 497 | " LEFT JOIN filename ON filename.fnid=clade.fnid\n" |
| 498 | "WHERE mlink.fnid=clade.fnid AND mlink.fid=clade.fid\n" |
| 499 | " AND event.objid=mlink.mid\n", |
| @@ -617,10 +618,12 @@ | |
| 618 | int fmid = db_column_int(&q, 10); |
| 619 | int pfnid = db_column_int(&q, 11); |
| 620 | int szFile = db_column_int(&q, 12); |
| 621 | int fnid = db_column_int(&q, 13); |
| 622 | const char *zFName = db_column_text(&q,14); |
| 623 | int rid = db_column_int(&q, 15); |
| 624 | const char *zBrDate = datetime_of_rid(start_of_branch(rid,1)); |
| 625 | int gidx; |
| 626 | char zTime[10]; |
| 627 | int nParent = 0; |
| 628 | int bIsModified = 0; |
| 629 | GraphRowId aParent[GR_MAX_RAIL]; |
| @@ -635,11 +638,11 @@ | |
| 638 | db_reset(&qparent); |
| 639 | if( zBr==0 ) zBr = "trunk"; |
| 640 | if( uBg ){ |
| 641 | zBgClr = user_color(zUser); |
| 642 | }else if( brBg || zBgClr==0 || zBgClr[0]==0 ){ |
| 643 | zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBrDate); |
| 644 | }else if( zBgClr ){ |
| 645 | zBgClr = reasonable_bg_color(zBgClr,0); |
| 646 | } |
| 647 | gidx = graph_add_row(pGraph, |
| 648 | frid>0 ? (GraphRowId)frid*(mxfnid+1)+fnid : fpid+1000000000, |
| 649 |
+2
-1
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -3728,10 +3728,11 @@ | ||
| 3728 | 3728 | style_header("Edit Check-in [%s]", zUuid); |
| 3729 | 3729 | if( P("preview") ){ |
| 3730 | 3730 | Blob suffix; |
| 3731 | 3731 | int nTag = 0; |
| 3732 | 3732 | const char *zDplyBr; /* Branch name used to determine BG color */ |
| 3733 | + const char *zBrDate = datetime_of_rid(start_of_branch(rid,1)); | |
| 3733 | 3734 | if( zNewBrFlag[0] && zNewBranch[0] ){ |
| 3734 | 3735 | zDplyBr = zNewBranch; |
| 3735 | 3736 | }else{ |
| 3736 | 3737 | zDplyBr = zBranchName; |
| 3737 | 3738 | } |
| @@ -3741,11 +3742,11 @@ | ||
| 3741 | 3742 | if( zNewColorFlag[0] && zNewColor && zNewColor[0] ){ |
| 3742 | 3743 | @ <tr><td style="background-color:%h(reasonable_bg_color(zNewColor,0));"> |
| 3743 | 3744 | }else if( zColor[0] ){ |
| 3744 | 3745 | @ <tr><td style="background-color:%h(reasonable_bg_color(zColor,0));"> |
| 3745 | 3746 | }else if( zDplyBr && fossil_strcmp(zDplyBr,"trunk")!=0 ){ |
| 3746 | - @ <tr><td style="background-color:%h(hash_color(zDplyBr));"> | |
| 3747 | + @ <tr><td style="background-color:%h(hash_color(zBrDate));"> | |
| 3747 | 3748 | }else{ |
| 3748 | 3749 | @ <tr><td> |
| 3749 | 3750 | } |
| 3750 | 3751 | @ %!W(blob_str(&comment)) |
| 3751 | 3752 | blob_zero(&suffix); |
| 3752 | 3753 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -3728,10 +3728,11 @@ | |
| 3728 | style_header("Edit Check-in [%s]", zUuid); |
| 3729 | if( P("preview") ){ |
| 3730 | Blob suffix; |
| 3731 | int nTag = 0; |
| 3732 | const char *zDplyBr; /* Branch name used to determine BG color */ |
| 3733 | if( zNewBrFlag[0] && zNewBranch[0] ){ |
| 3734 | zDplyBr = zNewBranch; |
| 3735 | }else{ |
| 3736 | zDplyBr = zBranchName; |
| 3737 | } |
| @@ -3741,11 +3742,11 @@ | |
| 3741 | if( zNewColorFlag[0] && zNewColor && zNewColor[0] ){ |
| 3742 | @ <tr><td style="background-color:%h(reasonable_bg_color(zNewColor,0));"> |
| 3743 | }else if( zColor[0] ){ |
| 3744 | @ <tr><td style="background-color:%h(reasonable_bg_color(zColor,0));"> |
| 3745 | }else if( zDplyBr && fossil_strcmp(zDplyBr,"trunk")!=0 ){ |
| 3746 | @ <tr><td style="background-color:%h(hash_color(zDplyBr));"> |
| 3747 | }else{ |
| 3748 | @ <tr><td> |
| 3749 | } |
| 3750 | @ %!W(blob_str(&comment)) |
| 3751 | blob_zero(&suffix); |
| 3752 |
| --- src/info.c | |
| +++ src/info.c | |
| @@ -3728,10 +3728,11 @@ | |
| 3728 | style_header("Edit Check-in [%s]", zUuid); |
| 3729 | if( P("preview") ){ |
| 3730 | Blob suffix; |
| 3731 | int nTag = 0; |
| 3732 | const char *zDplyBr; /* Branch name used to determine BG color */ |
| 3733 | const char *zBrDate = datetime_of_rid(start_of_branch(rid,1)); |
| 3734 | if( zNewBrFlag[0] && zNewBranch[0] ){ |
| 3735 | zDplyBr = zNewBranch; |
| 3736 | }else{ |
| 3737 | zDplyBr = zBranchName; |
| 3738 | } |
| @@ -3741,11 +3742,11 @@ | |
| 3742 | if( zNewColorFlag[0] && zNewColor && zNewColor[0] ){ |
| 3743 | @ <tr><td style="background-color:%h(reasonable_bg_color(zNewColor,0));"> |
| 3744 | }else if( zColor[0] ){ |
| 3745 | @ <tr><td style="background-color:%h(reasonable_bg_color(zColor,0));"> |
| 3746 | }else if( zDplyBr && fossil_strcmp(zDplyBr,"trunk")!=0 ){ |
| 3747 | @ <tr><td style="background-color:%h(hash_color(zBrDate));"> |
| 3748 | }else{ |
| 3749 | @ <tr><td> |
| 3750 | } |
| 3751 | @ %!W(blob_str(&comment)) |
| 3752 | blob_zero(&suffix); |
| 3753 |