Skip to content
Snippets Groups Projects
Commit 3fb10635 authored by Jack MacLauchlan CS2015's avatar Jack MacLauchlan CS2015
Browse files

update works properly

parent bf8b0f2d
No related branches found
No related tags found
1 merge request!2Commit tree
problems learning how to build tree
line endings - possibly not the issue
index not updating
how should push and merge work
empty index
when conflict in comments warn user that someone doing something bad
edit comments
......
......@@ -54,7 +54,7 @@ public class CommandUpdate implements Command {
}
if (commitMessage != null) {
try {
repo.writeIssue(issue, commitMessage);
repo.updateIssues(issue, commitMessage);
} catch (IOException e) {
e.printStackTrace();
}
......
......@@ -7,18 +7,14 @@ import org.eclipse.jgit.api.MergeCommand;
import org.eclipse.jgit.api.MergeResult;
import org.eclipse.jgit.api.ResetCommand;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.dircache.DirCache;
import org.eclipse.jgit.lib.*;
import org.eclipse.jgit.merge.MergeStrategy;
import org.eclipse.jgit.merge.Merger;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevTree;
import org.eclipse.jgit.revwalk.RevWalk;
import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
import org.eclipse.jgit.transport.PushResult;
import org.eclipse.jgit.transport.RefSpec;
import org.eclipse.jgit.treewalk.AbstractTreeIterator;
import org.eclipse.jgit.treewalk.TreeWalk;
import java.awt.*;
import java.io.File;
......@@ -199,7 +195,6 @@ public class IssueRepo {
}
}
public void writeIssue(Issue issue, String commitMessage) throws IOException {
RevCommit currentCommit = getCurrentCommit();
......@@ -220,6 +215,27 @@ public class IssueRepo {
}
public void updateIssues(Issue issue, String commitMessage) throws IOException {
RevCommit currentCommit = getCurrentCommit();
IssueTreeBuilder issueWriter = new IssueTreeBuilder(repository);
issueWriter.buildIssueTree(issue);
List<Issue> sortedIssues = getIssues();
sortedIssues.sort(Comparator.comparing(Issue::getOriginalHash));
int i = sortedIssues.indexOf(issue);
sortedIssues.remove(i);
sortedIssues.add(i, issue);
TreeFormatter repoTreeFormatter = new TreeFormatter();
getTree(sortedIssues, repoTreeFormatter, issueWriter);
ObjectId repoTree = oi.insert(Constants.OBJ_TREE, repoTreeFormatter.toByteArray());
commit(commitMessage, repoTree, currentCommit);
}
public void deleteIssue(String hash) throws IOException {
RevCommit currentCommit = getCurrentCommit();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment