Fossil SCM
Use a "disjoint" timeline for the display of ancestor and descendent graphs.
Commit
4f2f04495c2a51f302d16186b7a53d49bf6d2633
Parent
5111a5fea21e206…
1 file changed
+4
-3
+4
-3
| --- src/timeline.c | ||
| +++ src/timeline.c | ||
| @@ -1074,11 +1074,11 @@ | ||
| 1074 | 1074 | const char *zYearMonth = P("ym"); /* Show checkins for the given YYYY-MM */ |
| 1075 | 1075 | const char *zYearWeek = P("yw"); /* Show checkins for the given YYYY-WW (week-of-year)*/ |
| 1076 | 1076 | int useDividers = P("nd")==0; /* Show dividers if "nd" is missing */ |
| 1077 | 1077 | int renameOnly = P("namechng")!=0; /* Show only checkins that rename files */ |
| 1078 | 1078 | int tagid; /* Tag ID */ |
| 1079 | - int tmFlags; /* Timeline flags */ | |
| 1079 | + int tmFlags = 0; /* Timeline flags */ | |
| 1080 | 1080 | const char *zThisTag = 0; /* Suppress links to this tag */ |
| 1081 | 1081 | const char *zThisUser = 0; /* Suppress links to this user */ |
| 1082 | 1082 | HQuery url; /* URL for various branch links */ |
| 1083 | 1083 | int from_rid = name_to_typed_rid(P("from"),"ci"); /* from= for paths */ |
| 1084 | 1084 | int to_rid = name_to_typed_rid(P("to"),"ci"); /* to= for path timelines */ |
| @@ -1114,13 +1114,13 @@ | ||
| 1114 | 1114 | ){ |
| 1115 | 1115 | zCirca = zBefore = zAfter = 0; |
| 1116 | 1116 | nEntry = -1; |
| 1117 | 1117 | } |
| 1118 | 1118 | if( zType[0]=='a' ){ |
| 1119 | - tmFlags = TIMELINE_BRIEF | TIMELINE_GRAPH; | |
| 1119 | + tmFlags |= TIMELINE_BRIEF | TIMELINE_GRAPH; | |
| 1120 | 1120 | }else{ |
| 1121 | - tmFlags = TIMELINE_GRAPH; | |
| 1121 | + tmFlags |= TIMELINE_GRAPH; | |
| 1122 | 1122 | } |
| 1123 | 1123 | if( nEntry>0 ) url_add_parameter(&url, "n", mprintf("%d", nEntry)); |
| 1124 | 1124 | if( P("ng")!=0 || zSearch!=0 ){ |
| 1125 | 1125 | tmFlags &= ~TIMELINE_GRAPH; |
| 1126 | 1126 | url_add_parameter(&url, "ng", 0); |
| @@ -1210,10 +1210,11 @@ | ||
| 1210 | 1210 | }else if( (p_rid || d_rid) && g.perm.Read ){ |
| 1211 | 1211 | /* If p= or d= is present, ignore all other parameters other than n= */ |
| 1212 | 1212 | char *zUuid; |
| 1213 | 1213 | int np, nd; |
| 1214 | 1214 | |
| 1215 | + tmFlags |= TIMELINE_DISJOINT; | |
| 1215 | 1216 | if( p_rid && d_rid ){ |
| 1216 | 1217 | if( p_rid!=d_rid ) p_rid = d_rid; |
| 1217 | 1218 | if( P("n")==0 ) nEntry = 10; |
| 1218 | 1219 | } |
| 1219 | 1220 | db_multi_exec( |
| 1220 | 1221 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1074,11 +1074,11 @@ | |
| 1074 | const char *zYearMonth = P("ym"); /* Show checkins for the given YYYY-MM */ |
| 1075 | const char *zYearWeek = P("yw"); /* Show checkins for the given YYYY-WW (week-of-year)*/ |
| 1076 | int useDividers = P("nd")==0; /* Show dividers if "nd" is missing */ |
| 1077 | int renameOnly = P("namechng")!=0; /* Show only checkins that rename files */ |
| 1078 | int tagid; /* Tag ID */ |
| 1079 | int tmFlags; /* Timeline flags */ |
| 1080 | const char *zThisTag = 0; /* Suppress links to this tag */ |
| 1081 | const char *zThisUser = 0; /* Suppress links to this user */ |
| 1082 | HQuery url; /* URL for various branch links */ |
| 1083 | int from_rid = name_to_typed_rid(P("from"),"ci"); /* from= for paths */ |
| 1084 | int to_rid = name_to_typed_rid(P("to"),"ci"); /* to= for path timelines */ |
| @@ -1114,13 +1114,13 @@ | |
| 1114 | ){ |
| 1115 | zCirca = zBefore = zAfter = 0; |
| 1116 | nEntry = -1; |
| 1117 | } |
| 1118 | if( zType[0]=='a' ){ |
| 1119 | tmFlags = TIMELINE_BRIEF | TIMELINE_GRAPH; |
| 1120 | }else{ |
| 1121 | tmFlags = TIMELINE_GRAPH; |
| 1122 | } |
| 1123 | if( nEntry>0 ) url_add_parameter(&url, "n", mprintf("%d", nEntry)); |
| 1124 | if( P("ng")!=0 || zSearch!=0 ){ |
| 1125 | tmFlags &= ~TIMELINE_GRAPH; |
| 1126 | url_add_parameter(&url, "ng", 0); |
| @@ -1210,10 +1210,11 @@ | |
| 1210 | }else if( (p_rid || d_rid) && g.perm.Read ){ |
| 1211 | /* If p= or d= is present, ignore all other parameters other than n= */ |
| 1212 | char *zUuid; |
| 1213 | int np, nd; |
| 1214 | |
| 1215 | if( p_rid && d_rid ){ |
| 1216 | if( p_rid!=d_rid ) p_rid = d_rid; |
| 1217 | if( P("n")==0 ) nEntry = 10; |
| 1218 | } |
| 1219 | db_multi_exec( |
| 1220 |
| --- src/timeline.c | |
| +++ src/timeline.c | |
| @@ -1074,11 +1074,11 @@ | |
| 1074 | const char *zYearMonth = P("ym"); /* Show checkins for the given YYYY-MM */ |
| 1075 | const char *zYearWeek = P("yw"); /* Show checkins for the given YYYY-WW (week-of-year)*/ |
| 1076 | int useDividers = P("nd")==0; /* Show dividers if "nd" is missing */ |
| 1077 | int renameOnly = P("namechng")!=0; /* Show only checkins that rename files */ |
| 1078 | int tagid; /* Tag ID */ |
| 1079 | int tmFlags = 0; /* Timeline flags */ |
| 1080 | const char *zThisTag = 0; /* Suppress links to this tag */ |
| 1081 | const char *zThisUser = 0; /* Suppress links to this user */ |
| 1082 | HQuery url; /* URL for various branch links */ |
| 1083 | int from_rid = name_to_typed_rid(P("from"),"ci"); /* from= for paths */ |
| 1084 | int to_rid = name_to_typed_rid(P("to"),"ci"); /* to= for path timelines */ |
| @@ -1114,13 +1114,13 @@ | |
| 1114 | ){ |
| 1115 | zCirca = zBefore = zAfter = 0; |
| 1116 | nEntry = -1; |
| 1117 | } |
| 1118 | if( zType[0]=='a' ){ |
| 1119 | tmFlags |= TIMELINE_BRIEF | TIMELINE_GRAPH; |
| 1120 | }else{ |
| 1121 | tmFlags |= TIMELINE_GRAPH; |
| 1122 | } |
| 1123 | if( nEntry>0 ) url_add_parameter(&url, "n", mprintf("%d", nEntry)); |
| 1124 | if( P("ng")!=0 || zSearch!=0 ){ |
| 1125 | tmFlags &= ~TIMELINE_GRAPH; |
| 1126 | url_add_parameter(&url, "ng", 0); |
| @@ -1210,10 +1210,11 @@ | |
| 1210 | }else if( (p_rid || d_rid) && g.perm.Read ){ |
| 1211 | /* If p= or d= is present, ignore all other parameters other than n= */ |
| 1212 | char *zUuid; |
| 1213 | int np, nd; |
| 1214 | |
| 1215 | tmFlags |= TIMELINE_DISJOINT; |
| 1216 | if( p_rid && d_rid ){ |
| 1217 | if( p_rid!=d_rid ) p_rid = d_rid; |
| 1218 | if( P("n")==0 ) nEntry = 10; |
| 1219 | } |
| 1220 | db_multi_exec( |
| 1221 |