Fossil SCM

Add the debug= query parameter to the finfo file timeline page. Setting the 1 bit on debug causes the fid, pid, and mid of each file change to be displayed in the timeline.

drh 2012-11-15 12:38 trunk
Commit badd78e167add873b03907cef2100eb059364b10
1 file changed +13
+13
--- src/finfo.c
+++ src/finfo.c
@@ -204,10 +204,12 @@
204204
db_finalize(&q);
205205
blob_reset(&fname);
206206
}
207207
}
208208
209
+/* Values for the debug= query parameter to finfo */
210
+#define FINFO_DEBUG_MLINK 0x01
209211
210212
/*
211213
** WEBPAGE: finfo
212214
** URL: /finfo?name=FILENAME
213215
**
@@ -234,10 +236,11 @@
234236
HQuery url;
235237
GraphContext *pGraph;
236238
int brBg = P("brbg")!=0;
237239
int uBg = P("ubg")!=0;
238240
int firstChngOnly = atoi(PD("fco","1"))!=0;
241
+ int fDebug = atoi(PD("debug","0"));
239242
240243
login_check_credentials();
241244
if( !g.perm.Read ){ login_needed(); return; }
242245
style_header("File History");
243246
login_anonymous_available();
@@ -263,10 +266,13 @@
263266
" event.bgcolor," /* Background color */
264267
" (SELECT value FROM tagxref WHERE tagid=%d AND tagtype>0"
265268
" AND tagxref.rid=mlink.mid)", /* Tags */
266269
TAG_BRANCH
267270
);
271
+ if( fDebug & FINFO_DEBUG_MLINK ){
272
+ blob_appendf(&sql, ", mlink.mid");
273
+ }
268274
if( firstChngOnly ){
269275
blob_appendf(&sql, ", min(event.mtime)");
270276
}
271277
blob_appendf(&sql,
272278
" FROM mlink, event"
@@ -316,14 +322,18 @@
316322
const char *zPUuid = db_column_text(&q, 5);
317323
const char *zUuid = db_column_text(&q, 6);
318324
const char *zCkin = db_column_text(&q,7);
319325
const char *zBgClr = db_column_text(&q, 8);
320326
const char *zBr = db_column_text(&q, 9);
327
+ int fmid = 0;
321328
int gidx;
322329
char zTime[10];
323330
char zShort[20];
324331
char zShortCkin[20];
332
+ if( fDebug & FINFO_DEBUG_MLINK ){
333
+ fmid = db_column_int(&q,10);
334
+ }
325335
if( zBr==0 ) zBr = "trunk";
326336
if( uBg ){
327337
zBgClr = hash_color(zUser);
328338
}else if( brBg || zBgClr==0 || zBgClr[0]==0 ){
329339
zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBr);
@@ -362,10 +372,13 @@
362372
@ %z(href("%R/fdiff?v1=%S&v2=%S",zPUuid,zUuid))[diff]</a>
363373
}
364374
@ %z(href("%R/annotate?checkin=%S&filename=%h",zCkin,z))
365375
@ [annotate]</a>
366376
}
377
+ if( fDebug & FINFO_DEBUG_MLINK ){
378
+ @ fid=%d(frid), pid=%d(fpid), mid=%d(fmid)
379
+ }
367380
@ </td></tr>
368381
}
369382
db_finalize(&q);
370383
if( pGraph ){
371384
graph_finish(pGraph, 0);
372385
--- src/finfo.c
+++ src/finfo.c
@@ -204,10 +204,12 @@
204 db_finalize(&q);
205 blob_reset(&fname);
206 }
207 }
208
 
 
209
210 /*
211 ** WEBPAGE: finfo
212 ** URL: /finfo?name=FILENAME
213 **
@@ -234,10 +236,11 @@
234 HQuery url;
235 GraphContext *pGraph;
236 int brBg = P("brbg")!=0;
237 int uBg = P("ubg")!=0;
238 int firstChngOnly = atoi(PD("fco","1"))!=0;
 
239
240 login_check_credentials();
241 if( !g.perm.Read ){ login_needed(); return; }
242 style_header("File History");
243 login_anonymous_available();
@@ -263,10 +266,13 @@
263 " event.bgcolor," /* Background color */
264 " (SELECT value FROM tagxref WHERE tagid=%d AND tagtype>0"
265 " AND tagxref.rid=mlink.mid)", /* Tags */
266 TAG_BRANCH
267 );
 
 
 
