Fossil

Check-in [6d9bba56]
Login

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

Overview
Comment:Add a "diff" hyperlink after each file in the "Show Files" view of the timeline.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 6d9bba56dcdcad806a2e8672fe3835d04fad76c2
User & Date: drh 2011-04-14 02:08:07.555
Context
2011-04-14
11:50
The --localauth option should look at the original IP address, not the abbreviated IP address. Ticket [b99a342a31039df19]. ... (check-in: e720f111 user: drh tags: trunk)
02:08
Add a "diff" hyperlink after each file in the "Show Files" view of the timeline. ... (check-in: 6d9bba56 user: drh tags: trunk)
01:20
Use the auto-shun setting, not auto-sync, to automatically transfer shuns. Ticket [dd5bb1fc73ec6ee8] ... (check-in: 602d5f9c user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/timeline.c.
342
343
344
345
346
347
348
349
350
351
352
353
354
355


356
357
358
359
360
361
362
363
364
365
366


367
368
369
370
371
372


373
374
375
376


377
378
379
380
381
382
383

    /* Generate extra hyperlinks at the end of the comment */
    if( xExtra ){
      xExtra(rid);
    }

    /* Generate the file-change list if requested */
    if( (tmFlags & TIMELINE_FCHANGES)!=0 && zType[0]=='c' ){
      int inUl = 0;
      if( !fchngQueryInit ){
        db_prepare(&fchngQuery, 
          "SELECT (pid==0) AS isnew,"
          "       (fid==0) AS isdel,"
          "       (SELECT name FROM filename WHERE fnid=mlink.fnid) AS name"


          "  FROM mlink"
          " WHERE mid=:mid AND pid!=fid"
          " ORDER BY 3"
        );
        fchngQueryInit = 1;
      }
      db_bind_int(&fchngQuery, ":mid", rid);
      while( db_step(&fchngQuery)==SQLITE_ROW ){
        const char *zFilename = db_column_text(&fchngQuery, 2);
        int isNew = db_column_int(&fchngQuery, 0);
        int isDel = db_column_int(&fchngQuery, 1);


        if( !inUl ){
          @ <ul class="filelist">
          inUl = 1;
        }
        if( isNew ){
          @ <li> %h(zFilename) (new file)</li>


        }else if( isDel ){
          @ <li> %h(zFilename) (deleted)</li>
        }else{
          @ <li> %h(zFilename) </li>


        }
      }
      db_reset(&fchngQuery);
      if( inUl ){
        @ </ul>
      }
    }







|





|
>
>











>
>





|
>
>



|
>
>







342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391

    /* Generate extra hyperlinks at the end of the comment */
    if( xExtra ){
      xExtra(rid);
    }

    /* Generate the file-change list if requested */
    if( (tmFlags & TIMELINE_FCHANGES)!=0 && zType[0]=='c' && g.okHistory ){
      int inUl = 0;
      if( !fchngQueryInit ){
        db_prepare(&fchngQuery, 
          "SELECT (pid==0) AS isnew,"
          "       (fid==0) AS isdel,"
          "       (SELECT name FROM filename WHERE fnid=mlink.fnid) AS name,"
          "       (SELECT uuid FROM blob WHERE rid=fid),"
          "       (SELECT uuid FROM blob WHERE rid=pid)"
          "  FROM mlink"
          " WHERE mid=:mid AND pid!=fid"
          " ORDER BY 3"
        );
        fchngQueryInit = 1;
      }
      db_bind_int(&fchngQuery, ":mid", rid);
      while( db_step(&fchngQuery)==SQLITE_ROW ){
        const char *zFilename = db_column_text(&fchngQuery, 2);
        int isNew = db_column_int(&fchngQuery, 0);
        int isDel = db_column_int(&fchngQuery, 1);
        const char *zOld = db_column_text(&fchngQuery, 4);
        const char *zNew = db_column_text(&fchngQuery, 3);
        if( !inUl ){
          @ <ul class="filelist">
          inUl = 1;
        }
        if( isNew ){
          @ <li> %h(zFilename) (new file) &nbsp;
          @ <a href="%s(g.zTop)/artifact/%S(zNew)" target="diffwindow">[view]
          @ </a></li>
        }else if( isDel ){
          @ <li> %h(zFilename) (deleted)</li>
        }else{
          @ <li> %h(zFilename) &nbsp;
          @ <a href="%s(g.zTop)/fdiff?v1=%S(zOld)&v2=%S(zNew)"
          @ target="diffwindow">[diff]</a></li>
        }
      }
      db_reset(&fchngQuery);
      if( inUl ){
        @ </ul>
      }
    }