Announcement

Collapse
No announcement yet.

What are the best Source Version Control options for my workplace?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    What are the best Source Version Control options for my workplace?

    Hi everyone.

    Firstly I hope this is the right place to post this, I looked in the source and GitHub forum section but it looked more aligned to the source code of the engine whereas I'm interested in a more personal project basis.

    Recently at the office I've had a few colleagues increasing their interest in Unreal and wanting to help collaborate on our R+D projects. For this we need some kind of version control to allow a maximum of 3 people to work on the same project.

    I need some advice on what would suit our needs.

    We do have a local network server, which I imagine would make sense to use, but one of my main priorities is not putting too much stress on the network as we have many other people using the network for their still imagery.

    Yesterday I managed to get Github working - however I attempted to create a repository of one of my existing projects (30gb) and hit the memory cap pretty quickly! Even using Git lfs track on .umap, .uasset and .fbx. Whilst the paid option is possible for us, I imagine we'd hit the initial 50gb cap pretty fast.

    Hopefully someone seeing this will have a good suggestion - this is pretty new to me!

    - additional question - If a local network SVN is the best option for us is it better to have the project stored on the server rather than locally?


    Elliott Lambert
    Junior CGI Artist
    White Crow Studios

    #2
    Deploy Gitlab locally and use git + lfs.
    Or rent a dedicated server and deploy it there (costs ~ $20/month).
    MMO Starter Kit
    Dialogue Plugin
    Voxel Plugin
    Character Customization: Female
    Character Custmization: Male

    Comment


      #3
      Git is very easy to install and provision. And, once you've learned its general revision control model and commands, it works pretty well, as long as you don't try to revision control large binary files.

      The secret with git is that it will work just fine over a regular ssh connection. Thus, even if you're on Windows, you can install a repo on any remote machine that you have ssh access to. On windows, you will typically use Putty, and export GIT_SSH=plink.exe

      0. Install windows git and putty and make sure you have keys loaded in pageant and so on.

      1. In your project, add a .gitignore file:
      Code:
      C:\UE4\Projects\MyProject> copy con .gitignore
      Intermediate
      Saved
      ^Z
      C:\UE4\Projects\MyProject>
      2. initialize a git repo:
      Code:
      C:\UE4\Projects\MyProject> git init .
      C:\UE4\Projects\MyProject> git add .
      C:\UE4\Projects\MyProject> git commit -m "first"
      C:\UE4\Projects\MyProject>
      3. set up a remote repo on any machine you have SSH access to:
      Code:
      C:\UE4\Projects\MyProject> plink me@machine git init --bare my-project-name.git
      (if you're on Mac, or Linux, or WSL, use "ssh" instead of "plink")

      4. add this remote repo to your local project:
      Code:
      C:\UE4\Projects\MyProject> git remote add origin me@machine:my-project-name.git
      C:\UE4\Projects\MyProject> git push -u origin master
      That's it! You have a copy of your project on the remote side, and you can now "git pull -r" and "git push" to/from it.
      Other people that also have access to that remote machine/shell/repository can similarly push and pull.
      No additional magic needed!
      Last edited by jwatte; 08-17-2019, 04:11 PM.

      Comment


        #4
        Hey guys, many thanks for the responses. Didn't expect so much depth but very glad you have been thorough! I'll do my best to implement the local solution tommorow!

        Regarding the Git + Putty method would you commit the entire project if one item changed in the content folder or would you just commit the individual folder within the engine that has changed?

        Many thanks again!
        Elliott Lambert
        Junior CGI Artist
        White Crow Studios

        Comment


          #5
          I used SVN with a centralized repository for a while. Horrible. The local repository got huge, even with the SmartSVN user interface it was confusing and every other day there were some conflicts that would prevent me from checking in and out and I had to going through confusing options to get it all going.
          I am now using Perforce and it is a blessing! It's free for up to 5 users and there are absolutely NO problems. I love it and if I worked in a larger company I would lobby hard for a purchase. Forget all this open source stuff. Perforce is superbly integrated with UE, there's a plugin for the Visual Studio IDE and a free stand alone graphical interface. I believe Epic are also using Perforce.

          Comment

          Working...
          X