}
+ public static string previewMerges(string ticket_id)
+ {
+ var ret = "";
+ foreach(var repo in GitRepo.singleton().cache.values) {
+ if (repo.activeTicket == null || repo.activeTicket.id != ticket_id) {
+ continue;
+ }
+ ret += repo.previewMerge() + "\n\n";
+
+ }
+ return ret;
+
+ }
+
+
+
public string previewMerge()
{
try {
var lines = this.git({"log", "master...", "--pretty=format:\"%H %P\"" }).split("\n");;
var head = this.git({"log", "-1", "--pretty=format:\"%H %P\"" });
- var last = lines[lines.length-1];
var start = head.split(" ")[0];
- var end = last.split(" ")[1];
+ var end = "";
+ for (var i = 0; i < lines.length; i++) {
+ var cols = lines[i].split(" ");
+ if (cols.length > 2) {
+ end = cols[0];
+ break;
+ }
+ }
+ if (end == "") {
+ var last = lines[lines.length-1];
+ end = last.split(" ")[1];
+ }
+
return this.git({ "diff" , start+".."+end, "--no-color" });
} catch(Error ee) {
GitMonitor.gitmonitor.pauseError(ee.message);