Fossil SCM
Experimentally added branched-from info to the leaves output, as discussed in [forum:/forumpost/5e52d31d2e].
Commit
0b41f332f4f3c8e2ad9abbe096dea917a03273e5c5d1949e391f1c1dba4728e1
Parent
20391d1e58b6b7c…
1 file changed
+12
-2
+12
-2
| --- src/descendants.c | ||
| +++ src/descendants.c | ||
| @@ -491,11 +491,13 @@ | ||
| 491 | 491 | while( db_step(&q)==SQLITE_ROW ){ |
| 492 | 492 | const char *zId = db_column_text(&q, 1); |
| 493 | 493 | const char *zDate = db_column_text(&q, 2); |
| 494 | 494 | const char *zCom = db_column_text(&q, 3); |
| 495 | 495 | const char *zBr = db_column_text(&q, 7); |
| 496 | - char *z; | |
| 496 | + char *z = 0; | |
| 497 | + int ridOfRoot = 0; | |
| 498 | + char * zBranchPoint = 0; | |
| 497 | 499 | |
| 498 | 500 | if( byBranch && fossil_strcmp(zBr, zLastBr)!=0 ){ |
| 499 | 501 | fossil_print("*** %s ***\n", zBr); |
| 500 | 502 | fossil_free(zLastBr); |
| 501 | 503 | zLastBr = fossil_strdup(zBr); |
| @@ -502,13 +504,21 @@ | ||
| 502 | 504 | if( multipleFlag ) n = 0; |
| 503 | 505 | } |
| 504 | 506 | n++; |
| 505 | 507 | sqlite3_snprintf(sizeof(zLineNo), zLineNo, "(%d)", n); |
| 506 | 508 | fossil_print("%6s ", zLineNo); |
| 507 | - z = mprintf("%s [%S] %s", zDate, zId, zCom); | |
| 509 | + z = mprintf("root:%s", zId); | |
| 510 | + ridOfRoot = symbolic_name_to_rid(z, "ci"); | |
| 511 | + if(ridOfRoot>0){ | |
| 512 | + zBranchPoint = mprintf(" Branched from [%.*z]", hash_digits(0), | |
| 513 | + rid_to_uuid(ridOfRoot)); | |
| 514 | + } | |
| 515 | + z = mprintf("%s [%S] %s%.*s", zDate, zId, zCom, | |
| 516 | + zBranchPoint ? zBranchPoint : 0); | |
| 508 | 517 | comment_print(z, zCom, 7, width, get_comment_format()); |
| 509 | 518 | fossil_free(z); |
| 519 | + fossil_free(zBranchPoint); | |
| 510 | 520 | } |
| 511 | 521 | fossil_free(zLastBr); |
| 512 | 522 | db_finalize(&q); |
| 513 | 523 | } |
| 514 | 524 | |
| 515 | 525 |
| --- src/descendants.c | |
| +++ src/descendants.c | |
| @@ -491,11 +491,13 @@ | |
| 491 | while( db_step(&q)==SQLITE_ROW ){ |
| 492 | const char *zId = db_column_text(&q, 1); |
| 493 | const char *zDate = db_column_text(&q, 2); |
| 494 | const char *zCom = db_column_text(&q, 3); |
| 495 | const char *zBr = db_column_text(&q, 7); |
| 496 | char *z; |
| 497 | |
| 498 | if( byBranch && fossil_strcmp(zBr, zLastBr)!=0 ){ |
| 499 | fossil_print("*** %s ***\n", zBr); |
| 500 | fossil_free(zLastBr); |
| 501 | zLastBr = fossil_strdup(zBr); |
| @@ -502,13 +504,21 @@ | |
| 502 | if( multipleFlag ) n = 0; |
| 503 | } |
| 504 | n++; |
| 505 | sqlite3_snprintf(sizeof(zLineNo), zLineNo, "(%d)", n); |
| 506 | fossil_print("%6s ", zLineNo); |
| 507 | z = mprintf("%s [%S] %s", zDate, zId, zCom); |
| 508 | comment_print(z, zCom, 7, width, get_comment_format()); |
| 509 | fossil_free(z); |
| 510 | } |
| 511 | fossil_free(zLastBr); |
| 512 | db_finalize(&q); |
| 513 | } |
| 514 | |
| 515 |
| --- src/descendants.c | |
| +++ src/descendants.c | |
| @@ -491,11 +491,13 @@ | |
| 491 | while( db_step(&q)==SQLITE_ROW ){ |
| 492 | const char *zId = db_column_text(&q, 1); |
| 493 | const char *zDate = db_column_text(&q, 2); |
| 494 | const char *zCom = db_column_text(&q, 3); |
| 495 | const char *zBr = db_column_text(&q, 7); |
| 496 | char *z = 0; |
| 497 | int ridOfRoot = 0; |
| 498 | char * zBranchPoint = 0; |
| 499 | |
| 500 | if( byBranch && fossil_strcmp(zBr, zLastBr)!=0 ){ |
| 501 | fossil_print("*** %s ***\n", zBr); |
| 502 | fossil_free(zLastBr); |
| 503 | zLastBr = fossil_strdup(zBr); |
| @@ -502,13 +504,21 @@ | |
| 504 | if( multipleFlag ) n = 0; |
| 505 | } |
| 506 | n++; |
| 507 | sqlite3_snprintf(sizeof(zLineNo), zLineNo, "(%d)", n); |
| 508 | fossil_print("%6s ", zLineNo); |
| 509 | z = mprintf("root:%s", zId); |
| 510 | ridOfRoot = symbolic_name_to_rid(z, "ci"); |
| 511 | if(ridOfRoot>0){ |
| 512 | zBranchPoint = mprintf(" Branched from [%.*z]", hash_digits(0), |
| 513 | rid_to_uuid(ridOfRoot)); |
| 514 | } |
| 515 | z = mprintf("%s [%S] %s%.*s", zDate, zId, zCom, |
| 516 | zBranchPoint ? zBranchPoint : 0); |
| 517 | comment_print(z, zCom, 7, width, get_comment_format()); |
| 518 | fossil_free(z); |
| 519 | fossil_free(zBranchPoint); |
| 520 | } |
| 521 | fossil_free(zLastBr); |
| 522 | db_finalize(&q); |
| 523 | } |
| 524 | |
| 525 |