<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>src/org/nbgit/client/CommitBuilder.java</filename>
    </added>
    <added>
      <filename>test/unit/data/generators/org.nbgit.client.CommitBuilderTest</filename>
    </added>
    <added>
      <filename>test/unit/data/goldenfiles/org/nbgit/client/CommitBuilderTest/testEmptyCommit.pass</filename>
    </added>
    <added>
      <filename>test/unit/data/goldenfiles/org/nbgit/client/CommitBuilderTest/testInitialEmptyCommit.pass</filename>
    </added>
    <added>
      <filename>test/unit/data/goldenfiles/org/nbgit/client/CommitBuilderTest/testInitialNonEmptyCommit.pass</filename>
    </added>
    <added>
      <filename>test/unit/data/goldenfiles/org/nbgit/client/CommitBuilderTest/testNonEmptyCommit.pass</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/default.git/HEAD</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/default.git/config</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/default.git/objects/pack/pack-0792a40f96cd44d1c008852c39cd711b65a81eb3.idx</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/default.git/objects/pack/pack-0792a40f96cd44d1c008852c39cd711b65a81eb3.pack</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/default.git/packed-refs</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/testInitialNonEmptyCommit/default.git/index</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/testInitialNonEmptyCommit/default.workdir/a</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/testNonEmptyCommit/default.git/index</filename>
    </added>
    <added>
      <filename>test/unit/data/org.nbgit.client.CommitBuilderTest/testNonEmptyCommit/default.workdir/a</filename>
    </added>
    <added>
      <filename>test/unit/src/org/nbgit/client/CommitBuilderTest.java</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -107,6 +107,10 @@ public class IndexBuilder extends ClientBuilder {
         index.write();
     }
 
+    public ObjectId writeTree() throws IOException {
+        return index.writeTree();
+    }
+
     public IndexBuilder log(OutputLogger logger) {
         return log(IndexBuilder.class, logger);
     }</diff>
      <filename>src/org/nbgit/client/IndexBuilder.java</filename>
    </modified>
    <modified>
      <diff>@@ -198,7 +198,10 @@ public class GitCommand {
             PersonIdent personIdent = new PersonIdent(repo);
 
             writeTreeWithSubTrees(tree);
+            doCommit(repo, tree.getTreeId(), personIdent, message, logger);
+    }
 
+    public static void doCommit(Repository repo, ObjectId treeId, PersonIdent personIdent, String message, OutputLogger logger) throws IOException {
             final RefUpdate ru = repo.updateRef(Constants.HEAD);
             ObjectId[] parentIds;
             if (ru.getOldObjectId() != null) {
@@ -207,7 +210,7 @@ public class GitCommand {
                 parentIds = new ObjectId[0];
             }
             Commit commit = new Commit(repo, parentIds);
-            commit.setTree(tree);
+            commit.setTreeId(treeId);
             message = message.replaceAll(&quot;\r&quot;, &quot;\n&quot;);
 
             commit.setMessage(message);
@@ -486,4 +489,5 @@ public class GitCommand {
 
         return info;
     }
+
 }</diff>
      <filename>src/org/nbgit/util/GitCommand.java</filename>
    </modified>
    <modified>
      <diff>@@ -64,11 +64,15 @@ import org.spearce.jgit.util.SystemReader;
  */
 public class RepositoryTestCase extends NbTestCase {
 
+    private final long TIME_INITIAL = 1112911993L;
+    private final int TIME_INCREMENT = 60;
+    private final int TIME_ZONE = -7 * 60;
     private final File dataRoot = new File(getDataDir(), getClass().getCanonicalName());
     private ArrayList&lt;Filter.IncludeExclude&gt; excludes = new ArrayList&lt;Filter.IncludeExclude&gt;();
     protected Repository repository;
     protected OutputLogger logger;
     protected ArrayList&lt;String&gt; loggerMessages;
+    protected long time;
     protected File dataDir;
     protected File gitDir;
     protected File workDir;
@@ -90,8 +94,11 @@ public class RepositoryTestCase extends NbTestCase {
         repository.create();
         loggerMessages = new ArrayList&lt;String&gt;();
         logger = MockOutputLogger.create(loggerMessages);
+        time = TIME_INITIAL;
 
         copyRepositoryFiles(&quot;default&quot;, repository);
+        repository.refreshFromDisk();
+        repository.getConfig().load();
     }
 
     @Override
@@ -99,6 +106,19 @@ public class RepositoryTestCase extends NbTestCase {
         super.tearDown();
     }
 
+    protected int getTimeZone() {
+        return TIME_ZONE;
+    }
+
+    protected long getTime() {
+        return time * 1000;
+    }
+
+    protected long timeTick() {
+        time += TIME_INCREMENT;
+        return getTime();
+    }
+
     protected Collection&lt;File&gt; toFiles(File base, String... paths) {
         Collection&lt;File&gt; files = new ArrayList&lt;File&gt;(paths.length);
         for (int i = 0; i &lt; paths.length; i++)</diff>
      <filename>test/unit/src/org/nbgit/junit/RepositoryTestCase.java</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>fdf8057e713f2b1b7fa399eba7d65c19c23737fc</id>
    </parent>
  </parents>
  <author>
    <name>Jonas Fonseca</name>
    <email>fonseca@diku.dk</email>
  </author>
  <url>http://github.com/myabc/nbgit/commit/865b2b0b9efcf45acf0781ba5ff3f8d9cb5a9016</url>
  <id>865b2b0b9efcf45acf0781ba5ff3f8d9cb5a9016</id>
  <committed-date>2009-09-13T18:06:51-07:00</committed-date>
  <authored-date>2009-09-11T05:02:33-07:00</authored-date>
  <message>Issue 20: Introduce CommitBuilder utility for creating commits

It is currently just a facade for GitCommit.doCommit(). To ease testing
the PersonIdent is now passed as an argument.

Signed-off-by: Jonas Fonseca &lt;fonseca@diku.dk&gt;</message>
  <tree>69d8eeaad9dcf81ef83bdb0af643842360237687</tree>
  <committer>
    <name>Jonas Fonseca</name>
    <email>fonseca@diku.dk</email>
  </committer>
</commit>
