diff options
author | Stefan Lay <stefan.lay@sap.com> | 2010-07-28 11:00:22 +0200 |
---|---|---|
committer | Stefan Lay <stefan.lay@sap.com> | 2010-08-04 13:53:08 +0200 |
commit | ab57af08e83d5d042bb954ad280389b34ca36d0e (patch) | |
tree | 78416d38f5e7efb205d810352909740ed7442e5e /org.eclipse.jgit.test | |
parent | fa7d9ac5b86b6b84997cbaafe9a4e80bf76df430 (diff) | |
download | jgit-ab57af08e83d5d042bb954ad280389b34ca36d0e.tar.gz jgit-ab57af08e83d5d042bb954ad280389b34ca36d0e.zip |
Add "all" parameter to the commit Command
When the add parameter is set all modified and deleted files
are staged prior to commit.
Change-Id: Id23bc25730fcdd151386cd495a7cdc0935cbc00b
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitAndLogCommandTests.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitAndLogCommandTests.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitAndLogCommandTests.java index a62045dc9f..cf30039ab7 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitAndLogCommandTests.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitAndLogCommandTests.java @@ -45,6 +45,7 @@ package org.eclipse.jgit.api; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.io.PrintWriter; import org.eclipse.jgit.errors.UnmergedPathException; import org.eclipse.jgit.lib.Constants; @@ -53,6 +54,7 @@ import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.RefUpdate; import org.eclipse.jgit.lib.RepositoryTestCase; import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.treewalk.TreeWalk; public class CommitAndLogCommandTests extends RepositoryTestCase { public void testSomeCommits() throws NoHeadException, NoMessageException, @@ -151,4 +153,36 @@ public class CommitAndLogCommandTests extends RepositoryTestCase { assertEquals(parents[1], second); assertTrue(parents.length==2); } + + public void testAddUnstagedChanges() throws IOException, NoHeadException, + NoMessageException, ConcurrentRefUpdateException, + JGitInternalException, WrongRepositoryStateException, + NoFilepatternException { + File file = new File(db.getWorkTree(), "a.txt"); + file.createNewFile(); + PrintWriter writer = new PrintWriter(file); + writer.print("content"); + writer.close(); + + Git git = new Git(db); + git.add().addFilepattern("a.txt").call(); + RevCommit commit = git.commit().setMessage("initial commit").call(); + TreeWalk tw = TreeWalk.forPath(db, "a.txt", commit.getTree()); + assertEquals("6b584e8ece562ebffc15d38808cd6b98fc3d97ea", + tw.getObjectId(0).getName()); + + writer = new PrintWriter(file); + writer.print("content2"); + writer.close(); + commit = git.commit().setMessage("second commit").call(); + tw = TreeWalk.forPath(db, "a.txt", commit.getTree()); + assertEquals("6b584e8ece562ebffc15d38808cd6b98fc3d97ea", + tw.getObjectId(0).getName()); + + commit = git.commit().setAll(true).setMessage("third commit") + .setAll(true).call(); + tw = TreeWalk.forPath(db, "a.txt", commit.getTree()); + assertEquals("db00fd65b218578127ea51f3dffac701f12f486a", + tw.getObjectId(0).getName()); + } } |