Files
SCM-Manager/docs/iis-helicon.md

54 lines
1.9 KiB
Markdown
Raw Normal View History

2020-03-31 17:28:30 +02:00
# SCM-Manager on IIS Helicon
2020-03-09 08:01:43 +01:00
First of all this setup is not recommended, because there were a lot of problems with it and it was never tested by the development team of SCM-Manager. However there are several working installation out there. But there some pitfalls:
**Problem description:**
When moving of copying files in SVN, the commit fails with the following message:
2020-03-31 17:28:30 +02:00
```bash
2020-03-09 08:01:43 +01:00
MyWorkstation:MyRepo user$ svn mv A.cs B.cs
A B.cs
D A.cs
MyWorkstation:MyRepo user$ svn commit -m "Renamed A.cs to B.cs"
Deleting A.cs
Adding B.cs
svn: E175002: Commit failed (details follow):
svn: E175002: The COPY request returned invalid XML in the response: XML parse error at line 1: no element found (/svn/MyRepo/!svn/bc/4/A.cs)
MyWorkstation:MyRepo user$
```
This problem only occurs when accessing the repository via https, not http.
**Solution:**
1. Add the following rewrite rule to the web.config of the SCM application:
2020-03-31 17:28:30 +02:00
```xml
<system.webServer>
2020-03-09 08:01:43 +01:00
<!-- <heliconZoo /> -->
<!-- <handlers /> -->
2020-03-31 17:28:30 +02:00
<rewrite>
<rules>
<rule name="Rewrite Destination Header" stopProcessing="true">
<match url=".+" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="MOVE|COPY" />
<add input="{HTTP_Destination}" pattern="^https://(.+)$" />
</conditions>
<serverVariables>
<set name="HTTP_Destination" value="http://{C:1}" />
</serverVariables>
<action />
</rule>
</rules>
</rewrite>
</system.webServer>
2020-03-09 08:01:43 +01:00
```
2. Add HTTP_Destination to the Allowed Server Variables using IIS:
2020-03-31 17:28:30 +02:00
![Helicon: Allowed Server Variables](screenshots/helicon-server-vars.png)
2020-03-09 08:01:43 +01:00
2020-03-31 17:28:30 +02:00
For more information, see issue [#624](https://bitbucket.org/sdorra/scm-manager/issue/624/svn-400-bad-request-on-copy-or-move-when).