I’m used to keeping my
git status as clean as possible (that is, no unintended unstaged changes and no untracked files at all) to have an easy overview of whats happening in my working copy. This usually means me running
git clean -fd to remove files that are untracked and not from me (assuming that they are either properly ignored or not used anymore). I’m also used to keep unnecessary merges out of my history, so I got
git pull defaulting to
git pull --rebase (using
branch.autosetuprebase always) - just in case it matters for the rest of this.
Anyways, after building changes based on
86925abe7673f2ae0b4b460cf92595ac8ae810e3 for a PR submitted a week ago, switching back to
master and pulling caused an update to
7e8c7858d19ebce2b8b54ac2776c9e82424735ac and finally
f6da6aa9e1f05cc42ef101f511e96bf9d93255be (in turn, each after seemingly getting something in my working copy messed up).
What seems to happen every time is similar to this:
D:\Epic\UnrealEngine>git status On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) Engine/Documentation/CHM/ Engine/Extras/Maya_AnimationRiggingTools/ArtToolsOSX/MayaTools/General/ART/ Engine/Extras/Maya_AnimationRiggingTools/ArtToolsOSX/MayaTools/General/Icons/ Engine/Extras/Maya_AnimationRiggingTools/ArtToolsOSX/MayaTools/General/Scripts/projectSettings.txt Engine/Extras/Maya_AnimationRiggingTools/ArtToolsOSX/MayaTools/General/Scripts/settings.txt Engine/Extras/Maya_AnimationRiggingTools/ArtToolsOSX/README.md Engine/Source/ThirdParty/PhysX/APEX-1.3/externals/CUDA_6.5.19/bin/ Engine/Source/ThirdParty/PhysX/APEX-1.3/module/destructible/public/ExplicitHierarchicalMesh.h Engine/Source/ThirdParty/PhysX/APEX-1.3/module/destructible/public/FractureTools.h Engine/Source/ThirdParty/PhysX/PhysX-3.3/externals/clang/3.3.2/linux32/bin/ Engine/Source/ThirdParty/PhysX/PhysX-3.3/externals/clang/3.3.2/osx/bin/ Engine/Source/ThirdParty/PhysX/PhysX-3.3/include/physxvisualdebuggersdk/PvdImmediateRenderer.h Engine/Source/ThirdParty/SDL/ Engine/Source/ThirdParty/Steamworks/Steamv130/ nothing added to commit but untracked files present (use "git add" to track)
This is usually after
GitDependencies.exe ran and pulled between 1.5GB and 2GB from the CDN (which isn’t supposed to happen i think).
Sometimes I even get tracked files in
deleted state (usually somewhere around documentation, sometimes also header files and similar)…but I think thats during a build and not due to checking out or clearing.
Documentation for example has a .chm help file, while most of the other folders have C-header files (*.h) and/or other content such as .txt, .bmp and similar.
.git/info/exclude is empty, and I didn’t modify the
.gitignore file thats committed.
So, unless there’s a particluar reason to limit
/Engine/Source/ThirdParty to just a few file types, it might make sense to just update those to a general wildcard match for the whole directory. I really hope those huge CDN downloads from
GitDependencies.exe are just a side-effect of me trying to keep things nice and tidy, so I’ll not go into further detail about that here.
And, besides, I wasn’t sure if this should be considered a Bug Report, so I just put it under “Everything Else”.
Edit: Something that also bugs me about
GitDependencies.exe is the fact that switching between master, promoted, release and potentially other branches always wants to redownload at least 1GB of extra files that I’m pretty certain I already have (one way or the other). And this can be really painful when the download takes an hour to complete.