Weird SVN integration

Hello,

Today I have spend almost whole day trying to setup the SVN integration just to find at the end that it is completely insane.

The UE version is 4.5 under Windows, any attempts to setup SVN integration using official documentation or web “tutorials” (include UE wiki) just failed all with same result: at the moment of applying SVN settings in the Source Control Login dialog I got the “Failed …” message and in the Log there is E215004 error mentioned.

I was trying endless combinations of options to get the things work, with no success at all. The only thing which finally got working is … leave all the fields in the dialog empty (!?). And you even can enter just a trash into the fields (like the “alsdhflaksjdhlaksdjfhqoiwufylaskdjf”) and it will work (!?). But it will not work if you enter real repo address and credentials (!?). This is for case when I do checkout into the UE project folder with external SVN client, so it is become working copy folder. No any other options are working at all.

So the problems I want to outline:

  1. Official documentation is incomplete (absolutely)
  2. Wiki tutorial not working for me, but beside of this it also very specific by itself due to the fact of checking out whole repo structure (including /branches, /tags, if standard layout used) and it also propose to copy .svn folder in order to fix some problems. IMHO, it is abnormal.
  3. It is possible to mark assets as added from the UE editor, but commit operation (from the editor) will fail if they are not in folder(s) already committed in the repo. So the only way to add new content with new folders is the commit at least all new folders using external SVN client first
  4. There are glitches with Source Control related command in popup menu (by the right-click) in Content Browser, and in particular sometimes they are just missing and not shown at all.

I am curious is the SVN integration is in “production” stage officially, or one should not rely on it at all ? If it is really considered to be a “production” feature, what is the normal workflow of SVN integration setup (for ones who know what SVN is, how to setup repo and work with it with SVN tools/clients, just UE editor integration part) ?

Best regards, Alexey

Hi Alexey,

Which SVN are you attempting to use? (Tortoise, Apache, etc) Additionally which SVN page have you used? The only Epic Official documentation on SVN is located here: https://docs.unrealengine.com/latest/INT/Engine/UI/SourceControl/index.html . Is this the page you were using?

Hi,

The repo is on Assembla, TortoiseSVN as an primary SVN client, no any SVN binaries installed in system (so only TortoiseSVN used to work with SVN). The mentioned “official” page is exactly one you provide (except you include erroneous trailing dot into the address and it can’t be opened by click in browser),

Just to clarify the things a bit, the only option which worked for me finally is the following workflow:

  1. Create UE project on disk
  2. Checkout “/trunk” (use standard SVN layout) with TortoiseSVN into the UE project folder (so, .svn folder placed at the root of UE project folder, at the same level as *.uproject file). Credentials are stored by TortoiseSVN.
  3. Open project in the UE editor, do “Connect to source control”, select SVN option, leave all SVN params empty, do “Accept Settings”
  4. “Success” message appear, UE editor consider project being under source control system

Any attempts to enter real repo info into the “Connect to source control” dialog lead to “Fail” message(s), as long as no any other workflows are working for me.

The Source control icon in editor is green, tooltip show empty repo and user names, and show “Enabled: yes”.

Hi Alexey,

I have fixed the URL so it can be accessed. Have you tried the tutorial made by ryanjon? You can find that here:

https://wiki.unrealengine.com/Subversion_source_control_(Tutorial)

Hi Adam,

Yes, this is tutorial I mentioned in my post. It also not working. Moreover, it is also very “specific”. Consider this:

  1. Tutorial propose to checkout whole SVN repo layout and no any word about could it be avoided or not (not a good idea to checkout the whole repo)
  2. It still contains weird hack in a case of problems - it propose to copy the .svn folder in other location than default one provided by svn itself. This could not be considered as a “production” solution because could make SVN working incorrectly as a result.

PS. Your link is broken again :slight_smile: In this case trailing bracket :wink:

Hi Alexey,

Thank you for letting me know! Apparently links are simply not agreeing with me at the moment. While that is a user tutorial, I am going to put in a request for more documentation on SVN.

Hi, Adam

Thank you! I hope official documentation will be updated and will provide the useful information on source control integration setup (currently there are almost none of any useful information - most non-trivial details are just omitted). And unfortunately currently provided users tutorials could not be considered as a good one for serious development (I am still don’t believe that checking out the whole repo is a good idea, as long as the copying of .svn folder).

Just as a hints about mentioned “non-trivial details”:

  1. What is the “Labels directory” parameter ? The tooltip provide some info but it is still unclear how it intended to be used (and all tutors just ignore this setting)
  2. If one want to put the project not under the root of the repo, what should be entered into the “Repository” field (still repo root, or real project path in repo) ? Is it even possible to put the project not under the repo root and successfully use the SVN integration ?
  3. If full project path is accepted in the “Repository” field, how “Labels directory” should be configured ? According to tooltip it should be relative to “Repository” field, so could it really be something like “…/…/…/tags” ?

And please note that currently I have the working setup where I have all SVN setting fields set to nothing (?!). Seems to be a bag (though very fortunately for me, because all attempts to enter real info just failed) ?