Fossil SCM
Distinguish between direct family and merge relationships in the common status information such as seen with the "fossil info" command.
Commit
9caa3506c54fac0e5c40a9d9d9b1622cac6d6029
Parent
d01ca14d08cdce1…
1 file changed
+10
-6
+10
-6
| --- src/info.c | ||
| +++ src/info.c | ||
| @@ -80,31 +80,35 @@ | ||
| 80 | 80 | " FROM event WHERE objid=%d", |
| 81 | 81 | rid |
| 82 | 82 | ); |
| 83 | 83 | } |
| 84 | 84 | 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); | |
| 87 | 88 | while( db_step(&q)==SQLITE_ROW ){ |
| 88 | 89 | const char *zUuid = db_column_text(&q, 0); |
| 90 | + const char *zType = db_column_int(&q, 2) ? "parent:" : "merged-from:"; | |
| 89 | 91 | zDate = db_text("", |
| 90 | 92 | "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d", |
| 91 | 93 | db_column_int(&q, 1) |
| 92 | 94 | ); |
| 93 | - fossil_print("parent: %s %s\n", zUuid, zDate); | |
| 95 | + fossil_print("%-13s %s %s\n", zType, zUuid, zDate); | |
| 94 | 96 | free(zDate); |
| 95 | 97 | } |
| 96 | 98 | 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); | |
| 99 | 102 | while( db_step(&q)==SQLITE_ROW ){ |
| 100 | 103 | const char *zUuid = db_column_text(&q, 0); |
| 104 | + const char *zType = db_column_int(&q, 2) ? "child:" : "merged-into:"; | |
| 101 | 105 | zDate = db_text("", |
| 102 | 106 | "SELECT datetime(mtime) || ' UTC' FROM event WHERE objid=%d", |
| 103 | 107 | db_column_int(&q, 1) |
| 104 | 108 | ); |
| 105 | - fossil_print("child: %s %s\n", zUuid, zDate); | |
| 109 | + fossil_print("%-13s %s %s\n", zType, zUuid, zDate); | |
| 106 | 110 | free(zDate); |
| 107 | 111 | } |
| 108 | 112 | db_finalize(&q); |
| 109 | 113 | } |
| 110 | 114 | zTags = info_tags_of_checkin(rid, 0); |
| 111 | 115 |
| --- 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 |