Cannot commit jar file to svn after merge: 502 

2020-04-17 07:25发布

We use visualsvn with tortoiseSVN on the client for version control of the binaries. That is, when we want to test a project, the test branch is merged with the build branch. This essentially updates the jar file to a newer version.

For some reason i cannot commit the now merged test branch, i get a 502 'Bad Gateway' error. I can commit some of the updated files, i have comitted the delete of the old jar file but i cannot commit the new jar.

The error i get points to the build branch, not the test branch, which i think may be the cause. I have tried deleting the offending file and replacing it with a copy from the build (sort of manual merge). But i get the same error.

Commit failed (details follow):
Unexpected HTTP status 502 'Bad Gateway' on
'/svn/binaries/!svn/rvr/11730/myProject/branches/build/newestversion.jar'

EDIT: The error has something to do with the merge. After undoing the add, i have copied the jar file into the test directory, added it and commited without any hick-ups.

The error propagates: after merging staging with test, i get the same error as above but with:

'/svn/binaries/!svn/rvr/11737/myProject/branches/tst/newestversion.jar'

3条回答
一夜七次
2楼-- · 2020-04-17 07:40

Per investigation with support@visualsvn.com, the root cause was the following line in the %VISUALSVN_SERVER%conf\httpd-custom.conf file:

RequestHeader edit Destination ^https http early

Removing this line resolves the issue.

BTW, I can guess that the line was added to implement automatic redirection from HTTP to HTTPS. With modern VisualSVN Server versions, you can enable this redirection via the VisualSVN Server Manager console. Therefore, no need to add that line to the conf file.

You can follow these steps:

  1. Start the VisualSVN Server Manager console.
  2. Click Action | Properties.
  3. Click Network tab.
  4. Select the Automatically redirect HTTP to HTTPS (listen on port 80) option.
  5. Click Apply.
查看更多
手持菜刀,她持情操
3楼-- · 2020-04-17 07:46

HTTP status code 502 is a server side error:

RFC 7231 section 6.6.3:

The 502 (Bad Gateway) status code indicates that the server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.

As you are checking in binary files it could be a timeout from a server between you and the svn servern as the checking takes too long. So you should check the svn server and any server between you and the svn server.

查看更多
等我变得足够好
4楼-- · 2020-04-17 07:56

In my case, I was using RouixSVN and I only had to clear the SVN authentication data on my computer and log in again and it worked. Hope it helps someone else.

On an Ubuntu system this is done by deleting:

~/.subversion/auth

on Windows:

%APPDATA%\Subversion\auth 
查看更多
登录 后发表回答