Getting SVN to work in Editor with other Team Members

I know this question has been asked in some form or another several times. I have read them all and can’t get a clear understanding of whether or not this issue is resolvable by users or if we have to wait for a patch.

I created a repo on our company’s assembla account. I created a new Unreal Project (with blueprint first person, just so I’d have something simple to commit).

I first tried connecting the editor to source control, which succeeded, but then found that it could not submit to source control because it believed it was “not a working copy”. So I closed the editor and instead committed the blueprint relevant files through the windows file browser.

Then, after opening the project and reconnecting to source control, I was able to checkout, edit, save, and submit files to the repo from the editor just fine. I was so excited!

Next, I had a team member pull down the repo and open the uproject. It complained about .ini files so I commited the config folder (I didn’t at first, because I remembered avoiding doing this for UDK projects). Once he pulled those down, he was able to open the project, and connect to source control. But when he tried to check out files, they were not working copies. These are the errors he received:

svn: warning W155007: ‘C:\Program’ is not a working copy

svn: warning: W155007 : ‘C:\Program Files\Unreal Engine\4.0\Engine\Binaries\Win64\Files\Unreal’ is not a working copy.

svn: warning: W155007 : ‘C:\Program Files\Unreal Engine\4.0\Engine\Binaries\Win64\Engine\4.0’ is not a working copy.

So I have the ability to work in the engine and submit to source control, but he does not. Are we missing a step or is there a real issue here?

Again, I apologize. I know this is being asked frequently, but I have tried the proposed solutions and they do not work here.

Are we able to safely work, just using the windows file browser for updates and commits? Can we do this while the engine is open? I remember when using UDK or UE3, using SVN from the file browser while the engine was running meant crashy fun time.

Thank you for any assistance.

Hi,

I imagine that your colleague hasn’t checked out his working copy into the UE4 installation directory, so those errors are just red herrings. Could you provide a full log so we can try to trace the issue?

From your description of the problem alone, the only thing I can currently think of is that your colleague did not perform an ‘svn checkout’, but an ‘svn export’ instead. Is your colleague able to submit files via SVN (i.e. not using the editor) inside the project directory tree?

As to your other question, although its an unsupported workflow, using SVN alongside/outside the editor shouldn’t crash the editor, but it’s not something we have tested extensively.

[link text][1]

Attached is the log (I made it a .txt because at first it wouldn’t upload…)

He did indeed perform a checkout and not an export and it was not into the installation directory as the warnings suggest.

We are able to work using the windows browser instead of the editor but not while the editor is open. If the editor is open and we try to update, and the update contains new versions of previously existing files, SVN is unable to overwrite the files and fails requiring a cleanup (just like olden times, though there was no crash!). If the update contains only brand new files, everything runs fine. I have also attached a screenshot of my svn error when trying to update while the editor is open.

3493-svnupdateerror.png

After several open and closes (which of course we tried on our own at first but it didn’t resolve the first time) – his editor seems to have figured itself out and now allows him to work with editor integrated source control. This is joyous. However, the assets do not refresh themselves on project open, and have to be manually refreshed in order to convince them that they are not new, and expose the “check out” command rather than the “mark for add” command. Additionally, there seems to be no way to update source control while in the editor. Am I missing something? Do updates have to be performed from the windows browser with the editor closed?

Also, here is the log from when I tried to update svn while the editor was open and the update contained a new version of an existing asset.log

I’m glad that your colleague is now able to work from within the Editor!

The first log you posted contains nothing of note; everything appears to be functioning normally.

I can currently speculate that you may be seeing an issue with slow execution of remote server status requests. Assets should refresh their status when the content browser is refreshed. As you can probably deduce, we don’t allow operations until we have retrieved file status from the server. This is to prevent lock contention on our binary assets.

Note that we also add an artificial delay (currently 1 sec) before updating the source control status of content browser items to avoid spamming the server with requests while scrolling.

Okay. That makes sense. Though I don’t understand why the Editor doesn’t open in the refreshed state. Also, can I ask again, can you update svn from within the editor? Right now, the only way we can get each other’s changes safely is to close the editor, update in windows browser, and then reopen. On a two person team this isn’t so bad. But I can’t figure out how a larger team would be able to stand it.

You can currently sync changes from within the editor, but only on a single file basis at the moment. Also bear in mind that the current state of the file as determined from the server is what enables the ‘Sync’ option in the context menu.

We currently have an issue in our backlog to allow syncing folders.

As to opening the editor in a refreshed state; the state of files should be refreshed in the background after the content browser is displayed. There is nothing special about editor startup per-se, although if you find that clicking ‘Refresh’ to update the status of a file is seemingly not working then that sounds like it could be a bug.

Each file has to be refreshed manually even after freshly opening the editor. Otherwise it believes every asset is new and only has the “mark for add” option enabled. Roger on the syncing not being available for the whole content folder at once yet. We will work around that for now. Thank you. I will post my own answer to this question stating my workflow to getting things working in just a bit.

Process:

  1. Check out empty repo into local folder.
  2. Create uproject in local folder
  3. Close uproject
  4. Commit via Windows Browser Content, Config, and .uproject. Add saves to global ignore. (I have not figured out how to make initial commits via the editor. Perhaps I have missed something?)
  5. Open uproject. Connect to source control.
  6. Your team member can now checkout the repo into an empty local folder, Open the .uproject, connect to source control, and begin working with you. But –

You should be able to work within the editor with source control after initial checkout and connection, though you may have to close and reopen, or wait. IMPORTANT: You cannot update from the Windows Browser while the editor is open (unless the update only contains new files). Syncing via the editor only works on individual files. They have not implemented whole folder syncing for svn yet.