268 if( firstChngOnly ){
269 blob_appendf(&sql, ", min(event.mtime)");
270 }
271 blob_appendf(&sql,
272 " FROM mlink, event"
@@ -316,14 +322,18 @@
316 const char *zPUuid = db_column_text(&q, 5);
317 const char *zUuid = db_column_text(&q, 6);
318 const char *zCkin = db_column_text(&q,7);
319 const char *zBgClr = db_column_text(&q, 8);
320 const char *zBr = db_column_text(&q, 9);
 
321 int gidx;
322 char zTime[10];
323 char zShort[20];
324 char zShortCkin[20];
 
 
 
325 if( zBr==0 ) zBr = "trunk";
326 if( uBg ){
327 zBgClr = hash_color(zUser);
328 }else if( brBg || zBgClr==0 || zBgClr[0]==0 ){
329 zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBr);
@@ -362,10 +372,13 @@
362 @ %z(href("%R/fdiff?v1=%S&v2=%S",zPUuid,zUuid))[diff]</a>
363 }
364 @ %z(href("%R/annotate?checkin=%S&filename=%h",zCkin,z))
365 @ [annotate]</a>
366 }
 
 
 
367 @ </td></tr>
368 }
369 db_finalize(&q);
370 if( pGraph ){
371 graph_finish(pGraph, 0);
372
--- src/finfo.c
+++ src/finfo.c
@@ -204,10 +204,12 @@
204 db_finalize(&q);
205 blob_reset(&fname);
206 }
207 }
208
209 /* Values for the debug= query parameter to finfo */
210 #define FINFO_DEBUG_MLINK 0x01
211
212 /*
213 ** WEBPAGE: finfo
214 ** URL: /finfo?name=FILENAME
215 **
@@ -234,10 +236,11 @@
236 HQuery url;
237 GraphContext *pGraph;
238 int brBg = P("brbg")!=0;
239 int uBg = P("ubg")!=0;
240 int firstChngOnly = atoi(PD("fco","1"))!=0;
241 int fDebug = atoi(PD("debug","0"));
242
243 login_check_credentials();
244 if( !g.perm.Read ){ login_needed(); return; }
245 style_header("File History");
246 login_anonymous_available();
@@ -263,10 +266,13 @@
266 " event.bgcolor," /* Background color */
267 " (SELECT value FROM tagxref WHERE tagid=%d AND tagtype>0"
268 " AND tagxref.rid=mlink.mid)", /* Tags */
269 TAG_BRANCH
270 );
271 if( fDebug & FINFO_DEBUG_MLINK ){
272 blob_appendf(&sql, ", mlink.mid");
273 }
274 if( firstChngOnly ){
275 blob_appendf(&sql, ", min(event.mtime)");
276 }
277 blob_appendf(&sql,
278 " FROM mlink, event"
@@ -316,14 +322,18 @@
322 const char *zPUuid = db_column_text(&q, 5);
323 const char *zUuid = db_column_text(&q, 6);
324 const char *zCkin = db_column_text(&q,7);
325 const char *zBgClr = db_column_text(&q, 8);
326 const char *zBr = db_column_text(&q, 9);
327 int fmid = 0;
328 int gidx;
329 char zTime[10];
330 char zShort[20];
331 char zShortCkin[20];
332 if( fDebug & FINFO_DEBUG_MLINK ){
333 fmid = db_column_int(&q,10);
334 }
335 if( zBr==0 ) zBr = "trunk";
336 if( uBg ){
337 zBgClr = hash_color(zUser);
338 }else if( brBg || zBgClr==0 || zBgClr[0]==0 ){
339 zBgClr = strcmp(zBr,"trunk")==0 ? "" : hash_color(zBr);
@@ -362,10 +372,13 @@
372 @ %z(href("%R/fdiff?v1=%S&v2=%S",zPUuid,zUuid))[diff]</a>
373 }
374 @ %z(href("%R/annotate?checkin=%S&filename=%h",zCkin,z))
375 @ [annotate]</a>
376 }
377 if( fDebug & FINFO_DEBUG_MLINK ){
378 @ fid=%d(frid), pid=%d(fpid), mid=%d(fmid)
379 }
380 @ </td></tr>
381 }
382 db_finalize(&q);
383 if( pGraph ){
384 graph_finish(pGraph, 0);
385

Keyboard Shortcuts

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