Fossil SCM

Distinguish between direct family and merge relationships in the common status information such as seen with the "fossil info" command.

drh 2011-09-14 11:06 trunk
Commit 9caa3506c54fac0e5c40a9d9d9b1622cac6d6029
1 file changed +10 -6
+10 -6
--- src/info.c
+++ src/info.c
@@ -80,31 +80,35 @@
8080
" FROM event WHERE objid=%d",
8181
rid
8282
);
8383
}
8484
if( showFamily ){
85
- db_prepare(&q, "SELECT uuid, pid FROM plink JOIN blob ON pid=rid "
86
- " WHERE cid=%d", rid);
85
+ db_prepare(&q, "SELECT uuid, pid, isprim FROM plink JOIN blob ON pid=rid "
86
+ " WHERE cid=%d"
87
+ " ORDER BY isprim DESC, mtime DESC /*sort*/", rid);
8788
while( db_step(&q)==SQLITE_ROW ){
8889
const char *zUuid = db_column_text(&q, 0);
90
+ const char *zType = db_column_int(&q, 2) ? "parent:" : "merged-from:";
8991
zDate = db_text("",
9092
"SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
9193
db_column_int(&q, 1)
9294
);
93
- fossil_print("parent: %s %s\n", zUuid, zDate);
95
+ fossil_print("%-13s %s %s\n", zType, zUuid, zDate);
9496
free(zDate);
9597
}
9698
db_finalize(&q);
97
- db_prepare(&q, "SELECT uuid, cid FROM plink JOIN blob ON cid=rid "
98
- " WHERE pid=%d", rid);
99
+ db_prepare(&q, "SELECT uuid, cid, isprim FROM plink JOIN blob ON cid=rid "
100
+ " WHERE pid=%d"
101
+ " ORDER BY isprim DESC, mtime DESC /*sort*/", rid);
99102
while( db_step(&q)==SQLITE_ROW ){
100103
const char *zUuid = db_column_text(&q, 0);
104
+ const char *zType = db_column_int(&q, 2) ? "child:" : "merged-into:";
101105
zDate = db_text("",
102106
"SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
103107
db_column_int(&q, 1)
104108
);
105
- fossil_print("child: %s %s\n", zUuid, zDate);
109
+ fossil_print("%-13s %s %s\n", zType, zUuid, zDate);
106110
free(zDate);
107111
}
108112
db_finalize(&q);
109113
}
110114
zTags = info_tags_of_checkin(rid, 0);
111115
--- src/info.c
+++ src/info.c
@@ -80,31 +80,35 @@
80 " FROM event WHERE objid=%d",
81 rid
82 );
83 }
84 if( showFamily ){
85 db_prepare(&q, "SELECT uuid, pid FROM plink JOIN blob ON pid=rid "
86 " WHERE cid=%d", rid);
 
87 while( db_step(&q)==SQLITE_ROW ){
88 const char *zUuid = db_column_text(&q, 0);
 
89 zDate = db_text("",
90 "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
91 db_column_int(&q, 1)
92 );
93 fossil_print("parent: %s %s\n", zUuid, zDate);
94 free(zDate);
95 }
96 db_finalize(&q);
97 db_prepare(&q, "SELECT uuid, cid FROM plink JOIN blob ON cid=rid "
98 " WHERE pid=%d", rid);
 
99 while( db_step(&q)==SQLITE_ROW ){
100 const char *zUuid = db_column_text(&q, 0);
 
101 zDate = db_text("",
102 "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
103 db_column_int(&q, 1)
104 );
105 fossil_print("child: %s %s\n", zUuid, zDate);
106 free(zDate);
107 }
108 db_finalize(&q);
109 }
110 zTags = info_tags_of_checkin(rid, 0);
111
--- src/info.c
+++ src/info.c
@@ -80,31 +80,35 @@
80 " FROM event WHERE objid=%d",
81 rid
82 );
83 }
84 if( showFamily ){
85 db_prepare(&q, "SELECT uuid, pid, isprim FROM plink JOIN blob ON pid=rid "
86 " WHERE cid=%d"
87 " ORDER BY isprim DESC, mtime DESC /*sort*/", rid);
88 while( db_step(&q)==SQLITE_ROW ){
89 const char *zUuid = db_column_text(&q, 0);
90 const char *zType = db_column_int(&q, 2) ? "parent:" : "merged-from:";
91 zDate = db_text("",
92 "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
93 db_column_int(&q, 1)
94 );
95 fossil_print("%-13s %s %s\n", zType, zUuid, zDate);
96 free(zDate);
97 }
98 db_finalize(&q);
99 db_prepare(&q, "SELECT uuid, cid, isprim FROM plink JOIN blob ON cid=rid "
100 " WHERE pid=%d"
101 " ORDER BY isprim DESC, mtime DESC /*sort*/", rid);
102 while( db_step(&q)==SQLITE_ROW ){
103 const char *zUuid = db_column_text(&q, 0);
104 const char *zType = db_column_int(&q, 2) ? "child:" : "merged-into:";
105 zDate = db_text("",
106 "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d",
107 db_column_int(&q, 1)
108 );
109 fossil_print("%-13s %s %s\n", zType, zUuid, zDate);
110 free(zDate);
111 }
112 db_finalize(&q);
113 }
114 zTags = info_tags_of_checkin(rid, 0);
115

Keyboard Shortcuts

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