Commit changes

Changes to the repository can be done using a composable syntax. There are two ways to commit changes to the repositories:

Direct update

connection
    .Update("main", c => c.CreateOrUpdate(table, parent: application))
        .Commit("Added table.", author, committer);

Note

Within the Update(…) method, multiple transformations can be defined using nested calls.

Stage in the index, then commit

Previous method stores transformation in-memory then creates a commit. In the case where you need to store transformations made persistent to be committed later (like what you would do when using Git with your files), you can use the index method:

connection
    .GetIndex("main", c => c.CreateOrUpdate(table, parent: application))
        .Commit("Added table.", author, committer);

Note

Since GitObjectDb uses a bare repository, the internal Git index database file cannot be used. GitObjectDb uses its own independant dbindex file that has the advantage that multiple indices can be used simultaneously on different branches.