vrchat-community / creator-companion

The Entry Point for Making Things in VRChat
https://vrchat.com/home/download
53 stars 357 forks source link

[FEATURE] Allow users to override Packages/.gitignore #416

Open Faxmashine opened 6 months ago

Faxmashine commented 6 months ago

Currently, the VCC adds the following two lines to every project's Packages/.gitignore.

/*/
!com.vrchat.core.*/

This happens silently and disrupts the workflow of some users.

https://feedback.vrchat.com/creator-companion/p/dont-gitignore-entire-packages-folder

Users should be allowed to prevent the VCC from modifying Packages/.gitignore. Alternatively, the VCC could display or prompt or warning to inform users about modifications to the .gitignore file.

ChildoftheBeast commented 4 months ago

i would love to see a flag for this getting added to VCC, as this disrupts all of my collaborative projects.

advanced4 commented 2 months ago

yeah i'd really love to see this fixed, im not really sure what the purpose of this is because it just breaks every shared project

techanon commented 2 months ago

For the time being, the work around is to explicitly unignore all prefix packages that you have in your project, and the re-ignore specific packages you don't want to commit.
For example:

/*/
!com.vrchat.core.*/
!at.*/
!com.*/
!dev.*/
!sh.*/
!tlp.*/
dev.onevr.vrworldtoolkit/

VCC currently just tries to make sure that the first two lines listed are in the gitignore. So we include them and add the more specific exclusions and inclusions as needed.

orels1 commented 2 months ago

The idea behind this was always to allow the VPM to re-resolve the pacakges instead of storing them in git directly, but due current resolve limitations I think it makes sense to make that optional for now

ChildoftheBeast commented 1 month ago

The idea behind this was always to allow the VPM to re-resolve the pacakges instead of storing them in git directly, but due current resolve limitations I think it makes sense to make that optional for now

i'm still not sure why it should work like this. I get having the VPM manger pull the packages if they're not there, but i'm not sure as to why the gitignore needs to be there, as i don't feel that the package manager should be dictating what should and shouldn't go in to a github repo. I feel like that should be left up to the end user to decide and not be enforced, or at very minimum have a global opt-out for all your projects.