Thank you for considering a contribution! Bug reports, feature requests, translations, documentation fixes, and pull requests are all welcome.
日本語での Issue / PR も歓迎します。
git clone https://github.com/tomoyukioya/FileHistoryClone.git
cd FileHistoryClone
dotnet build FileHistory/FileHistory.sln
dotnet test FileHistoryTests/FileHistoryTests.csprojRequirements: Windows 10/11 and the .NET 8 SDK. Any editor works; the solution file is FileHistory/FileHistory.sln.
| Path | What it is |
|---|---|
FileHistory/ |
The main tray application |
FileHistory/Crawler.cs |
Periodic low-priority folder scanner |
FileHistory/DirectoryWatcher.cs |
Real-time change detection (FileSystemWatcher) |
FileHistory/BackupScheduler.cs |
Time-ordered backup queues and copy workers |
FileHistory/BackupDb.cs |
LiteDB catalog of files/generations |
FileHistory/RetentionWorker.cs |
Automatic cleanup by retention policy |
FileHistoryTests/ |
MSTest unit/integration tests |
- Open an issue first for larger changes, so we can agree on the direction before you invest time.
- Tests: run
dotnet testbefore submitting. New behavior should come with a test where practical. - Warnings: the build is warning-free; please keep it that way.
- UI strings: never hard-code user-visible text. Add a key to
FileHistory/Strings.resx(English) andFileHistory/Strings.ja.resx(Japanese), then useStrings.Get("Key").
Localization is resource-based and needs no code changes:
- Copy
FileHistory/Strings.ja.resxtoFileHistory/Strings.<culture>.resx(e.g.Strings.de.resx). - Translate the
<value>elements. - Build — the satellite assembly is generated automatically, and the language is picked up from the OS (or the
Languagesetting).
Please use the bug report template. Logs (default location: %USERPROFILE%\FileHistoryCloneBackup\Log\app.log) and your Settings section from appsettings.json (with personal paths masked) make investigation much faster.