OSX Subversion not working / Poor error message

Hi,

I am aware that Unreal ships with it’s own BIN for subversion.
I am aware that this has been broken in previous versions of Unreal for OSX (I think it was in Unreal 4.8, it was missing the BIN).
I am aware that Unreal should point to users local SVN if present, but I think this does not work.

I have made plenty of OSX clients work with my various repositories, so default OSX SVN and SVN server has a match and all is working.

I have set up plenty of PC’s to work with SVN, no issues.

I have been upgrading and downgrading various clients.

Yet, I am still not able to make Unreal internal work with SVN on OSX. And it appears to be a common case, a widely accepted bug.

Unfortunately the error message I get from within Unreal is rather poor. If at least it could tell what version it is using, and from what dir, then people would be helped.

The message is the following:


Error svn: E155021: This client is too old to work with the working copy at ‘/Users/Me/Documents/Unreal Projects/ProjectName’ (format 31). You need to get a newer Subversion client. For more details, see http://subversion.apache.org/faq.html#working-copy-format-change

Hello Fritsl,

What SVN client are you using and/or how are you installing it, even if you’re not using a client? Also, what version of SVN is it?

Hi ,

As outlined, I have tried with multiple setups, unfortunately none with luck on OSX.

Example, my current project:

Server / SVN version:
Apache Subversion version 1.8.10 (r1615264)

SVN Client (Native from terminal on OSX):
svn, version 1.8.11 (r1643975)

Unreal version on Mac that does not work:
Version: 4.11.2-2946394+++UE4+Release-4.11

Only from inside Unreal does it not work. (Supposedly using Unreals own bin)

An SVN client that works fine is for example
Versions (that is the name of the app), Version 1.3.3

Also, any PC with any Unreal build will connect with no problems.

Also, I am not alone with this, the net is full of OSX users with the same issue.

Thanks :slight_smile:

Thank you for that information. Just to be thorough, have you tried updating to Apache’s latest release? The latest version is 1.9.3 and can be found on their website. While the problem may be the bin included with Unreal, it would be best to try everything, especially due to the message about the version being out of date.

Hi Matt,

To be absolutely sure, I took the very, very latest from Apache, build from homebrew, this is what I have in Terminal on OSX:

/usr/local/Cellar/subversion/1.9.0-rc3

However, I get this message from Unreal:

Error svn: E155021: This client is too old to work with the working copy at
Error ‘/Users/(deleted)/Documents/FlatTopHoverCar_SVN’ (format 31).
Error You need to get a newer Subversion client. For more details, see
Error http://subversion.apache.org/faq.html#working-copy-format-change
Error Failed to connect to source control. Check your settings and connection then try again.

Everything else is working fine, it is only OSX, setting up SVN from inside Unreal that does not work.

Thanks.

Hey Fritsl -

Have a couple questions for you.

  1. In your log when it tries to connect, what pathway does it show for LogSourceControl: Using path ?
  2. If you run the command which svn what do you get?

Working with one of our Devs, we were able find that on my Mac that’s exhibiting this issue, it’s pointing to /usr/bin/svn , which for me is at the following version.
svn, version 1.7.22 (r1694152) compiled Feb 10 2016, 16:22:46

To workaround it for now, you can add a path for the ExecutableLocation= in your SourceControlSettings.ini (This can be found in /Users/UserName/Library/Preferences/Unreal Engine/ProjectNameEditor/Mac)

[SubversionSourceControl.SubversionSourceControlSettings]
Repository=“UserTrunkPath”
UserName=UserName
LabelsRoot=UserInfo
ExecutableLocation=/usr/local/bin/svn

I made use of /usr/local/bin/svn and that allowed me to connect to in UE4, which for me is svn, version 1.8.13 (r1667537) compiled Mar 31 2015, 15:33:52 on x86_64-apple-darwin14.1.0

We’ll continue to investigate why it’s picking the wrong one to begin with.

We haven’t heard from you in a while Fritsl. Are you still experiencing these issues? If so, could you provide the information has requested? We need more information from you to progress with this issue.

In the meantime I’ll be marking this post as resolved for tracking purposes. Whenever you’re available, please leave a comment and the post will reopen.

Hi guys, sorry for the late reply, I thought you where asking the same questions over, but maybe I am not getting what you ask. Here’s my best attempts, please let me know more precisely what steps you’d like me to perform if this is not sufficient:

Q1A: This is what I get, as written before, all output in Unreal Log is here:

Error svn: E155021: This client is too old to work with the working copy at
Error ‘/Users/fritslyneborg/Documents/FlatTopHoverCar_SVN’ (format 31).
Error You need to get a newer Subversion client. For more details, see
Error http://subversion.apache.org/faq.html#working-copy-format-change
Error Failed to connect to source control. Check your settings and connection then try again.

Q2A:
I’m not familiar with the option of running commands to Unreal on OSX, the documentation is only pointing towards Windows as far as I can tell:

Thanks.

Sorry, have answered below as good as I could.

Hey Fritsl -

No worries, they were a bit short in description on my part for the 2 questions.

  1. In your log when it tries to connect, what pathway does it show for LogSourceControl: Using path ?

After attempting to connect to your SVN source control, open your Editors log (Project/Saved/Logs/Project.log) in a text edit app and use cmd+F to search for LogSourceControl: Using path

