Revision control and project activation

I’ve got a mental disconnect that has tripped me up a few times and am wondering if it has affected other people as well. Let me see if I can explain it succinctly…

The problem is that we keep our projects directory in git and I inevitably forget that the flag which controls if a project is active is in the project.json file under that directory. On a couple occasions I have disabled a project on my development machine for safety, then turned off Ignition to do some git manipulation (merges or checkouts), and then restarted Ignition only to find the project re-enabled and triggering events I was trying to avoid. (Like sending emails to users!)

I just don’t think that whether or not a project is active should be part of the revision control history itself. It would make more sense to me if projects could be checked out, updated, or committed without affecting their activation. There’s no way I can think to setup git such that it doesn’t contain that flag right now, though. I’d like if that one particular control were held in the config DB, or at least outside of projects directory.

Anyone else run into this mistake?


Unless you are regularly changing the project.json, you could add */project.json to your .gitignore file so that it isn’t tracked.

1 Like

I suppose that would be manageable, but then on the infrequent times we do want to change the projects.json file I’ve got the opposite problem and I’m likely to forget to distribute the new version of the file.

Extra annoyance: since it’s already in git, I can’t just add it to gitignore, I’d have to add it to git ignore and remove it, which means as each server moves over that commit the file will disappear and we will have to reinstate it by hand… :confused:

This issue isn’t unmanageable either way, I just know it’s going to trip me up any way I approach it. I will make a mistake eventually. I also dislike having to add steps to procedures documents for trivia like this.

“Better” VCS integration is in the cards for 8.2. It’s relatively unlikely to change in 8.1 because changing project resources is a risky thing to do mid-version, but don’t hold me to that either way.