
Jakob BorgandGitHub
ff88430efb
feat: add debug commands for folder counts and files (#10206)
This adds two debugging commands that print information directly from
the database; one for folder counts, and one for file metadata for files
matching a pattern in a folder. E.g.,
```
% syncthing debug database-counts p3jms-73gps
DEVICE TYPE FLAGS DELETED COUNT SIZE
-local- FILE ------- --- 0 0
-local- FILE --G---- --- 2473 70094796496
-local- DIRECTORY ------- --- 0 0
-local- DIRECTORY --G---- --- 19 2432
PSEUDOP FILE ------- --- 2473 70094796496
PSEUDOP FILE -nG---- --- 0 0
PSEUDOP DIRECTORY ------- --- 19 2432
PSEUDOP DIRECTORY -nG---- --- 0 0
```
```
% syncthing debug database-file p3jms-73gps 20240929-DSCF1387
DSCF1387
DEVICE TYPE NAME SEQUENCE DELETED MODIFIED SIZE FLAGS VERSION BLOCKLIST
-local- FILE Austin/20240929-DSCF1387.raf 1204 --- 2024-09-29T01:10:54Z 48911888 --G---- HX2ELNU:1744213700 fsQdMvUL
PSEUDOP FILE Austin/20240929-DSCF1387.raf 22279 --- 2024-09-29T01:10:54Z 48911888 ------- HX2ELNU:1744213700 fsQdMvUL
-local- FILE Austin/20240929-DSCF1387.xmp 1196 --- 2024-10-16T08:08:35.137501751Z 5579 --G---- HX2ELNU:1744213700 xDGMnepi
PSEUDOP FILE Austin/20240929-DSCF1387.xmp 19910 --- 2024-10-16T08:08:35.137501751Z 5579 ------- HX2ELNU:1744213700 xDGMnepi
```
The local flag bits get a string representation for the bitmask,
```
FlagLocalUnsupported: "u",
FlagLocalIgnored: "i",
FlagLocalMustRescan: "r",
FlagLocalReceiveOnly: "e",
FlagLocalGlobal: "G",
FlagLocalNeeded: "n",
FlagLocalRemoteInvalid: "v",
```
2025-07-04 15:46:24 +02:00
..
2025-06-20 07:08:06 +00:00
2025-06-20 07:08:06 +00:00
2025-03-29 13:50:08 +01:00
2025-07-04 15:46:24 +02:00
2025-06-13 07:33:31 +02:00
2025-03-29 13:50:08 +01:00
2025-04-06 14:30:43 +02:00
2025-05-01 13:44:25 -05:00
2025-03-29 13:50:08 +01:00
2025-03-29 13:50:08 +01:00
2025-03-29 13:50:08 +01:00
2025-06-06 13:45:44 +02:00
2025-03-29 13:50:08 +01:00
2025-06-06 13:45:44 +02:00
2025-05-20 14:27:08 +02:00
2025-05-01 13:44:25 -05:00
2025-04-06 14:30:43 +02:00
2025-03-29 13:50:08 +01:00
2025-07-04 15:46:24 +02:00
2025-06-13 07:33:31 +02:00
2025-04-06 14:30:43 +02:00
2025-07-04 15:46:24 +02:00
2025-04-06 14:30:43 +02:00
2025-06-06 13:45:44 +02:00
2025-06-13 07:33:31 +02:00
2025-04-09 17:46:49 +02:00
2025-04-09 17:46:49 +02:00