Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Prevent duplicate entries on the file list of a timeline. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
22e0427b1048534ea56390a24e2a7d13 |
User & Date: | drh 2015-10-19 12:02:47 |
Context
2015-10-20
| ||
07:41 | Backout [9431fec1ea098feab24002d4c3bfa0132017ef39]: It causes too many files being displayed in various screens. Reported in fossil-dev and Tcl Core mailing list. ... (check-in: 5903a70b user: jan.nijtmans tags: pending-review) | |
2015-10-19
| ||
14:52 | On systems with case-insensitive filenames, allow "fossil rename OLD NEW" where OLD and NEW differ only in case. ... (check-in: fd2dbf43 user: drh tags: trunk) | |
12:02 | Prevent duplicate entries on the file list of a timeline. ... (check-in: 22e0427b user: drh tags: trunk) | |
2015-10-16
| ||
20:05 | Update the built-in SQLite to version 3.9.1. ... (check-in: 3cff1b8f user: drh tags: trunk) | |
Changes
Changes to src/timeline.c.
︙ | ︙ | |||
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 | } /* Generate the file-change list if requested */ if( (tmFlags & (TIMELINE_FCHANGES|TIMELINE_FRENAMES))!=0 && zType[0]=='c' && g.perm.Hyperlink ){ int inUl = 0; if( !fchngQueryInit ){ db_prepare(&fchngQuery, "SELECT pid," " fid," " (SELECT name FROM filename WHERE fnid=mlink.fnid) AS name," " (SELECT uuid FROM blob WHERE rid=fid)," " (SELECT uuid FROM blob WHERE rid=pid)," " (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm" " FROM mlink" " WHERE mid=:mid AND (pid!=fid OR pfnid>0)" " AND (fid>0 OR" " fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=:mid))" | > | > > | 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 | } /* Generate the file-change list if requested */ if( (tmFlags & (TIMELINE_FCHANGES|TIMELINE_FRENAMES))!=0 && zType[0]=='c' && g.perm.Hyperlink ){ int inUl = 0; int prevFid = -1; if( !fchngQueryInit ){ db_prepare(&fchngQuery, "SELECT pid," " fid," " (SELECT name FROM filename WHERE fnid=mlink.fnid) AS name," " (SELECT uuid FROM blob WHERE rid=fid)," " (SELECT uuid FROM blob WHERE rid=pid)," " (SELECT name FROM filename WHERE fnid=mlink.pfnid) AS oldnm" " FROM mlink" " WHERE mid=:mid AND (pid!=fid OR pfnid>0)" " AND (fid>0 OR" " fnid NOT IN (SELECT pfnid FROM mlink WHERE mid=:mid))" " ORDER BY 3, mlink.isaux /*sort*/" ); 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)<=0; int isMergeNew = db_column_int(&fchngQuery, 0)<0; int fid = db_column_int(&fchngQuery, 1); int isDel = fid==0; const char *zOldName = db_column_text(&fchngQuery, 5); const char *zOld = db_column_text(&fchngQuery, 4); const char *zNew = db_column_text(&fchngQuery, 3); const char *zUnpub = ""; char *zA; char zId[20]; if( prevFid==fid ) continue; prevFid = fid; if( !inUl ){ @ <ul class="filelist"> inUl = 1; } if( tmFlags & TIMELINE_SHOWRID ){ sqlite3_snprintf(sizeof(zId), zId, " (%d) ", fid); }else{ |
︙ | ︙ |