SVNC is a modern, lightweight, and beautiful GUI client for Subversion (SVN), built with Electron and React. It provides a clean interface for managing your version control workflow, featuring drag-and-drop uploads, file previews, and history management.
- Modern UI: Glassmorphism design with smooth animations and dark mode aesthetic.
- File Management: Browse, download, create folders, and delete files with ease.
- Smart Upload:
- Drag-and-drop support.
- Smart Overwrite: Preserves SVN history when overwriting existing files (Automatic
update->commit). - Custom Commit Messages.
- Preview & Edit:
- In-App Preview: View Text, Code, and Images instantly without downloading.
- External Open: Configure specific file types (e.g.,
.xlsx) to open with system default apps.
- Time Travel: View file history and preview any past revision instantly.
- Secure: Handles credentials securely in memory.
- Core: Electron
- Frontend: React + Vite
- Styling: Vanilla CSS (Tailored Design)
- Icons: Lucide React
- Build: Electron Builder
- Node.js (v18 or higher)
- SVN Command Line Tools installed and accessible in
PATH.- macOS:
brew install svn - Windows: TortoiseSVN (CommandLine Tools enabled)
- macOS:
- Clone the repository:
git clone https://github.com/OkamiFeng/SVNC-Client.git
- Install dependencies:
cd SVNC npm install
Start the development server (Hot Reload for both Renderer and Main process):
npm run dev:electronBuild the application for your local platform:
# macOS
npm run build && npm run dist
# Windows (Run on Windows)
npm run build && npm run dist- English:
- 中文文档 (Chinese):
SVNC/
├── electron/ # Main process & Preload script
├── src/ # React Renderer process
│ ├── components/ # UI Components (FileBrowser, Login, Modals)
│ └── ...
├── dist/ # Build output (Git ignored)
└── ...
This project is licensed under the MIT License.