|
|
@ -48,7 +48,9 @@ import static org.junit.Assert.assertNull; |
|
|
|
import static org.junit.Assert.assertTrue; |
|
|
|
import static org.junit.Assert.assertTrue; |
|
|
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
import java.io.File; |
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import java.util.TimeZone; |
|
|
|
|
|
|
|
|
|
|
|
import org.eclipse.jgit.api.errors.WrongRepositoryStateException; |
|
|
|
import org.eclipse.jgit.api.errors.WrongRepositoryStateException; |
|
|
|
import org.eclipse.jgit.diff.DiffEntry; |
|
|
|
import org.eclipse.jgit.diff.DiffEntry; |
|
|
@ -57,6 +59,7 @@ import org.eclipse.jgit.lib.ConfigConstants; |
|
|
|
import org.eclipse.jgit.lib.Constants; |
|
|
|
import org.eclipse.jgit.lib.Constants; |
|
|
|
import org.eclipse.jgit.lib.FileMode; |
|
|
|
import org.eclipse.jgit.lib.FileMode; |
|
|
|
import org.eclipse.jgit.lib.ObjectId; |
|
|
|
import org.eclipse.jgit.lib.ObjectId; |
|
|
|
|
|
|
|
import org.eclipse.jgit.lib.PersonIdent; |
|
|
|
import org.eclipse.jgit.lib.RefUpdate; |
|
|
|
import org.eclipse.jgit.lib.RefUpdate; |
|
|
|
import org.eclipse.jgit.lib.RefUpdate.Result; |
|
|
|
import org.eclipse.jgit.lib.RefUpdate.Result; |
|
|
|
import org.eclipse.jgit.lib.Repository; |
|
|
|
import org.eclipse.jgit.lib.Repository; |
|
|
@ -427,4 +430,45 @@ public class CommitCommandTest extends RepositoryTestCase { |
|
|
|
Git git = new Git(db); |
|
|
|
Git git = new Git(db); |
|
|
|
git.commit().setAmend(true).setMessage("initial commit").call(); |
|
|
|
git.commit().setAmend(true).setMessage("initial commit").call(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void commitAmendWithoutAuthorShouldSetOriginalAuthorAndAuthorTime() |
|
|
|
|
|
|
|
throws Exception { |
|
|
|
|
|
|
|
Git git = new Git(db); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
writeTrashFile("file1", "file1"); |
|
|
|
|
|
|
|
git.add().addFilepattern("file1").call(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final String authorName = "First Author"; |
|
|
|
|
|
|
|
final String authorEmail = "author@example.org"; |
|
|
|
|
|
|
|
final Date authorDate = new Date(1349621117000L); |
|
|
|
|
|
|
|
PersonIdent firstAuthor = new PersonIdent(authorName, authorEmail, |
|
|
|
|
|
|
|
authorDate, TimeZone.getTimeZone("UTC")); |
|
|
|
|
|
|
|
git.commit().setMessage("initial commit").setAuthor(firstAuthor).call(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RevCommit amended = git.commit().setAmend(true) |
|
|
|
|
|
|
|
.setMessage("amend commit").call(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PersonIdent amendedAuthor = amended.getAuthorIdent(); |
|
|
|
|
|
|
|
assertEquals(authorName, amendedAuthor.getName()); |
|
|
|
|
|
|
|
assertEquals(authorEmail, amendedAuthor.getEmailAddress()); |
|
|
|
|
|
|
|
assertEquals(authorDate.getTime(), amendedAuthor.getWhen().getTime()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
public void commitAmendWithAuthorShouldUseIt() throws Exception { |
|
|
|
|
|
|
|
Git git = new Git(db); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
writeTrashFile("file1", "file1"); |
|
|
|
|
|
|
|
git.add().addFilepattern("file1").call(); |
|
|
|
|
|
|
|
git.commit().setMessage("initial commit").call(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RevCommit amended = git.commit().setAmend(true) |
|
|
|
|
|
|
|
.setAuthor("New Author", "newauthor@example.org") |
|
|
|
|
|
|
|
.setMessage("amend commit").call(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PersonIdent amendedAuthor = amended.getAuthorIdent(); |
|
|
|
|
|
|
|
assertEquals("New Author", amendedAuthor.getName()); |
|
|
|
|
|
|
|
assertEquals("newauthor@example.org", amendedAuthor.getEmailAddress()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|