For example mine was
LogSourceControl: Using path /usr/bin/svn for svn operations

  1. If you run the command which svn what do you get?
    This command is run in OS X Terminal.app.

When I run this I get
/usr/local/bin/svn

As far as attempting to resolve your issue, if you can try following the workaround I mentioned before and let us know if that works, or if there are parts of it that need to be clarified.

Hi ,

I do not think there is any
Project/Saved/Logs/Project.log
on OSX installs of Unreal engine?!?

I suppose you mean UE4.log found here:
~/Library/Logs/Unreal Engine/ProjectNameEditor/

?
However I am not able to provoke that to write anything useful about SVN. There are no entries of LogSourceControl

All I can provoke the system to write in this log is the useless:
[2016.05.14-19.45.55:321][ 0]SourceControl: Info Source control is disabled

**

which svn
returns
/opt/subversion/bin/svn

Cheers

Yes, and then of course I get these in the log as well, but I suppose also useless:

[2016.05.14-19.46.06:259][ 87]LogModuleManager: Shutting down and abandoning module GitSourceControl (97)

Hi again, doing what I can to investigate, I stumbled across this page:

However I think that is outdated or something, as there are no

~/Library/Logs/Unreal Engine/ProjectNameEditor/

on my Mac.

I do however have a

~/Library/Logs/Unreal Engine/MyProjectEditor/

which holds a

MyProject.log

  • but nor that has any entries for LogSourceControl

Maybe such a log entry is only written if connection is successful? Or on PC? I cannot seam to find any Mac info on this.

Hey Fritsl -

Maybe such a log entry is only written
if connection is successful? Or on PC?
I cannot seam to find any Mac info on
this.

That bit of logging is expected to show up when you succeed or fail to connect. Here’s what I’m doing to reproduce the issue and then how I’m able to workaround it.

  1. Open Project
  2. Select Source Control
  3. Select Subversion
  4. Fill in information
  5. Select Connect

Result: Fails to connect, and the following is shown in Output Log (Windows > Developer Tools > Output log)

  • Editor Output log gets written to ~/Library/Logs/Unreal Engine/ProjectNameEditor/ProjectNameEditor.log

    LogSourceControl: Attempting “svn info “/Users/Shared/UEQA_SCTest/SVN/EngineQATest/” --xml --non-interactive --trust-server-cert --username .bullard --password ********”
    LogSourceControl: Using path /usr/bin/svn for svn operations
    SourceControl:Error: Error svn: E155021: This client is too old to work with the working copy at
    SourceControl:Error: Error ‘/Users/Shared/UEQA_SCTest/SVN/EngineQATest’ (format 31).
    SourceControl:Error: Error You need to get a newer Subversion client. For more details, see
    SourceControl:Error: Error Apache Subversion FAQ
    SourceControl:Error: Error Failed to connect to source control. Check your settings and connection then try again.

The copy of SVN the editor is trying to use is shown here >
LogSourceControl: Using path /usr/bin/svn for svn operations

Workaround

  1. Close the editor
  2. Go to ~/Library/Preferences/Unreal Engine/ProjectNameEditor/Mac/ and open SourceControlSettings.ini
  3. Set ExecutableLocation=/usr/local/bin/svn

  1. Save the file
  2. Open ProjectName in UE4Editor

Result: Project is connected to Source Control

Let me know if this still doesn’t work for you.

WEHEEE, had not seen your answer, it works, it works, OSX is now on SVN on Unreal, wow :slight_smile:

Thanks!

Ehrmnh… Hrm! No, it does not work for me, here locally… OK, Unreal is ‘Green’ and all LOOKS like on PC, however when trying to

[Top Menu: Submit to source Control] →
I get->
Bottom Right popup:
Checking for Assets to Check in

!Failed Checking Source Control Status

Like written, all is ‘Green’, I am told that connetion is sucessful, there is nothing written in the Message Log, all looks dandy.

As a test/example: I create a new material, right click and ‘add to source control’, then Message Log writes back:

Error Authentication failed
Error svn: E170013: Unable to connect to a repository at URL ‘http://svn.xxxx(edited out)’
Error svn: E215004: No more credentials or we tried too many times.
Error Authentication failed
Error svn: E200009: Commit failed (details follow):
Error svn: E200009: 'http://svn.xxxx(edited out)‘TEST.uasset’ is not under version control
Error svn: E170013: Unable to connect to a repository at URL ‘http://svn.xxxx(edited out)’
Error svn: E215004: No more credentials or we tried too many times.

All of the above in a clean log, only for trying to commit a single Material as ‘Add’ via SVN.

I’m looking for the JIRA ticket, but we’ve had some instance of this occurring internally, but has been very rare.

The workaround for this is rather than the using the Submit to Source Control… option, use the right-click context menu on the asset itself.

Using the Right-click context menu on the asset itself generates the following example:


The following assets could not be successfully checked out from source control:
/Game/StaticMesh/FutureCity


Again: All is green, I’m told that I have successfully connected, and by using third party SVN client software I have no issues.

Hey Fritsl -

We were finally able to get a consistent repro on one of our Macs, and has been logged as UE-31551. If we find a workaround for it I’ll post back.