# Source control in Ignition 8

**URL:** <https://forum.inductiveautomation.com/t/source-control-in-ignition-8/26886>\
**Category:** Ignition Early Access\
**Created:** [July 25, 2019, 5:50pm UTC](https://forum.inductiveautomation.com/t/source-control-in-ignition-8/26886 "2019-07-25T17:50:32Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [July 25, 2019, 6:01pm UTC](https://forum.inductiveautomation.com/t/source-control-in-ignition-8/26886/2 "2019-07-25T18:01:01Z")

</div>

> [@pandreoli](#):
>
> Alternatively, I know that if I had access to the files I could set up source control myself. Where can I find the root folder for scripts?

_All_ project resources are located in the gateway installation directory (if you're on, say, Windows, this defaults to `Program Files/Inductive Automation/Ignition/`. From there, project resources are in `/data/projects/`. Each _project_ will have a folder there, and all resources within that project are then separated into modules. Below each module is a folder structure representing the path that you see in the designer.

An individual resource is itself a folder, containing at minimum two files: a `resource.json` file that defines meta-information about the resource, and a `data.bin` file, which contains the direct Java serialization of the actual resource. **Some** resource types, but not all, have different representations; for instance, project scripts are directly encoded as `code.py` files, which are plain text, while Perspective views are their direct JSON representation.

As of right now, in Ignition 8.0.X, that's basically all the "source control" integration you get. Triggering commits, reverting, etc, is all an exercise for the user. In fact, you would probably need to write a custom module if you wanted to do on-demand "commits" every time a save was pushed from the gateway. But, if you just want to rely on a system like git to perform periodic commits (and safe resource rollback), you're set.

Future plans include, at minimum, scripting hooks to allow you to directly run commits and various other actions once you've configured a git or other VCS repository.

---

_[View the full topic](https://forum.inductiveautomation.com/t/source-control-in-ignition-8/26886)._
