GitDependencies.exe deletes Documentation folder

This seems to affect at least the 4.8 branch from GitHub, and has been around since at least 4.7 (not exactly sure; since switching branches tends to download about 2 GB which isn’t fun).

After doing a checkout of the 4.8 branch (coming from 4.7 previously), GitDependencies.exe runs automatically and updates the stuff thats put on the CDN. However, it also deletes the Engine/Documentation/ folder completely making it show up in git status.

I don’t think this is intentional, and should be addressed in some way.

Hey BhaaL-

Can you describe your process that is giving you this problem? Based on the standard process of getting the engine from Github you downloaded the zip file for the 4.8 branch and then ran Setup.bat followed by GenerateProjectFiles.bat. After running these files you are then able to build the UE4.sln in Visual Studio. Are these the same steps you used to build the engine and at what point did the Documentation folder get deleted?

Cheers

Hi ,
I updated my existing working copy from a 4.7 state (somewhere within a week of the 4.7.0 release back then) using git fetch and then checked out the 4.8 branch (using git checkout 4.8, which created a tracking branch with my current settings). And due to the post-checkout hook, GitDependencies.exe is run.

(to be fair, I actually cancelled GitDependencies.exe because it marked a lot of 3rd Party DLL files as changed; and I re-ran it with as Engine\Binaries\DotNET\GitDependencies.exe --force to fix that. Maybe –force is wrong and the rest of my post can be discarded; who knows.)

As soon as it has finished, git status shows a lot of files as “Deleted”, such as Engine\Documentation\Source\UE4Home.INT.udn and pretty much all the other files inside Engine\Documentation.

I reverted back to a clean working copy using git revert --hard HEAD already, so unfortunately I cannot give you a complete list of what has been deleted.

I know how the build and all that works, my concern and reason for this post is to raise awareness that something in the intended way of updating from GitHub (regardless of whether it is master, promoted or one of the stable/released branches) seems faulty.
Either GitDependencies.exe should stop deleting those files (which is what I believe should happen here), or they should be removed from Git if this is intended. Otherwise everyone building straight from GitHub will always see a plethora of files being deleted as immediate result of a checkout, which doesn’t seem right either way.

If theres anything else, let me know.

Regards, BhaaL

Hey BhaaL-

If I understand correctly you updated the 4.7 engine version to the 4.8 version rather than creating 4.8 in its own directory? Are you using the Git plugin? If so do you have the same issues of files being deleted when using the method I described above (download the .zip and run Setup.bat and GenerateProjectFiles.bat)?

HI , I think we’re not on the same page here.

I’m talking about a clone of the GitHub repository (which I use to implement things and create pull requests). Not the launcher version. Not a source package downloaded from GitHub.

I’m using git command line (the official package from git-scm.com), no plugins involved.

I’ll try doing the .zip thingy later, but its not really fun on my slow line. Besides the fact that it will be harder to see without version control, as git simply takes care of the for me in the clone.
But I’m guessing it will show the same results, as it is (or rather should be) the same as getting the branch from the repository.

Might be some time until I can get results from that; so if anything else comes to mind, just shoot.

Hi , I just ran some tests using 4.8.1.zip from GitHub, and it appears to not do this - at least not until GenerateProjectFiles.bat ran completely. On the machine where I tried that, I had no C++ components installed so the process failed while trying to build UBT.

Are there any files I could delete to start from a clean slate (such as .ue4dependencies in the root folder, or one of the *.gitdeps.xml in Engine/Build/) ? I somehow get the impression that my local working copy is somehow out of sync, causing this to happen (perhaps even with one of the files from .gitignore)

Hi ,

I just got around to actually try this out on my dev machine; and this is what I did:

  1. delete “.ue4dependencies” from the root folder
  2. re-run Setup.bat (which regenerated “.ue4dependencies” but made no change to other files that are under source control)
  3. re-run GenerateProjectFiles.bat (after deleting UE4.sln; the batch file also deleted a bunch of “junk files” that seemed to stick around from my builds, such as UE4Editor-TaskBrowser.dll or UE4Editor-Android_ES31TargetPlatform.dll)
  4. pull from origin/4.8 (which essentially triggers the hooks that run GitDependencies.exe)

This time around, it only downloaded like 100 MB (while I’ve seen it go to the full 2.3 GB download too in the past) and afterwards showed a clean working copy; with no files being deleted.

My personal conclusion is that removing and regenerating “.ue4dependencies” might have fixed things; but I cannot really be sure. Unless you have to add anything to that, I believe we can consider this more or less solved.

Thanks for your time,

BhaaL