Fossil SCM

Use "%S" format in stead of "%.10s" in more places, where UUID's are referenced.

jan.nijtmans 2014-07-17 07:04 trunk
Commit 275457adf0461e6a5e593217e45c2b2199f0595d
+8 -8
--- src/attach.c
+++ src/attach.c
@@ -29,11 +29,11 @@
2929
**
3030
** List attachments.
3131
** Either one of tkt= or page= are supplied or neither. If neither
3232
** are given, all attachments are listed. If one is given, only
3333
** attachments for the designated ticket or wiki page are shown.
34
-** TICKETUUID must be complete
34
+** TICKETUUID must be complete
3535
*/
3636
void attachlist_page(void){
3737
const char *zPage = P("page");
3838
const char *zTkt = P("tkt");
3939
Blob sql;
@@ -53,11 +53,11 @@
5353
if( g.perm.RdWiki==0 ) login_needed();
5454
style_header("Attachments To %h", zPage);
5555
blob_appendf(&sql, " WHERE target=%Q", zPage);
5656
}else if( zTkt ){
5757
if( g.perm.RdTkt==0 ) login_needed();
58
- style_header("Attachments To Ticket %.10s", zTkt);
58
+ style_header("Attachments To Ticket %S", zTkt);
5959
blob_appendf(&sql, " WHERE target GLOB '%q*'", zTkt);
6060
}else{
6161
if( g.perm.RdTkt==0 && g.perm.RdWiki==0 ) login_needed();
6262
style_header("All Attachments");
6363
}
@@ -75,11 +75,11 @@
7575
int attachid = db_column_int(&q, 7);
7676
const char *zDispUser = zUser && zUser[0] ? zUser : "anonymous";
7777
int i;
7878
char *zUrlTail;
7979
for(i=0; zFilename[i]; i++){
80
- if( zFilename[i]=='/' && zFilename[i+1]!=0 ){
80
+ if( zFilename[i]=='/' && zFilename[i+1]!=0 ){
8181
zFilename = &zFilename[i+1];
8282
i = -1;
8383
}
8484
}
8585
if( strlen(zTarget)==UUID_SIZE && validate16(zTarget,UUID_SIZE) ){
@@ -253,11 +253,11 @@
253253
zTargetType = mprintf("Wiki Page <a href=\"%s/wiki?name=%h\">%h</a>",
254254
g.zTop, zPage, zPage);
255255
}else{
256256
if( g.perm.ApndTkt==0 || g.perm.Attach==0 ) login_needed();
257257
if( !db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'", zTkt) ){
258
- zTkt = db_text(0, "SELECT substr(tagname,5) FROM tag"
258
+ zTkt = db_text(0, "SELECT substr(tagname,5) FROM tag"
259259
" WHERE tagname GLOB 'tkt-%q*'", zTkt);
260260
if( zTkt==0 ) fossil_redirect_home();
261261
}
262262
zTarget = zTkt;
263263
zTargetType = mprintf("Ticket <a href=\"%s/tktview/%s\">%S</a>",
@@ -445,11 +445,11 @@
445445
@ <p>Confirm you want to delete the attachment shown below.
446446
@ <input type="submit" name="confirm" value="Confirm">
447447
@ </form>
448448
}
449449
450
- isModerator = g.perm.Admin ||
450
+ isModerator = g.perm.Admin ||
451451
(zTktUuid && g.perm.ModTkt) ||
452452
(zWikiName && g.perm.ModWiki);
453453
if( isModerator && (zModAction = P("modaction"))!=0 ){
454454
if( strcmp(zModAction,"delete")==0 ){
455455
moderation_disapprove(rid);
@@ -500,11 +500,11 @@
500500
if( g.perm.Setup ){
501501
@ <tr><th>MIME-Type:</th><td>%h(zMime)</td></tr>
502502
}
503503
@ <tr><th valign="top">Description:</th><td valign="top">%h(zDesc)</td></tr>
504504
@ </table>
505
-
505
+
506506
if( isModerator && modPending ){
507507
@ <div class="section">Moderation</div>
508508
@ <blockquote>
509509
form_begin(0, "%R/ainfo/%s", zUuid);
510510
@ <label><input type="radio" name="modaction" value="delete">
@@ -557,11 +557,11 @@
557557
db_prepare(&q,
558558
"SELECT datetime(mtime%s), filename, user,"
559559
" (SELECT uuid FROM blob WHERE rid=attachid), src"
560560
" FROM attachment"
561561
" WHERE isLatest AND src!='' AND target=%Q"
562
- " ORDER BY mtime DESC",
562
+ " ORDER BY mtime DESC",
563563
timeline_utc(), zTarget
564564
);
565565
while( db_step(&q)==SQLITE_ROW ){
566566
const char *zDate = db_column_text(&q, 0);
567567
const char *zFile = db_column_text(&q, 1);
@@ -582,7 +582,7 @@
582582
}
583583
if( cnt ){
584584
@ </ul>
585585
}
586586
db_finalize(&q);
587
-
587
+
588588
}
589589
--- src/attach.c
+++ src/attach.c
@@ -29,11 +29,11 @@
29 **
30 ** List attachments.
31 ** Either one of tkt= or page= are supplied or neither. If neither
32 ** are given, all attachments are listed. If one is given, only
33 ** attachments for the designated ticket or wiki page are shown.
34 ** TICKETUUID must be complete
35 */
36 void attachlist_page(void){
37 const char *zPage = P("page");
38 const char *zTkt = P("tkt");
39 Blob sql;
@@ -53,11 +53,11 @@
53 if( g.perm.RdWiki==0 ) login_needed();
54 style_header("Attachments To %h", zPage);
55 blob_appendf(&sql, " WHERE target=%Q", zPage);
56 }else if( zTkt ){
57 if( g.perm.RdTkt==0 ) login_needed();
58 style_header("Attachments To Ticket %.10s", zTkt);
59 blob_appendf(&sql, " WHERE target GLOB '%q*'", zTkt);
60 }else{
61 if( g.perm.RdTkt==0 && g.perm.RdWiki==0 ) login_needed();
62 style_header("All Attachments");
63 }
@@ -75,11 +75,11 @@
75 int attachid = db_column_int(&q, 7);
76 const char *zDispUser = zUser && zUser[0] ? zUser : "anonymous";
77 int i;
78 char *zUrlTail;
79 for(i=0; zFilename[i]; i++){
80 if( zFilename[i]=='/' && zFilename[i+1]!=0 ){
81 zFilename = &zFilename[i+1];
82 i = -1;
83 }
84 }
85 if( strlen(zTarget)==UUID_SIZE && validate16(zTarget,UUID_SIZE) ){
@@ -253,11 +253,11 @@
253 zTargetType = mprintf("Wiki Page <a href=\"%s/wiki?name=%h\">%h</a>",
254 g.zTop, zPage, zPage);
255 }else{
256 if( g.perm.ApndTkt==0 || g.perm.Attach==0 ) login_needed();
257 if( !db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'", zTkt) ){
258 zTkt = db_text(0, "SELECT substr(tagname,5) FROM tag"
259 " WHERE tagname GLOB 'tkt-%q*'", zTkt);
260 if( zTkt==0 ) fossil_redirect_home();
261 }
262 zTarget = zTkt;
263 zTargetType = mprintf("Ticket <a href=\"%s/tktview/%s\">%S</a>",
@@ -445,11 +445,11 @@
445 @ <p>Confirm you want to delete the attachment shown below.
446 @ <input type="submit" name="confirm" value="Confirm">
447 @ </form>
448 }
449
450 isModerator = g.perm.Admin ||
451 (zTktUuid && g.perm.ModTkt) ||
452 (zWikiName && g.perm.ModWiki);
453 if( isModerator && (zModAction = P("modaction"))!=0 ){
454 if( strcmp(zModAction,"delete")==0 ){
455 moderation_disapprove(rid);
@@ -500,11 +500,11 @@
500 if( g.perm.Setup ){
501 @ <tr><th>MIME-Type:</th><td>%h(zMime)</td></tr>
502 }
503 @ <tr><th valign="top">Description:</th><td valign="top">%h(zDesc)</td></tr>
504 @ </table>
505
506 if( isModerator && modPending ){
507 @ <div class="section">Moderation</div>
508 @ <blockquote>
509 form_begin(0, "%R/ainfo/%s", zUuid);
510 @ <label><input type="radio" name="modaction" value="delete">
@@ -557,11 +557,11 @@
557 db_prepare(&q,
558 "SELECT datetime(mtime%s), filename, user,"
559 " (SELECT uuid FROM blob WHERE rid=attachid), src"
560 " FROM attachment"
561 " WHERE isLatest AND src!='' AND target=%Q"
562 " ORDER BY mtime DESC",
563 timeline_utc(), zTarget
564 );
565 while( db_step(&q)==SQLITE_ROW ){
566 const char *zDate = db_column_text(&q, 0);
567 const char *zFile = db_column_text(&q, 1);
@@ -582,7 +582,7 @@
582 }
583 if( cnt ){
584 @ </ul>
585 }
586 db_finalize(&q);
587
588 }
589
--- src/attach.c
+++ src/attach.c
@@ -29,11 +29,11 @@
29 **
30 ** List attachments.
31 ** Either one of tkt= or page= are supplied or neither. If neither
32 ** are given, all attachments are listed. If one is given, only
33 ** attachments for the designated ticket or wiki page are shown.
34 ** TICKETUUID must be complete
35 */
36 void attachlist_page(void){
37 const char *zPage = P("page");
38 const char *zTkt = P("tkt");
39 Blob sql;
@@ -53,11 +53,11 @@
53 if( g.perm.RdWiki==0 ) login_needed();
54 style_header("Attachments To %h", zPage);
55 blob_appendf(&sql, " WHERE target=%Q", zPage);
56 }else if( zTkt ){
57 if( g.perm.RdTkt==0 ) login_needed();
58 style_header("Attachments To Ticket %S", zTkt);
59 blob_appendf(&sql, " WHERE target GLOB '%q*'", zTkt);
60 }else{
61 if( g.perm.RdTkt==0 && g.perm.RdWiki==0 ) login_needed();
62 style_header("All Attachments");
63 }
@@ -75,11 +75,11 @@
75 int attachid = db_column_int(&q, 7);
76 const char *zDispUser = zUser && zUser[0] ? zUser : "anonymous";
77 int i;
78 char *zUrlTail;
79 for(i=0; zFilename[i]; i++){
80 if( zFilename[i]=='/' && zFilename[i+1]!=0 ){
81 zFilename = &zFilename[i+1];
82 i = -1;
83 }
84 }
85 if( strlen(zTarget)==UUID_SIZE && validate16(zTarget,UUID_SIZE) ){
@@ -253,11 +253,11 @@
253 zTargetType = mprintf("Wiki Page <a href=\"%s/wiki?name=%h\">%h</a>",
254 g.zTop, zPage, zPage);
255 }else{
256 if( g.perm.ApndTkt==0 || g.perm.Attach==0 ) login_needed();
257 if( !db_exists("SELECT 1 FROM tag WHERE tagname='tkt-%q'", zTkt) ){
258 zTkt = db_text(0, "SELECT substr(tagname,5) FROM tag"
259 " WHERE tagname GLOB 'tkt-%q*'", zTkt);
260 if( zTkt==0 ) fossil_redirect_home();
261 }
262 zTarget = zTkt;
263 zTargetType = mprintf("Ticket <a href=\"%s/tktview/%s\">%S</a>",
@@ -445,11 +445,11 @@
445 @ <p>Confirm you want to delete the attachment shown below.
446 @ <input type="submit" name="confirm" value="Confirm">
447 @ </form>
448 }
449
450 isModerator = g.perm.Admin ||
451 (zTktUuid && g.perm.ModTkt) ||
452 (zWikiName && g.perm.ModWiki);
453 if( isModerator && (zModAction = P("modaction"))!=0 ){
454 if( strcmp(zModAction,"delete")==0 ){
455 moderation_disapprove(rid);
@@ -500,11 +500,11 @@
500 if( g.perm.Setup ){
501 @ <tr><th>MIME-Type:</th><td>%h(zMime)</td></tr>
502 }
503 @ <tr><th valign="top">Description:</th><td valign="top">%h(zDesc)</td></tr>
504 @ </table>
505
506 if( isModerator && modPending ){
507 @ <div class="section">Moderation</div>
508 @ <blockquote>
509 form_begin(0, "%R/ainfo/%s", zUuid);
510 @ <label><input type="radio" name="modaction" value="delete">
@@ -557,11 +557,11 @@
557 db_prepare(&q,
558 "SELECT datetime(mtime%s), filename, user,"
559 " (SELECT uuid FROM blob WHERE rid=attachid), src"
560 " FROM attachment"
561 " WHERE isLatest AND src!='' AND target=%Q"
562 " ORDER BY mtime DESC",
563 timeline_utc(), zTarget
564 );
565 while( db_step(&q)==SQLITE_ROW ){
566 const char *zDate = db_column_text(&q, 0);
567 const char *zFile = db_column_text(&q, 1);
@@ -582,7 +582,7 @@
582 }
583 if( cnt ){
584 @ </ul>
585 }
586 db_finalize(&q);
587
588 }
589
+5 -5
--- src/diff.c
+++ src/diff.c
@@ -2312,12 +2312,12 @@
23122312
char *zLink = href("%R/finfo?name=%t&ci=%s",zFilename,zCI);
23132313
@ <h2>Ancestors of %z(zLink)%h(zFilename)</a> analyzed:</h2>
23142314
@ <ol>
23152315
for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
23162316
@ <li><span style='background-color:%s(p->zBgColor);'>%s(p->zDate)
2317
- @ check-in %z(href("%R/info/%s",p->zMUuid))%.10s(p->zMUuid)</a>
2318
- @ artifact %z(href("%R/artifact/%s",p->zFUuid))%.10s(p->zFUuid)</a>
2317
+ @ check-in %z(href("%R/info/%s",p->zMUuid))%S(p->zMUuid)</a>
2318
+ @ artifact %z(href("%R/artifact/%s",p->zFUuid))%S(p->zFUuid)</a>
23192319
@ </span>
23202320
#if 0
23212321
if( i>0 ){
23222322
char *zLink = xhref("target='infowindow'",
23232323
"%R/fdiff?v1=%S&v2=%S&sbs=1",
@@ -2465,11 +2465,11 @@
24652465
annFlags |= (ANN_FILE_ANCEST|DIFF_STRIP_EOLCR);
24662466
annotate_file(&ann, fnid, mid, iLimit, annFlags);
24672467
if( showLog ){
24682468
struct AnnVers *p;
24692469
for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
2470
- fossil_print("version %3d: %s %.10s file %.10s\n",
2470
+ fossil_print("version %3d: %s %S file %S\n",
24712471
i+1, p->zDate, p->zMUuid, p->zFUuid);
24722472
}
24732473
fossil_print("---------------------------------------------------\n");
24742474
}
24752475
for(i=0; i<ann.nOrig; i++){
@@ -2479,21 +2479,21 @@
24792479
struct AnnVers *p;
24802480
if( iLimit>ann.nVers && iVers<0 ) iVers = ann.nVers-1;
24812481
p = ann.aVers + iVers;
24822482
if( bBlame ){
24832483
if( iVers>=0 ){
2484
- fossil_print("%.10s %s %13.13s: %.*s\n",
2484
+ fossil_print("%S %s %13.13s: %.*s\n",
24852485
fileVers ? p->zFUuid : p->zMUuid, p->zDate, p->zUser, n, z);
24862486
}else{
24872487
fossil_print("%35s %.*s\n", "", n, z);
24882488
}
24892489
}else{
24902490
if( iVers>=0 ){
2491
- fossil_print("%.10s %s %5d: %.*s\n",
2491
+ fossil_print("%S %s %5d: %.*s\n",
24922492
fileVers ? p->zFUuid : p->zMUuid, p->zDate, i+1, n, z);
24932493
}else{
24942494
fossil_print("%21s %5d: %.*s\n",
24952495
"", i+1, n, z);
24962496
}
24972497
}
24982498
}
24992499
}
25002500
--- src/diff.c
+++ src/diff.c
@@ -2312,12 +2312,12 @@
2312 char *zLink = href("%R/finfo?name=%t&ci=%s",zFilename,zCI);
2313 @ <h2>Ancestors of %z(zLink)%h(zFilename)</a> analyzed:</h2>
2314 @ <ol>
2315 for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
2316 @ <li><span style='background-color:%s(p->zBgColor);'>%s(p->zDate)
2317 @ check-in %z(href("%R/info/%s",p->zMUuid))%.10s(p->zMUuid)</a>
2318 @ artifact %z(href("%R/artifact/%s",p->zFUuid))%.10s(p->zFUuid)</a>
2319 @ </span>
2320 #if 0
2321 if( i>0 ){
2322 char *zLink = xhref("target='infowindow'",
2323 "%R/fdiff?v1=%S&v2=%S&sbs=1",
@@ -2465,11 +2465,11 @@
2465 annFlags |= (ANN_FILE_ANCEST|DIFF_STRIP_EOLCR);
2466 annotate_file(&ann, fnid, mid, iLimit, annFlags);
2467 if( showLog ){
2468 struct AnnVers *p;
2469 for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
2470 fossil_print("version %3d: %s %.10s file %.10s\n",
2471 i+1, p->zDate, p->zMUuid, p->zFUuid);
2472 }
2473 fossil_print("---------------------------------------------------\n");
2474 }
2475 for(i=0; i<ann.nOrig; i++){
@@ -2479,21 +2479,21 @@
2479 struct AnnVers *p;
2480 if( iLimit>ann.nVers && iVers<0 ) iVers = ann.nVers-1;
2481 p = ann.aVers + iVers;
2482 if( bBlame ){
2483 if( iVers>=0 ){
2484 fossil_print("%.10s %s %13.13s: %.*s\n",
2485 fileVers ? p->zFUuid : p->zMUuid, p->zDate, p->zUser, n, z);
2486 }else{
2487 fossil_print("%35s %.*s\n", "", n, z);
2488 }
2489 }else{
2490 if( iVers>=0 ){
2491 fossil_print("%.10s %s %5d: %.*s\n",
2492 fileVers ? p->zFUuid : p->zMUuid, p->zDate, i+1, n, z);
2493 }else{
2494 fossil_print("%21s %5d: %.*s\n",
2495 "", i+1, n, z);
2496 }
2497 }
2498 }
2499 }
2500
--- src/diff.c
+++ src/diff.c
@@ -2312,12 +2312,12 @@
2312 char *zLink = href("%R/finfo?name=%t&ci=%s",zFilename,zCI);
2313 @ <h2>Ancestors of %z(zLink)%h(zFilename)</a> analyzed:</h2>
2314 @ <ol>
2315 for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
2316 @ <li><span style='background-color:%s(p->zBgColor);'>%s(p->zDate)
2317 @ check-in %z(href("%R/info/%s",p->zMUuid))%S(p->zMUuid)</a>
2318 @ artifact %z(href("%R/artifact/%s",p->zFUuid))%S(p->zFUuid)</a>
2319 @ </span>
2320 #if 0
2321 if( i>0 ){
2322 char *zLink = xhref("target='infowindow'",
2323 "%R/fdiff?v1=%S&v2=%S&sbs=1",
@@ -2465,11 +2465,11 @@
2465 annFlags |= (ANN_FILE_ANCEST|DIFF_STRIP_EOLCR);
2466 annotate_file(&ann, fnid, mid, iLimit, annFlags);
2467 if( showLog ){
2468 struct AnnVers *p;
2469 for(p=ann.aVers, i=0; i<ann.nVers; i++, p++){
2470 fossil_print("version %3d: %s %S file %S\n",
2471 i+1, p->zDate, p->zMUuid, p->zFUuid);
2472 }
2473 fossil_print("---------------------------------------------------\n");
2474 }
2475 for(i=0; i<ann.nOrig; i++){
@@ -2479,21 +2479,21 @@
2479 struct AnnVers *p;
2480 if( iLimit>ann.nVers && iVers<0 ) iVers = ann.nVers-1;
2481 p = ann.aVers + iVers;
2482 if( bBlame ){
2483 if( iVers>=0 ){
2484 fossil_print("%S %s %13.13s: %.*s\n",
2485 fileVers ? p->zFUuid : p->zMUuid, p->zDate, p->zUser, n, z);
2486 }else{
2487 fossil_print("%35s %.*s\n", "", n, z);
2488 }
2489 }else{
2490 if( iVers>=0 ){
2491 fossil_print("%S %s %5d: %.*s\n",
2492 fileVers ? p->zFUuid : p->zMUuid, p->zDate, i+1, n, z);
2493 }else{
2494 fossil_print("%21s %5d: %.*s\n",
2495 "", i+1, n, z);
2496 }
2497 }
2498 }
2499 }
2500
+8 -8
--- src/manifest.c
+++ src/manifest.c
@@ -1599,40 +1599,40 @@
15991599
if( fossil_strcmp(pManifest->aField[i].zName, zStatusColumn)==0 ){
16001600
zNewStatus = pManifest->aField[i].zValue;
16011601
}
16021602
}
16031603
if( zNewStatus ){
1604
- blob_appendf(&comment, "%h ticket [%s|%.10s]: <i>%h</i>",
1604
+ blob_appendf(&comment, "%h ticket [%s|%S]: <i>%h</i>",
16051605
zNewStatus, pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle
16061606
);
16071607
if( pManifest->nField>1 ){
16081608
blob_appendf(&comment, " plus %d other change%s",
16091609
pManifest->nField-1, pManifest->nField==2 ? "" : "s");
16101610
}
1611
- blob_appendf(&brief, "%h ticket [%s|%.10s].",
1611
+ blob_appendf(&brief, "%h ticket [%s|%S].",
16121612
zNewStatus, pManifest->zTicketUuid, pManifest->zTicketUuid);
16131613
}else{
16141614
zNewStatus = db_text("unknown",
16151615
"SELECT %s FROM ticket WHERE tkt_uuid='%s'",
16161616
zStatusColumn, pManifest->zTicketUuid
16171617
);
1618
- blob_appendf(&comment, "Ticket [%s|%.10s] <i>%h</i> status still %h with "
1618
+ blob_appendf(&comment, "Ticket [%s|%S] <i>%h</i> status still %h with "
16191619
"%d other change%s",
16201620
pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle, zNewStatus,
16211621
pManifest->nField, pManifest->nField==1 ? "" : "s"
16221622
);
16231623
fossil_free(zNewStatus);
1624
- blob_appendf(&brief, "Ticket [%s|%.10s]: %d change%s",
1624
+ blob_appendf(&brief, "Ticket [%s|%S]: %d change%s",
16251625
pManifest->zTicketUuid, pManifest->zTicketUuid, pManifest->nField,
16261626
pManifest->nField==1 ? "" : "s"
16271627
);
16281628
}
16291629
}else{
1630
- blob_appendf(&comment, "New ticket [%s|%.10s] <i>%h</i>.",
1630
+ blob_appendf(&comment, "New ticket [%s|%S] <i>%h</i>.",
16311631
pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle
16321632
);
1633
- blob_appendf(&brief, "New ticket [%s|%.10s].", pManifest->zTicketUuid,
1633
+ blob_appendf(&brief, "New ticket [%s|%S].", pManifest->zTicketUuid,
16341634
pManifest->zTicketUuid);
16351635
}
16361636
fossil_free(zTitle);
16371637
db_multi_exec(
16381638
"REPLACE INTO event(type,tagid,mtime,objid,user,comment,brief)"
@@ -1951,14 +1951,14 @@
19511951
p->zAttachName, p->zAttachTarget);
19521952
}
19531953
}else{
19541954
if( isAdd ){
19551955
zComment = mprintf(
1956
- "Add attachment [/artifact/%s|%h] to ticket [%s|%.10s]",
1956
+ "Add attachment [/artifact/%s|%h] to ticket [%s|%S]",
19571957
p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
19581958
}else{
1959
- zComment = mprintf("Delete attachment \"%h\" from ticket [%s|%.10s]",
1959
+ zComment = mprintf("Delete attachment \"%h\" from ticket [%s|%S]",
19601960
p->zAttachName, p->zAttachTarget, p->zAttachTarget);
19611961
}
19621962
}
19631963
db_multi_exec(
19641964
"REPLACE INTO event(type,mtime,objid,user,comment)"
19651965
--- src/manifest.c
+++ src/manifest.c
@@ -1599,40 +1599,40 @@
1599 if( fossil_strcmp(pManifest->aField[i].zName, zStatusColumn)==0 ){
1600 zNewStatus = pManifest->aField[i].zValue;
1601 }
1602 }
1603 if( zNewStatus ){
1604 blob_appendf(&comment, "%h ticket [%s|%.10s]: <i>%h</i>",
1605 zNewStatus, pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle
1606 );
1607 if( pManifest->nField>1 ){
1608 blob_appendf(&comment, " plus %d other change%s",
1609 pManifest->nField-1, pManifest->nField==2 ? "" : "s");
1610 }
1611 blob_appendf(&brief, "%h ticket [%s|%.10s].",
1612 zNewStatus, pManifest->zTicketUuid, pManifest->zTicketUuid);
1613 }else{
1614 zNewStatus = db_text("unknown",
1615 "SELECT %s FROM ticket WHERE tkt_uuid='%s'",
1616 zStatusColumn, pManifest->zTicketUuid
1617 );
1618 blob_appendf(&comment, "Ticket [%s|%.10s] <i>%h</i> status still %h with "
1619 "%d other change%s",
1620 pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle, zNewStatus,
1621 pManifest->nField, pManifest->nField==1 ? "" : "s"
1622 );
1623 fossil_free(zNewStatus);
1624 blob_appendf(&brief, "Ticket [%s|%.10s]: %d change%s",
1625 pManifest->zTicketUuid, pManifest->zTicketUuid, pManifest->nField,
1626 pManifest->nField==1 ? "" : "s"
1627 );
1628 }
1629 }else{
1630 blob_appendf(&comment, "New ticket [%s|%.10s] <i>%h</i>.",
1631 pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle
1632 );
1633 blob_appendf(&brief, "New ticket [%s|%.10s].", pManifest->zTicketUuid,
1634 pManifest->zTicketUuid);
1635 }
1636 fossil_free(zTitle);
1637 db_multi_exec(
1638 "REPLACE INTO event(type,tagid,mtime,objid,user,comment,brief)"
@@ -1951,14 +1951,14 @@
1951 p->zAttachName, p->zAttachTarget);
1952 }
1953 }else{
1954 if( isAdd ){
1955 zComment = mprintf(
1956 "Add attachment [/artifact/%s|%h] to ticket [%s|%.10s]",
1957 p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
1958 }else{
1959 zComment = mprintf("Delete attachment \"%h\" from ticket [%s|%.10s]",
1960 p->zAttachName, p->zAttachTarget, p->zAttachTarget);
1961 }
1962 }
1963 db_multi_exec(
1964 "REPLACE INTO event(type,mtime,objid,user,comment)"
1965
--- src/manifest.c
+++ src/manifest.c
@@ -1599,40 +1599,40 @@
1599 if( fossil_strcmp(pManifest->aField[i].zName, zStatusColumn)==0 ){
1600 zNewStatus = pManifest->aField[i].zValue;
1601 }
1602 }
1603 if( zNewStatus ){
1604 blob_appendf(&comment, "%h ticket [%s|%S]: <i>%h</i>",
1605 zNewStatus, pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle
1606 );
1607 if( pManifest->nField>1 ){
1608 blob_appendf(&comment, " plus %d other change%s",
1609 pManifest->nField-1, pManifest->nField==2 ? "" : "s");
1610 }
1611 blob_appendf(&brief, "%h ticket [%s|%S].",
1612 zNewStatus, pManifest->zTicketUuid, pManifest->zTicketUuid);
1613 }else{
1614 zNewStatus = db_text("unknown",
1615 "SELECT %s FROM ticket WHERE tkt_uuid='%s'",
1616 zStatusColumn, pManifest->zTicketUuid
1617 );
1618 blob_appendf(&comment, "Ticket [%s|%S] <i>%h</i> status still %h with "
1619 "%d other change%s",
1620 pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle, zNewStatus,
1621 pManifest->nField, pManifest->nField==1 ? "" : "s"
1622 );
1623 fossil_free(zNewStatus);
1624 blob_appendf(&brief, "Ticket [%s|%S]: %d change%s",
1625 pManifest->zTicketUuid, pManifest->zTicketUuid, pManifest->nField,
1626 pManifest->nField==1 ? "" : "s"
1627 );
1628 }
1629 }else{
1630 blob_appendf(&comment, "New ticket [%s|%S] <i>%h</i>.",
1631 pManifest->zTicketUuid, pManifest->zTicketUuid, zTitle
1632 );
1633 blob_appendf(&brief, "New ticket [%s|%S].", pManifest->zTicketUuid,
1634 pManifest->zTicketUuid);
1635 }
1636 fossil_free(zTitle);
1637 db_multi_exec(
1638 "REPLACE INTO event(type,tagid,mtime,objid,user,comment,brief)"
@@ -1951,14 +1951,14 @@
1951 p->zAttachName, p->zAttachTarget);
1952 }
1953 }else{
1954 if( isAdd ){
1955 zComment = mprintf(
1956 "Add attachment [/artifact/%s|%h] to ticket [%s|%S]",
1957 p->zAttachSrc, p->zAttachName, p->zAttachTarget, p->zAttachTarget);
1958 }else{
1959 zComment = mprintf("Delete attachment \"%h\" from ticket [%s|%S]",
1960 p->zAttachName, p->zAttachTarget, p->zAttachTarget);
1961 }
1962 }
1963 db_multi_exec(
1964 "REPLACE INTO event(type,mtime,objid,user,comment)"
1965
+2 -2
--- src/tkt.c
+++ src/tkt.c
@@ -943,20 +943,20 @@
943943
}else{
944944
@
945945
@ <li><p>Add attachment
946946
@ "%z(href("%R/artifact/%s",zSrc))%s(zFile)</a>"
947947
}
948
- @ [%z(href("%R/artifact/%s",zChngUuid))%.10s(zChngUuid)</a>]
948
+ @ [%z(href("%R/artifact/%s",zChngUuid))%S(zChngUuid)</a>]
949949
@ (rid %d(rid)) by
950950
hyperlink_to_user(zUser,zDate," on");
951951
hyperlink_to_date(zDate, ".</p>");
952952
}else{
953953
pTicket = manifest_get(rid, CFTYPE_TICKET, 0);
954954
if( pTicket ){
955955
@
956956
@ <li><p>Ticket change
957
- @ [%z(href("%R/artifact/%s",zChngUuid))%.10s(zChngUuid)</a>]
957
+ @ [%z(href("%R/artifact/%s",zChngUuid))%S(zChngUuid)</a>]
958958
@ (rid %d(rid)) by
959959
hyperlink_to_user(pTicket->zUser,zDate," on");
960960
hyperlink_to_date(zDate, ":");
961961
@ </p>
962962
ticket_output_change_artifact(pTicket, "a");
963963
--- src/tkt.c
+++ src/tkt.c
@@ -943,20 +943,20 @@
943 }else{
944 @
945 @ <li><p>Add attachment
946 @ "%z(href("%R/artifact/%s",zSrc))%s(zFile)</a>"
947 }
948 @ [%z(href("%R/artifact/%s",zChngUuid))%.10s(zChngUuid)</a>]
949 @ (rid %d(rid)) by
950 hyperlink_to_user(zUser,zDate," on");
951 hyperlink_to_date(zDate, ".</p>");
952 }else{
953 pTicket = manifest_get(rid, CFTYPE_TICKET, 0);
954 if( pTicket ){
955 @
956 @ <li><p>Ticket change
957 @ [%z(href("%R/artifact/%s",zChngUuid))%.10s(zChngUuid)</a>]
958 @ (rid %d(rid)) by
959 hyperlink_to_user(pTicket->zUser,zDate," on");
960 hyperlink_to_date(zDate, ":");
961 @ </p>
962 ticket_output_change_artifact(pTicket, "a");
963
--- src/tkt.c
+++ src/tkt.c
@@ -943,20 +943,20 @@
943 }else{
944 @
945 @ <li><p>Add attachment
946 @ "%z(href("%R/artifact/%s",zSrc))%s(zFile)</a>"
947 }
948 @ [%z(href("%R/artifact/%s",zChngUuid))%S(zChngUuid)</a>]
949 @ (rid %d(rid)) by
950 hyperlink_to_user(zUser,zDate," on");
951 hyperlink_to_date(zDate, ".</p>");
952 }else{
953 pTicket = manifest_get(rid, CFTYPE_TICKET, 0);
954 if( pTicket ){
955 @
956 @ <li><p>Ticket change
957 @ [%z(href("%R/artifact/%s",zChngUuid))%S(zChngUuid)</a>]
958 @ (rid %d(rid)) by
959 hyperlink_to_user(pTicket->zUser,zDate," on");
960 hyperlink_to_date(zDate, ":");
961 @ </p>
962 ticket_output_change_artifact(pTicket, "a");
963

Keyboard Shortcuts

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