@Override protected RevCommit read(ObjectId id, BufferedReader reader, TYPE type) throws IOException { Preconditions.checkArgument(TYPE.COMMIT.equals(type), "Wrong type: %s", type.name()); String tree = parseLine(requireLine(reader), "tree"); List<String> parents = newArrayList(Splitter.on(' ').omitEmptyStrings() .split(parseLine(requireLine(reader), "parents"))); RevPerson author = parsePerson(requireLine(reader), "author"); RevPerson committer = parsePerson(requireLine(reader), "committer"); String message = parseMessage(reader); CommitBuilder builder = new CommitBuilder(); builder.setAuthor(author.getName().orNull()); builder.setAuthorEmail(author.getEmail().orNull()); builder.setAuthorTimestamp(author.getTimestamp()); builder.setAuthorTimeZoneOffset(author.getTimeZoneOffset()); builder.setCommitter(committer.getName().orNull()); builder.setCommitterEmail(committer.getEmail().orNull()); builder.setCommitterTimestamp(committer.getTimestamp()); builder.setCommitterTimeZoneOffset(committer.getTimeZoneOffset()); builder.setMessage(message); List<ObjectId> parentIds = Lists.transform(parents, (str) -> ObjectId.valueOf(str)); builder.setParentIds(parentIds); builder.setTreeId(ObjectId.valueOf(tree)); RevCommit commit = builder.build(); return commit; }
@Test public void testCommitSerializationNoAuthor() throws IOException { testCommit.setAuthor(null); testCommit.setAuthorEmail(null); RevCommit commit = testCommit.build(); testCommit(commit); }
builder.setAuthorTimestamp(timestamp); builder.setAuthor(authorName); builder.setAuthorEmail(authorEmail); if (commitMessage != null) { builder.setMessage(commitMessage);
/** * @param copy the commit to initialize this builder properties with */ public CommitBuilder(RevCommit copy) { setAuthor(copy.getAuthor().getName().orNull()); setAuthorEmail(copy.getAuthor().getEmail().orNull()); setCommitter(copy.getCommitter().getName().orNull()); setCommitterEmail(copy.getCommitter().getEmail().orNull()); setMessage(copy.getMessage()); setParentIds(copy.getParentIds()); setTreeId(copy.getTreeId()); setAuthorTimestamp(copy.getAuthor().getTimestamp()); setCommitterTimestamp(copy.getCommitter().getTimestamp()); setAuthorTimeZoneOffset(copy.getAuthor().getTimeZoneOffset()); setCommitterTimeZoneOffset(copy.getCommitter().getTimeZoneOffset()); }
public static List<RevCommit> createCommits(final int numCommits, @Nullable Platform platform) { LinkedList<RevCommit> commits = new LinkedList<>(); // much faster way of creating several fake commits than running CommitOp N times CommitBuilder builder = platform == null ? new CommitBuilder() : new CommitBuilder(platform); long timeStamp = System.currentTimeMillis(); builder.setAuthor("gabe").setAuthorEmail("gabe@example.com").setCommitter("me") .setCommitterEmail("me@too.com").setCommitterTimestamp(timeStamp) .setCommitterTimeZoneOffset(-1).setAuthorTimestamp(timeStamp) .setAuthorTimeZoneOffset(-3).setTreeId(RevTree.EMPTY_TREE_ID); ObjectId parent = null; for (int i = 1; i <= numCommits; i++) { ++timeStamp; builder.setAuthorTimestamp(timeStamp).setCommitterTimestamp(timeStamp); List<ObjectId> parents = parent == null ? null : ImmutableList.of(parent); RevCommit commit = builder.setParentIds(parents).setMessage("commit " + i).build(); commits.addFirst(commit); parent = commit.getId(); } return commits; } }
builder.setTreeId(newRoot.getId()); builder.setAuthor(authorName.orNull()); builder.setAuthorEmail(authorEmail.orNull()); builder.setMessage(commitMessage .or("Reverted changes made to " + featurePath + " at " + newCommitId.toString()));
private CommitBuilder testCommit(ObjectId treeId, String author, String authorEmail, long authorTimestamp, String committer, String committerEmail, long committerTimestamp, String message, ObjectId... parentIds) { CommitBuilder b = new CommitBuilder(); b.setTreeId(treeId); b.setAuthor(author); b.setAuthorEmail(authorEmail); b.setCommitter(committer); b.setCommitterEmail(committerEmail); b.setMessage(message); b.setAuthorTimestamp(authorTimestamp); b.setCommitterTimestamp(committerTimestamp); if (parentIds != null) { b.setParentIds(Lists.newArrayList(parentIds)); } return b; }
CommitBuilder cb = new CommitBuilder(); cb.setAuthor(author); cb.setAuthorEmail(authorEmail); cb.setCommitter(committer); cb.setCommitterEmail(committerEmail);
@Test public void testNoAuthorTimeStamp() throws Exception { CommitBuilder b = new CommitBuilder(); b.setAuthor("groldan"); b.setAuthorEmail("groldan@boundlessgeo.com"); b.setCommitter("jdeolive"); b.setCommitterEmail("jdeolive@boundlessgeo.com"); b.setCommitterTimestamp(1000); b.setMessage("cool this works"); assertEquals(1000, b.getAuthorTimestamp()); }
@Test public void testPassingNullToSetParentIds() throws Exception { CommitBuilder b = new CommitBuilder(); b.setAuthor("groldan"); b.setAuthorEmail("groldan@boundlessgeo.com"); b.setCommitter("jdeolive"); b.setCommitterEmail("jdeolive@boundlessgeo.com"); b.setMessage("cool this works"); b.setAuthorTimestamp(1000); ObjectId treeId = RevObjectTestSupport.hashString("fake tree content"); b.setTreeId(treeId); b.setParentIds(null); assertEquals(ImmutableList.of(), b.getParentIds()); }
b.setAuthorEmail("groldan@boundlessgeo.com"); b.setCommitter("jdeolive"); b.setCommitterEmail("jdeolive@boundlessgeo.com"); b.setAuthorEmail(null); b.setCommitterTimestamp(-1000); b.setCommitterTimeZoneOffset(-5);
@Test public void testNoMessage() throws Exception { CommitBuilder b = new CommitBuilder(); b.setAuthor("groldan"); b.setAuthorEmail("groldan@boundlessgeo.com"); b.setCommitter("jdeolive"); b.setCommitterEmail("jdeolive@boundlessgeo.com"); b.setMessage(null); b.setAuthorTimestamp(1000); ObjectId treeId = RevObjectTestSupport.hashString("fake tree content"); b.setTreeId(treeId); ObjectId parentId1 = RevObjectTestSupport.hashString("fake parent content 1"); ObjectId parentId2 = RevObjectTestSupport.hashString("fake parent content 2"); List<ObjectId> parentIds = ImmutableList.of(parentId1, parentId2); b.setParentIds(parentIds); assertEquals(null, b.getMessage()); RevCommit commit2 = b.build(); assertEquals("", commit2.getMessage()); }
private void createCommit(RevCommit commit) { // write new tree ObjectId newTreeId = command(WriteTree2.class).call(); long timestamp = platform().currentTimeMillis(); String committerName = resolveCommitter(); String committerEmail = resolveCommitterEmail(); // Create new commit CommitBuilder builder = new CommitBuilder(); builder.setParentIds(Arrays.asList(revertHead)); builder.setTreeId(newTreeId); builder.setCommitterTimestamp(timestamp); builder.setMessage( "Revert '" + commit.getMessage() + "'\nThis reverts " + commit.getId().toString()); builder.setCommitter(committerName); builder.setCommitterEmail(committerEmail); builder.setAuthor(committerName); builder.setAuthorEmail(committerEmail); RevCommit newCommit = builder.build(); objectDatabase().put(newCommit); revertHead = newCommit.getId(); command(UpdateRef.class).setName(currentBranch).setNewValue(revertHead).call(); command(UpdateSymRef.class).setName(Ref.HEAD).setNewValue(currentBranch).call(); workingTree().updateWorkHead(newTreeId); stagingArea().updateStageHead(newTreeId); }
builder.setAuthor(author); String authorEmail = "groldan@boundlessgeo.com"; builder.setAuthorEmail(authorEmail); builder.setAuthorTimestamp(currentTime); builder.setAuthorTimeZoneOffset(timeZoneOffset);
public void testBuildFull() throws Exception { CommitBuilder b = new CommitBuilder(); b.setAuthor("groldan"); b.setAuthorEmail("groldan@boundlessgeo.com"); b.setCommitter("jdeolive"); b.setCommitterEmail("jdeolive@boundlessgeo.com");
b.setAuthorEmail("groldan@boundlessgeo.com"); b.setCommitter("jdeolive"); b.setCommitterEmail("jdeolive@boundlessgeo.com");