Fossil

Check-in [2fa4df1e47]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add timeline links on the leaves page. Also on the leaves page, do not show Merge labels on check-ins. The second part is the fix for ticket [d6bb26f436d8299f95d63f45fa51c92acdc91c5a].
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 2fa4df1e47f17f1c10a79d024a817f13a7d0bf6f
User & Date: drh 2009-01-21 18:59:11.000
References
2009-01-21
19:05 Fixed ticket [d6bb26f436]: Leaf menu in Nomenclaturebox is missing "Merged Leaf" description plus 2 other changes ... (artifact: 109627433a user: drh)
Context
2009-01-21
23:40
Track the origin of tags and display that origin in the tag and properities information field of the "vinfo" page. Must "fossil rebuild" after this change. ... (check-in: 08db9e11cb user: drh tags: trunk)
18:59
Add timeline links on the leaves page. Also on the leaves page, do not show Merge labels on check-ins. The second part is the fix for ticket [d6bb26f436d8299f95d63f45fa51c92acdc91c5a]. ... (check-in: 2fa4df1e47 user: drh tags: trunk)
18:42
Improvements to the timeline when displaying check-ins with a given tag. ... (check-in: e631d8af6d user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/branch.c.
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
    "   AND tagxref.tagid=tag.tagid"
    "   AND tagxref.tagtype>0"
    "   AND tag.tagname GLOB 'sym-*'",
    rid
  );
  while( db_step(&q)==SQLITE_ROW ){
    const char *zTagName = db_column_text(&q, 0);
    @ [<a href="%s(g.zBaseURL)/timeline?t=%T(zTagName)">%h(zTagName)</a>]
  }
  db_finalize(&q);
}

/*
** WEBPAGE: brlist
**







|







228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
    "   AND tagxref.tagid=tag.tagid"
    "   AND tagxref.tagtype>0"
    "   AND tag.tagname GLOB 'sym-*'",
    rid
  );
  while( db_step(&q)==SQLITE_ROW ){
    const char *zTagName = db_column_text(&q, 0);
    @ <a href="%s(g.zBaseURL)/timeline?t=%T(zTagName)">[timeline]</a>
  }
  db_finalize(&q);
}

/*
** WEBPAGE: brlist
**
Changes to src/descendants.c.
246
247
248
249
250
251
252









253
254
255
256
257
258
259
    "   AND blob.rid IN leaves"
    " ORDER BY event.mtime DESC",
    timeline_query_for_tty()
  );
  print_timeline(&q, 2000);
  db_finalize(&q);
}










/*
** WEBPAGE:  leaves
**
** Find leaves of all branches.
*/
void leaves_page(void){







>
>
>
>
>
>
>
>
>







246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
    "   AND blob.rid IN leaves"
    " ORDER BY event.mtime DESC",
    timeline_query_for_tty()
  );
  print_timeline(&q, 2000);
  db_finalize(&q);
}

/*
** This routine is called while for each check-in that is rendered by
** the "leaves" page.  Add some additional hyperlink to show the 
** ancestors of the leaf.
*/
static void leaves_extra(int rid){
  @ <a href="%s(g.zBaseURL)/timeline?p=%d(rid)">[timeline]</a>
}

/*
** WEBPAGE:  leaves
**
** Find leaves of all branches.
*/
void leaves_page(void){
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
  }
  db_prepare(&q,
    "%s"
    "   AND blob.rid IN leaves"
    " ORDER BY event.mtime DESC",
    timeline_query_for_www()
  );
  www_print_timeline(&q, 0, 0);
  db_finalize(&q);
  @ <br clear="both">
  @ <script>
  @ function xin(id){
  @ }
  @ function xout(id){
  @ }
  @ </script>
  style_footer();
}







|










305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
  }
  db_prepare(&q,
    "%s"
    "   AND blob.rid IN leaves"
    " ORDER BY event.mtime DESC",
    timeline_query_for_www()
  );
  www_print_timeline(&q, TIMELINE_LEAFONLY, leaves_extra);
  db_finalize(&q);
  @ <br clear="both">
  @ <script>
  @ function xin(id){
  @ }
  @ function xout(id){
  @ }
  @ </script>
  style_footer();
}
Changes to src/timeline.c.
96
97
98
99
100
101
102
103

104
105
106
107
108
109
110
  return nNonBranch;
}

/*
** Allowed flags for the tmFlags argument to www_print_timeline
*/
#if INTERFACE
#define TIMELINE_ARTID  0x0001   /* Show artifact IDs on non-check-in lines */

#endif

/*
** Output a timeline in the web format given a query.  The query
** should return these columns:
**
**    0.  rid







|
>







96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
  return nNonBranch;
}

/*
** Allowed flags for the tmFlags argument to www_print_timeline
*/
#if INTERFACE
#define TIMELINE_ARTID    0x0001  /* Show artifact IDs on non-check-in lines */
#define TIMELINE_LEAFONLY 0x0002  /* Show "Leaf", but not "Merge", "Fork" etc */
#endif

/*
** Output a timeline in the web format given a query.  The query
** should return these columns:
**
**    0.  rid
168
169
170
171
172
173
174

175
176
177
178
179
180
181
182

183
184
185
186
187
188
189
    if( zBgClr && zBgClr[0] ){
      @ <td valign="top" align="left" bgcolor="%h(zBgClr)">
    }else{
      @ <td valign="top" align="left">
    }
    if( zType[0]=='c' ){
      hyperlink_to_uuid_with_mouseover(zUuid, "xin", "xout", rid);

      if( nParent>1 ){
        @ <b>Merge</b> 
      }
      if( nPChild>1 ){
        if( count_nonbranch_children(rid)>1 ){
          @ <b>Fork</b>
        }else{
          @ <b>Branch</b>

        }
      }
      if( isLeaf ){
        @ <b>Leaf</b>
      }
    }else if( (tmFlags & TIMELINE_ARTID)!=0 ){
      hyperlink_to_uuid(zUuid);







>
|
|
|
|
|
|
|
|
>







169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
    if( zBgClr && zBgClr[0] ){
      @ <td valign="top" align="left" bgcolor="%h(zBgClr)">
    }else{
      @ <td valign="top" align="left">
    }
    if( zType[0]=='c' ){
      hyperlink_to_uuid_with_mouseover(zUuid, "xin", "xout", rid);
      if( (tmFlags & TIMELINE_LEAFONLY)==0 ){
        if( nParent>1 ){
          @ <b>Merge</b> 
        }
        if( nPChild>1 ){
          if( count_nonbranch_children(rid)>1 ){
            @ <b>Fork</b>
          }else{
            @ <b>Branch</b>
          }
        }
      }
      if( isLeaf ){
        @ <b>Leaf</b>
      }
    }else if( (tmFlags & TIMELINE_ARTID)!=0 ){
      hyperlink_to_uuid(zUuid);