== ✅ Subversion tests (simple checkout) ==
See that Subversion finally works (tested on my Subversion repository on my Phorge):
```
svn checkout svn+ssh://git@gitpull.it/source/example-svn-repo/ example-svn-repo-root
```
| Working directory | Test command | Before | After |
|----------------------|--------------|--------|-------|
| `./example-svn-repo-root` | `arc browse README.md` | ❌ [[ https://gitpull.it/diffusion/SVNEXAMPLE/browse/master/README.md | link ]] | ✅ [[https://gitpull.it/diffusion/SVNEXAMPLE/browse/README.md|link]]
| `./example-svn-repo-root` | `arc browse asd/lol/OTHER.md` | ❌ [[ https://gitpull.it/diffusion/SVNEXAMPLE/browse/master/asd/lol/OTHER.md | link ]] | ✅ [[https://gitpull.it/diffusion/SVNEXAMPLE/browse/asd/lol/OTHER.md|link]] |
| `./example-svn-repo-root/asd/lol` | `arc browse OTHER.md` | ❌ [[ https://gitpull.it/diffusion/SVNEXAMPLE/browse/master/asd/lol/OTHER.md | link ]] | ✅ [[https://gitpull.it/diffusion/SVNEXAMPLE/browse/asd/lol/OTHER.md|link]] |
| `./example-svn-repo-root/asd/lol` | `arc browse --branch wtfbranch OTHER.md` | ❌ [[ https://we.phorge.it/source/arcanist/browse/wtfbranch/README.md ]] | ✅ [[https://gitpull.it/source/example-svn-repo/browse/README.md|link]] ("BRANCH OPTION NOT AVAILABLE") |
See that finally SVN works. The last example uses the git option `--branch` that has little sense in SVN so it still works but generating a warning, telling to please omit the `--branch` option in SVN.
Note that if you have not the `.arcconfig` file this does not work, with and without the change.
== ✅ Extra Subversion tests (deep checkout) ==
See that Subversion finally works (tested on my Subversion repository on my Phorge):
```
svn checkout svn+ssh://git@gitpull.it/source/example-svn-repo/asd/lol example-svn-repo-subdir
```
| Working directory | Test command | Before | After |
|----------------------|--------------|--------|-------|
| `./example-svn-repo-subdir` | `arc browse OTHER.md` | ❌ [[ https://gitpull.it/source/example-svn-repo/browse/master/OTHER.md | link ]] | ✅ [[https://gitpull.it/source/example-svn-repo/browse/asd/lol/OTHER.md|link]] |
Note that if you have not the `.arcconfig` file this does not work, with and without the change.
== ✅ Git tests ==
See that git still works:
| Working Directory | Test command | Before | After |
|------------------------|------------------------|--------|----------|
| ./phorge | `arc browse README.md` | ✅ [[ https://we.phorge.it/source/phorge/browse/master/README.md | link ]] | ✅ same |
| ./phorge | `arc browse src/docs/user/userguide/remarkup_cowsay.diviner` | ✅ [[ https://we.phorge.it/source/phorge/browse/master/src/docs/user/userguide/remarkup_cowsay.diviner | link ]] | ✅ same |
| ./phorge/src/docs/user | `arc browse userguide/remarkup_cowsay.diviner` | ✅ [[ https://we.phorge.it/source/phorge/browse/master/src/docs/user/userguide/remarkup_cowsay.diviner | link ]] | ✅ same |
| ./phorge | `arc browse --branch stable README.md` | ✅ [[ https://we.phorge.it/source/phorge/browse/stable/README.md | link ]] | ✅ same |
| ./phorge | `arc browse --branch stable src/docs/user/userguide/remarkup_cowsay.diviner` | ✅ [[ https://we.phorge.it/source/phorge/browse/stable/src/docs/user/userguide/remarkup_cowsay.diviner | link ]] | ✅ same |
| ./phorge/src/docs/user | `arc browse --branch stable userguide/remarkup_cowsay.diviner` | ✅ [[ https://we.phorge.it/source/phorge/browse/stable/src/docs/user/userguide/remarkup_cowsay.diviner | link ]] | ✅ same |
== Test narration ==
You stand in the middle of a small clearing in the woods of your Phorge.
Create a new Subversion repository in Diffusion with some contents, like these:
README.md
trunk/lol.txt
/tags/17_04_2019/lol.txt
Then clone that repository with your usual URL, that is:
svn checkout svn+ssh://phab@phorge.localhost/source/example-svn-repository example-svn-repository
All of these finally work in SVN:
- arc browse README.md
- you are redirected to https://phorge.localhost/source/myrepo/browse/README.md
- arc browse trunk/lol.txt
- you are redirected to https://phorge.localhost/source/myrepo/browse/trunk/lol.txt
- cd trunk; arc browse lol.txt; cd -
- you are redirected to https://phorge.localhost/source/myrepo/browse/trunk/lol.txt
- arc browse --branch /tags/17_04_2019/ lol.txt
- you are redirected to https://phorge.localhost/source/myrepo/browse/tags/17_04_2019/lol.txt
----
In the very same SVN repository, manually go to the Diffusion > Subversion menu and set "trunk/"
as sub-directory - so the web interface only shows the trunk directory.
All of these still work:
- arc browse trunk/lol.txt
- cd trunk; arc browse lol.txt; cd -
----
Inside the directory of arcanist (git), all of these still work as expected, opening the browser
web on the specified file and on the specified branch:
- arc browse README.md
- arc browse bin/arc
- arc browse README.md --branch stable
- arc browse README.md --branch master
- arc browse bin/arc --branch stable
- arc browse bin/arc --branch master
- cd bin; arc browse arc; cd -
- arc browse bin/arc
The browser web carefully opens as expected.
If it worked before, it works now, but also on Subversion repos.