Don't .gitignore entire Packages folder
tracked
RavenWorks
I just spent ages wondering why I was struggling so much with packages not being installed when I expected them to be while jumping backwards and forwards in my git history... plus, when installing new packages, I had to manually forward them to my teammate to install manually as well, unlike everything else that we were able to sync over git. I'm not sure if the .gitignore file in the Packages folder is an accidental oversight, or if it was intended for some reason; I could understand it keeping the vrchat library files off of git, but it absolutely shouldn't be keeping the
evidence of their inclusion
off of a repo too! I'd be happy with getting rid of that .gitignore entirely (that's what I did locally, and I haven't had any trouble), but at the very least there needs to be an exception for the various manifest json files.Log In
child of the beast
i would love to, at minimum, have a flag in VCC's settings json that stops it from generating the /Packages/.gitignore
when working with colab projects, it's insanely frustrating to have someone update a package in VCC, push their changes, forget to remove the .gitignore, then we need to wait a day or 2 for them to free up just to delete it and push their changes again.
this is even more frustrating when some of those packages are development packages that VCC can't grab.
I'm not really even sure what the purpose of adding this .gitignore into your packages is. I don't understand why my package manager should be trying to dictate what should and shouldn't get uploaded to my repos.
Fax
I have logged your request in out GitHub issue tracker.
I hope I described your issue accurately! Please feel free to provide additional context on GitHub.
Fax
tracked
Thanks for the additional information!
Thorinair
This is indeed correct. For whatever reason, the .gitignore inside Packages folder gets re-filled up with the following content:
/*/
!com.vrchat.core.*/
It will always be that and will ignore the content of the Templates. When a project is made for the first time, the gitignore will be correct and what you have defined in the template, but for adding any new package (for instance community ones), it will get overwritten with the content above.
There is no need for "more information". It is exactly this. The .gitignore gets filled with this content, preventing git from committing the contents of Packages. That is all there is to this. It needs to be fixed.
Megacrafter127
Adding, removing or updating a package with VCC re-adds those lines to the .gitignore if they were removed beforehand.
I see 2 main issues with ignoring every subdirectory of Packages:
- This prevents syncing of local packages that aren't registered in UPM or VPM.
- Since VCC currently does not offer the functionality of applying changes from the vpm-manifest.json, the project must be opened in Unity to run the VPM-Resolver Package once to apply those changes. This however breaks script references until a reimport of most assets is performed. [e.g. if I clone a git repository containing an avatar project of mine, all script references to components introduced by the VRCSDK are broken, because at the time of importing those assets, the VRCSDK was not installed yet, because the VPM-Resolver package cannot run before the project was imported] Reimporting all assets fixes this, but can take a long amount of time depending on project size.
Happyrobot33
Megacrafter127: #1 isnt true as you can re add those packages you are locally developing back into the gitignore just fine and it works, like ive done here for one of my packages https://github.com/Mattshark89/OpenFlight-VRC/blob/main/Packages/.gitignore
Yferi
This is what is in the .gitignore in my avatar project.
These .gitignore files made me very confused, and almost ruined a project I was working on, I really don't understand why they are here.
/*/
!com.vrchat.core.*/
The same file also appears for a fully new world project.
RavenWorks
Just tried again on a new project and you're right, by default those files aren't ignored. Not sure what happened on my old project then. If I encounter it again I'll reopen.
Fax
needs more information
Fax
Hmm, would you mind sharing your gitignore file? The one we provide shouldn't ignore
manifest.json
or vpm-manifest.json
Happyrobot33
Fax: the issue isnt that those are ignored, the issue is the VCC doesnt
recheck
those to make sure the packages actually exist and are installed. THAT is what should be fixed