|
1 | | -# SVN Test Server (Podman) |
| 1 | +# SVN Test Environment |
2 | 2 |
|
3 | | -Minimal instructions to run a local SVN server for testing the SVNPathCopy shell extension using Podman. |
| 3 | +Local SVN server for testing the SVNPathCopy shell extension. |
4 | 4 |
|
5 | | -Prerequisites |
6 | | -- Podman installed and `podman machine` available on Windows |
7 | | -- SVN command-line client (TortoiseSVN command-line tools or SlikSVN) |
| 5 | +## Prerequisites |
8 | 6 |
|
9 | | -Quick start |
10 | | -```powershell |
11 | | -cd docker |
12 | | -podman machine start |
13 | | -podman compose up -d |
14 | | -``` |
| 7 | +- **Podman** installed with `podman machine` running |
| 8 | +- **SVN client** (TortoiseSVN command-line tools or SlikSVN) |
15 | 9 |
|
16 | | -Checkout the test repository |
17 | | -```powershell |
18 | | -mkdir C:\temp\svn-test |
19 | | -cd C:\temp\svn-test |
20 | | -svn checkout svn://localhost/testrepo . --username svnadmin --password svnadmin |
21 | | -``` |
| 10 | +## Quick Start |
22 | 11 |
|
23 | | -Reset the test environment (fresh repo + scripted test data) |
24 | 12 | ```powershell |
25 | 13 | cd docker |
26 | | -./reset-test-env.ps1 |
27 | | -./setup-test-wc.ps1 |
| 14 | +.\setup-test-env.ps1 |
28 | 15 | ``` |
29 | 16 |
|
30 | | -What the test setup provides |
31 | | -- Repository URL: `svn://localhost/testrepo` |
32 | | -- Default credentials: `svnadmin` / `svnadmin` |
33 | | -- The `setup-test-wc.ps1` script creates three sequential commits with clearly named files, and leaves a mix of uncommitted items (modified, unversioned, scheduled-add) so you can test all states. |
34 | | - |
35 | | -Quick troubleshooting |
36 | | -- If Podman cannot connect, run `podman machine init` and `podman machine start`. |
37 | | -- If `svn` is not found, install TortoiseSVN (include command-line tools) or SlikSVN. |
38 | | - |
39 | | -Reset and recreate steps are intentionally minimal — use `reset-test-env.ps1` to destroy the volume and start fresh. |
40 | | - |
41 | | -That's all you need to run local tests for the shell extension. |
| 17 | +That's it! The script will: |
| 18 | +1. Start the SVN server container |
| 19 | +2. Create a test repository with sample commits |
| 20 | +3. Set up a working copy at `C:\temp\svnpathcopy-test-wc` |
| 21 | +4. Open Explorer to the test folder |
| 22 | + |
| 23 | +## Test Data Created |
| 24 | + |
| 25 | +| File/Folder | Status | Use Case | |
| 26 | +|-------------|--------|----------| |
| 27 | +| `committed_file.txt` | Clean, committed | Copy URL with revision | |
| 28 | +| `modified_file.txt` | Modified (uncommitted) | Copy URL of modified file | |
| 29 | +| `added_file.txt` | Scheduled for add | Copy URL before first commit | |
| 30 | +| `unversioned_file.txt` | Unversioned | Should show error/not appear | |
| 31 | +| `committed_folder/` | Clean, committed | Folder URL copying | |
| 32 | +| `file with spaces.txt` | Clean, committed | URL encoding test | |
| 33 | +| `special-chars_äöü.txt` | Clean, committed | Unicode handling | |
| 34 | + |
| 35 | +## Commands |
| 36 | + |
| 37 | +| Action | Command | |
| 38 | +|--------|---------| |
| 39 | +| Full reset + setup | `.\setup-test-env.ps1` | |
| 40 | +| Reset only (no setup) | `.\setup-test-env.ps1 -ResetOnly` | |
| 41 | +| Custom working copy path | `.\setup-test-env.ps1 -WorkingCopyPath "D:\my-test"` | |
| 42 | + |
| 43 | +## Troubleshooting |
| 44 | + |
| 45 | +- **Podman not running**: Run `podman machine init` then `podman machine start` |
| 46 | +- **SVN not found**: Install TortoiseSVN with command-line tools option |
| 47 | +- **Port 3690 in use**: Stop other SVN servers or change the port in `docker-compose.yml` |
0 commit comments