Fossil SCM
With fossil commit -v, indicate added or deleted files in diff output, too.
Commit
30559adbaf2ccc056d0e36d0a56a639bda38640e90a50f0dcb1338bcc7ece0db
Parent
fd359387ca9cf45…
1 file changed
+16
-2
+16
-2
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -1365,17 +1365,31 @@ | ||
| 1365 | 1365 | '#' |
| 1366 | 1366 | ); |
| 1367 | 1367 | diff_options(&DCfg, 0, 1); |
| 1368 | 1368 | DCfg.diffFlags |= DIFF_VERBOSE; |
| 1369 | 1369 | if( g.aCommitFile ){ |
| 1370 | + Stmt q; | |
| 1371 | + Blob sql = BLOB_INITIALIZER; | |
| 1370 | 1372 | FileDirList *diffFiles; |
| 1371 | 1373 | int i; |
| 1372 | 1374 | for(i=0; g.aCommitFile[i]!=0; ++i){} |
| 1373 | 1375 | diffFiles = fossil_malloc_zero((i+1) * sizeof(*diffFiles)); |
| 1374 | 1376 | for(i=0; g.aCommitFile[i]!=0; ++i){ |
| 1375 | - diffFiles[i].zName = db_text(0, | |
| 1376 | - "SELECT pathname FROM vfile WHERE id=%d", g.aCommitFile[i]); | |
| 1377 | + blob_append_sql(&sql, | |
| 1378 | + "SELECT pathname, deleted, rid WHERE id=%d", | |
| 1379 | + g.aCommitFile[i]); | |
| 1380 | + db_prepare(&q, "%s", blob_sql_text(&sql)); | |
| 1381 | + blob_reset(&sql); | |
| 1382 | + assert( db_step(&q)==SQLITE_ROW ); | |
| 1383 | + diffFiles[i].zName = fossil_strdup(db_column_text(&q, 0)); | |
| 1384 | + DCfg.diffFlags &= (~DIFF_FILE_MASK); | |
| 1385 | + if( db_column_int(&q, 1) ){ | |
| 1386 | + DCfg.diffFlags |= DIFF_FILE_DELETED; | |
| 1387 | + }else if( db_column_int(&q, 2)==0 ){ | |
| 1388 | + DCfg.diffFlags |= DIFF_FILE_ADDED; | |
| 1389 | + } | |
| 1390 | + db_finalize(&q); | |
| 1377 | 1391 | if( fossil_strcmp(diffFiles[i].zName, "." )==0 ){ |
| 1378 | 1392 | diffFiles[0].zName[0] = '.'; |
| 1379 | 1393 | diffFiles[0].zName[1] = 0; |
| 1380 | 1394 | break; |
| 1381 | 1395 | } |
| 1382 | 1396 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1365,17 +1365,31 @@ | |
| 1365 | '#' |
| 1366 | ); |
| 1367 | diff_options(&DCfg, 0, 1); |
| 1368 | DCfg.diffFlags |= DIFF_VERBOSE; |
| 1369 | if( g.aCommitFile ){ |
| 1370 | FileDirList *diffFiles; |
| 1371 | int i; |
| 1372 | for(i=0; g.aCommitFile[i]!=0; ++i){} |
| 1373 | diffFiles = fossil_malloc_zero((i+1) * sizeof(*diffFiles)); |
| 1374 | for(i=0; g.aCommitFile[i]!=0; ++i){ |
| 1375 | diffFiles[i].zName = db_text(0, |
| 1376 | "SELECT pathname FROM vfile WHERE id=%d", g.aCommitFile[i]); |
| 1377 | if( fossil_strcmp(diffFiles[i].zName, "." )==0 ){ |
| 1378 | diffFiles[0].zName[0] = '.'; |
| 1379 | diffFiles[0].zName[1] = 0; |
| 1380 | break; |
| 1381 | } |
| 1382 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1365,17 +1365,31 @@ | |
| 1365 | '#' |
| 1366 | ); |
| 1367 | diff_options(&DCfg, 0, 1); |
| 1368 | DCfg.diffFlags |= DIFF_VERBOSE; |
| 1369 | if( g.aCommitFile ){ |
| 1370 | Stmt q; |
| 1371 | Blob sql = BLOB_INITIALIZER; |
| 1372 | FileDirList *diffFiles; |
| 1373 | int i; |
| 1374 | for(i=0; g.aCommitFile[i]!=0; ++i){} |
| 1375 | diffFiles = fossil_malloc_zero((i+1) * sizeof(*diffFiles)); |
| 1376 | for(i=0; g.aCommitFile[i]!=0; ++i){ |
| 1377 | blob_append_sql(&sql, |
| 1378 | "SELECT pathname, deleted, rid WHERE id=%d", |
| 1379 | g.aCommitFile[i]); |
| 1380 | db_prepare(&q, "%s", blob_sql_text(&sql)); |
| 1381 | blob_reset(&sql); |
| 1382 | assert( db_step(&q)==SQLITE_ROW ); |
| 1383 | diffFiles[i].zName = fossil_strdup(db_column_text(&q, 0)); |
| 1384 | DCfg.diffFlags &= (~DIFF_FILE_MASK); |
| 1385 | if( db_column_int(&q, 1) ){ |
| 1386 | DCfg.diffFlags |= DIFF_FILE_DELETED; |
| 1387 | }else if( db_column_int(&q, 2)==0 ){ |
| 1388 | DCfg.diffFlags |= DIFF_FILE_ADDED; |
| 1389 | } |
| 1390 | db_finalize(&q); |
| 1391 | if( fossil_strcmp(diffFiles[i].zName, "." )==0 ){ |
| 1392 | diffFiles[0].zName[0] = '.'; |
| 1393 | diffFiles[0].zName[1] = 0; |
| 1394 | break; |
| 1395 | } |
| 1396 |