Skip to content

Commit 4992fac

Browse files
committed
docs: update README and scripts for improved SVN test environment setup
1 parent 84375a9 commit 4992fac

6 files changed

Lines changed: 380 additions & 204 deletions

File tree

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,7 @@ dotnet build src/SVNPathCopy.Installer/SVNPathCopy.Installer.wixproj
7979

8080
```
8181
SVNPathCopy/
82-
├── docker/
83-
│ └── ... # TBA
82+
├── docker/ # Local SVN test server (Podman)
8483
├── src/
8584
│ ├── SVNPathCopy.Core/ # .NET Standard 2.0 - Shared library
8685
│ ├── SVNPathCopy.ShellExtension/ # .NET Framework 4.8 - Shell extension

docker/.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Shell scripts must use LF line endings
2+
*.sh text eol=lf

docker/README.md

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,47 @@
1-
# SVN Test Server (Podman)
1+
# SVN Test Environment
22

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.
44

5-
Prerequisites
6-
- Podman installed and `podman machine` available on Windows
7-
- SVN command-line client (TortoiseSVN command-line tools or SlikSVN)
5+
## Prerequisites
86

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)
159

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
2211

23-
Reset the test environment (fresh repo + scripted test data)
2412
```powershell
2513
cd docker
26-
./reset-test-env.ps1
27-
./setup-test-wc.ps1
14+
.\setup-test-env.ps1
2815
```
2916

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`

docker/reset-test-env.ps1

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)