Git Source Control Provider Plugin

Also, I am in the process of proposing the Git plugin to integrate the Engine as a standard plugin.

I will soon open a pull request for Epic :slight_smile:

Edit: GitHub PR done! https://github.com/EpicGames/UnrealEngine/pull/740

Just took a look on the PR :smiley: Nice work man!

Hi all!

Wanted to let you know that my plugin has been accepted and merged into the master (for 4.8) branch as an experimental feature.

But more, it has also been backported into the 4.7 branch, so we should get Git as standard into the next release!

Cheers !

Congrats! Thanks for all your hardwork, I can guarantee there will be many happy users :slight_smile:

Thanks. It will also help spread it, and help keep it up to date!

Excellent job on getting this plugin up and running! I tried using it today, but I’m getting a ton of errors because it’s trying to process UE files outside of my project. Is this normal, or did I screw something up?

Hi! Sorry for the delay, at first I did not see the link to AnswerHub with all the required details!

perhaps it is contextual, I mean, depends on the exact command you run to check-in.

I do right click on the map file on the content browser, and then “check - in”
I suspect you did a “global check in” and that may well try to check the status of all assets of your project, such as the starter content that is located in the Engine directory, outside of your project.

I am not sure of what can be done for such cases. Does Perforce or Subversion handle this case differently?

I’m using UE 4.7.5 on OSX and tried setting up my project with the Git plugin following the instruction on the Wiki, but it only acts crazy when I try to “Accept Settings”
I suppose this is still not working with other platforms outside of windows? I’ve tried everything I could think of and then found this thread, so maybe its not ready yet for the Mac.

Hi JasonW,

Yes, this was a known problem of my Plugin with UE4.7.x for Mac, see for example Trouble setting up BitBucket Source Control [4.7.1]

There was a bug in the Unreal Engine regarding the Mac Platform that I fixed a few weeks ago : PR #920 Fix FMacPlatformProcess::ExecProcess()
That fix was merged onto master on commit 2196a60

It will make it on UE4.8, but not before I am afraid.

Hi all!

Lately I’ve resume working on the Git plugin to fix and improve many small and bigger features. Here is an overview of what is already integrated for UE4.8:

and what could follow soon (Edit: merged for 4.8 just at the moment!):

Cheers!

Edit: everything merged for 4.8 :slight_smile:

Can some of you Git user have a look at the current state of the Git plugin on master, and report any new or remaining issues before the next release?

I have a repo that i am making changes to using SourceTree (connected to Bitbucket). When I change a file in UE4 the change goes into SourceTree just fine (using git), but when I revert a file in SourceTree, UE4 doesn’t notice anything.
How to rollback using UE4 so the working copy agrees with an item’s chosen state in the history?
In my case, I’m just changing the color in of a RGB value in the material.

Editor : 4.7.6 vs compiled

Hi, there is a “revert” contextual source control menu action, but it is only for reverting changes made since last commit (that is, “local changes”) and it does not work well, as the Editor seems to keep a copy of the modified/unreverted asset until restart!

Edit: there is no improvement on the core of Source Control for the upcoming UE4.8 Editor

Does that mean , if i want to revert to a state stored on bitbucket I should do so after closing UE4 then copying files from the repo to the project folder in explorer ?

Yes this is it: presently you need to close the project in Editor before updating or reverting assets with Source Control.

This is true not only with the Git plugin, but also with the official Perforce plugin (I’ve checked this myself to be sure it was not ‘my fault’).

Youtube demo of the usage of the Git plugin on Unreal Engine 4.13

Hi all!

Youtube demo of the usage of the Git plugin on Unreal Engine 4.13 (preview build from source)

  1. Start from a template project (Third Person Blueprint)
  2. Initialize a new git repository, making the “initial commit” (with an appropriate .gitignore file)
  3. Show log of this first commit
  4. Make a few changes, moving node in the Character Blueprint
  5. Commit (“Check In”)
  6. Show the log after second commit
  7. Show the visual diff of the Character Blueprint

(Sorry, my mic is not working for some reason.)

Edit: sadly, making the “initial commit” has been merge only for 4.13.

Cheers!

Git Plugin Changelog

UE 4.12:

UE 4.13:

UE 4.14:

UE 4.15:

UE 4.16 (upcoming):

Pull Requests accepted:

Pull Requests sleeping:

Work in progress:

  • Support for new Git LFS 2.0.0 Lock system (working Proof Of Concept)!
  • Git LFS .gitattributes file to track the whole Content/** folder
  • Support for a new “Push” operation (needed for Git LFS Lock)
  • More fix for some Source Control UI

Cheers!

Edit: updated since all my merge requests where merged :slight_smile:

Does the git plugin support blueprint diffs with blueprints that are managed by LFS?

It will work in UE4.16: UE-34539: (Bugfix) Allow binary files in git stored via git-fat, git-lfs, etc to be diffed (take 2) #3253

And after that, I hope to get proper support of LFS and LFS 2 new Locking mechanism in time for UE4.17

Thanks.
Wouldn’t it be better to get the git plugin out of the main engine repository and maintain it on its own? Like the ART tools.
That way the plugin development isn’t that dependent on main engine releases.