Fossil SCM

Export the committer of the tag rather than just <tagger>.

roy.marples 2017-02-10 01:08 UTC roy-export
Commit 4a51461e96e0a4bb054e5a1d47844d833fffd412
1 file changed +6 -2
+6 -2
--- src/export.c
+++ src/export.c
@@ -630,20 +630,22 @@
630630
manifest_cache_clear();
631631
632632
633633
/* Output tags */
634634
db_prepare(&q,
635
- "SELECT tagname, rid, strftime('%%s',mtime)"
635
+ "SELECT tagname, rid, strftime('%%s',mtime),"
636
+ " (SELECT coalesce(euser, user) FROM event WHERE objid=rid)"
636637
" FROM tagxref JOIN tag USING(tagid)"
637638
" WHERE tagtype=1 AND tagname GLOB 'sym-*'"
638639
);
639640
while( db_step(&q)==SQLITE_ROW ){
640641
const char *zTagname = db_column_text(&q, 0);
641642
char *zEncoded = 0;
642643
int rid = db_column_int(&q, 1);
643644
char *zMark = mark_name_from_rid(rid, &unused_mark);
644645
const char *zSecSince1970 = db_column_text(&q, 2);
646
+ const char *zUser = db_column_text(&q, 3);
645647
int i;
646648
if( rid==0 || !bag_find(&vers, rid) ) continue;
647649
zTagname += 4;
648650
zEncoded = mprintf("%s", zTagname);
649651
for(i=0; zEncoded[i]; i++){
@@ -650,11 +652,13 @@
650652
if( !fossil_isalnum(zEncoded[i]) ) zEncoded[i] = '_';
651653
}
652654
printf("tag %s\n", zEncoded);
653655
printf("from %s\n", zMark);
654656
free(zMark);
655
- printf("tagger <tagger> %s +0000\n", zSecSince1970);
657
+ printf("tagger");
658
+ print_person(zUser);
659
+ printf(" %s +0000\n", zSecSince1970);
656660
printf("data 0\n");
657661
fossil_free(zEncoded);
658662
}
659663
db_finalize(&q);
660664
661665
--- src/export.c
+++ src/export.c
@@ -630,20 +630,22 @@
630 manifest_cache_clear();
631
632
633 /* Output tags */
634 db_prepare(&q,
635 "SELECT tagname, rid, strftime('%%s',mtime)"
 
636 " FROM tagxref JOIN tag USING(tagid)"
637 " WHERE tagtype=1 AND tagname GLOB 'sym-*'"
638 );
639 while( db_step(&q)==SQLITE_ROW ){
640 const char *zTagname = db_column_text(&q, 0);
641 char *zEncoded = 0;
642 int rid = db_column_int(&q, 1);
643 char *zMark = mark_name_from_rid(rid, &unused_mark);
644 const char *zSecSince1970 = db_column_text(&q, 2);
 
645 int i;
646 if( rid==0 || !bag_find(&vers, rid) ) continue;
647 zTagname += 4;
648 zEncoded = mprintf("%s", zTagname);
649 for(i=0; zEncoded[i]; i++){
@@ -650,11 +652,13 @@
650 if( !fossil_isalnum(zEncoded[i]) ) zEncoded[i] = '_';
651 }
652 printf("tag %s\n", zEncoded);
653 printf("from %s\n", zMark);
654 free(zMark);
655 printf("tagger <tagger> %s +0000\n", zSecSince1970);
 
 
656 printf("data 0\n");
657 fossil_free(zEncoded);
658 }
659 db_finalize(&q);
660
661
--- src/export.c
+++ src/export.c
@@ -630,20 +630,22 @@
630 manifest_cache_clear();
631
632
633 /* Output tags */
634 db_prepare(&q,
635 "SELECT tagname, rid, strftime('%%s',mtime),"
636 " (SELECT coalesce(euser, user) FROM event WHERE objid=rid)"
637 " FROM tagxref JOIN tag USING(tagid)"
638 " WHERE tagtype=1 AND tagname GLOB 'sym-*'"
639 );
640 while( db_step(&q)==SQLITE_ROW ){
641 const char *zTagname = db_column_text(&q, 0);
642 char *zEncoded = 0;
643 int rid = db_column_int(&q, 1);
644 char *zMark = mark_name_from_rid(rid, &unused_mark);
645 const char *zSecSince1970 = db_column_text(&q, 2);
646 const char *zUser = db_column_text(&q, 3);
647 int i;
648 if( rid==0 || !bag_find(&vers, rid) ) continue;
649 zTagname += 4;
650 zEncoded = mprintf("%s", zTagname);
651 for(i=0; zEncoded[i]; i++){
@@ -650,11 +652,13 @@
652 if( !fossil_isalnum(zEncoded[i]) ) zEncoded[i] = '_';
653 }
654 printf("tag %s\n", zEncoded);
655 printf("from %s\n", zMark);
656 free(zMark);
657 printf("tagger");
658 print_person(zUser);
659 printf(" %s +0000\n", zSecSince1970);
660 printf("data 0\n");
661 fossil_free(zEncoded);
662 }
663 db_finalize(&q);
664
665

Keyboard Shortcuts

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