{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by sarbian"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 23,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a6d651959d203e0b4103ecf51746488ca88a44a2",
            "branch" : [
              {
                "SHA1" : "a6d651959d203e0b4103ecf51746488ca88a44a2",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a6d651959d203e0b4103ecf51746488ca88a44a2",
            "branch" : [
              {
                "SHA1" : "a6d651959d203e0b4103ecf51746488ca88a44a2",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "a6d651959d203e0b4103ecf51746488ca88a44a2",
        "branch" : [
          {
            "SHA1" : "a6d651959d203e0b4103ecf51746488ca88a44a2",
            "name" : "refs/remotes/origin/dev"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/sarbian/ModuleManager.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#23",
  "duration" : 3570,
  "estimatedDuration" : 6498,
  "executor" : None,
  "fullDisplayName" : "ModuleManager-Dev #23",
  "id" : "23",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 23,
  "queueId" : 111,
  "result" : "FAILURE",
  "timestamp" : 1507964973984,
  "url" : "https://ksp.sarbian.com/jenkins/user/momtchil/my-views/view/all/job/ModuleManager-Dev/23/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "9cf00111aa40a9ae6a39ff6714613c5d68d200a5",
        "timestamp" : 1506826253000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Accidentally removed\u000a",
        "date" : "2017-09-30 19:50:53 -0700",
        "id" : "9cf00111aa40a9ae6a39ff6714613c5d68d200a5",
        "msg" : "Accidentally removed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchExtractor.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManagerTests/PatchExtractorTest.cs"
        ],
        "commitId" : "fde3fbc3782c23cbc0527e4128c49d08eb2cfbba",
        "timestamp" : 1506883658000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Move tracking number of patches\u000afrom mod list to sorting patches\u000a",
        "date" : "2017-10-01 11:47:38 -0700",
        "id" : "fde3fbc3782c23cbc0527e4128c49d08eb2cfbba",
        "msg" : "Move tracking number of patches",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/IPatchProgress.cs",
          "ModuleManager/PatchProgress.cs"
        ],
        "commitId" : "f09622f190f8bb289df5229f6c45cf1a71885838",
        "timestamp" : 1506883815000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Put progress counts in their own object\u000aAllows the same counts to be used with a different logger.  Also remove \u000aunused setter for NeedsUnsatisfiedRootCount\u000a",
        "date" : "2017-10-01 11:50:15 -0700",
        "id" : "f09622f190f8bb289df5229f6c45cf1a71885838",
        "msg" : "Put progress counts in their own object",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/IPatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchProgress.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "ce43104059244df30ebad90bfd928ab08ec4bd7d",
        "timestamp" : 1506890154000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Move exception handling out of FIleSHA\u000aCallers should be aware of exceptions anyway\u000a",
        "date" : "2017-10-01 13:35:54 -0700",
        "id" : "ce43104059244df30ebad90bfd928ab08ec4bd7d",
        "msg" : "Move exception handling out of FIleSHA",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Utils/FileUtils.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/ModuleManager.csproj"
        ],
        "commitId" : "2dc9f9121be35ea1c30ada09c0dc0456cc7b0c1a",
        "timestamp" : 1506892495000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extract FileSHA\u000aInteracts with the file system so difficult to test unfortunately\u000a",
        "date" : "2017-10-01 14:14:55 -0700",
        "id" : "2dc9f9121be35ea1c30ada09c0dc0456cc7b0c1a",
        "msg" : "Extract FileSHA",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Utils/FileUtils.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "6f2693924bbd2b85b5b4ea598a8437f0c9f2a49c",
        "timestamp" : 1506894329000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Fix unassigned variable\u000a",
        "date" : "2017-10-01 14:45:29 -0700",
        "id" : "6f2693924bbd2b85b5b4ea598a8437f0c9f2a49c",
        "msg" : "Fix unassigned variable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "f3352db53fdd4685c73706845d0fea5e435330ff",
        "timestamp" : 1507083585000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make this extractable\u000a",
        "date" : "2017-10-03 19:19:45 -0700",
        "id" : "f3352db53fdd4685c73706845d0fea5e435330ff",
        "msg" : "Make this extractable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/ModListGenerator.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/ModuleManager.csproj"
        ],
        "commitId" : "e40426a633c90762f8fb034d561aefb388f57634",
        "timestamp" : 1507085540000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extract GenerateModList\u000aUnfortunately interacts with AssemblyLoader and the file system so not \u000areally testable\u000a",
        "date" : "2017-10-03 19:52:20 -0700",
        "id" : "e40426a633c90762f8fb034d561aefb388f57634",
        "msg" : "Extract GenerateModList",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/ModListGenerator.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/Collections/MessageQueueTest.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/Collections/MessageQueue.cs"
        ],
        "commitId" : "7a2e18da8eb06d4215e4d034984e98ca0e770af8",
        "timestamp" : 1507085733000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Add MessageQueue\u000a",
        "date" : "2017-10-03 19:55:33 -0700",
        "id" : "7a2e18da8eb06d4215e4d034984e98ca0e770af8",
        "msg" : "Add MessageQueue",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Collections/MessageQueueTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Collections/MessageQueue.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Logging/NormalMessage.cs",
          "ModuleManager/Logging/ILogMessage.cs",
          "ModuleManagerTests/Logging/NormalMessageTest.cs",
          "ModuleManager/Logging/QueueLogger.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/Logging/ExceptionMessage.cs",
          "ModuleManagerTests/Logging/ExceptionMessageTest.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManagerTests/Logging/QueueLoggerTest.cs"
        ],
        "commitId" : "7d0c5878014b0e000808f8cb7b04d5665e280aa9",
        "timestamp" : 1507085739000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Add QueueLogger and supporting classes\u000aAllows logging to a queue\u000a",
        "date" : "2017-10-03 19:55:39 -0700",
        "id" : "7d0c5878014b0e000808f8cb7b04d5665e280aa9",
        "msg" : "Add QueueLogger and supporting classes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Logging/ILogMessage.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Logging/NormalMessageTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Logging/QueueLogger.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Logging/ExceptionMessageTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Logging/NormalMessage.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Logging/QueueLoggerTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Logging/ExceptionMessage.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/PatchProgressTest.cs",
          "ModuleManager/PatchProgress.cs"
        ],
        "commitId" : "d1975dbdd1bc2c61488644dd8e53ab92c557befd",
        "timestamp" : 1507170155000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Don't keep track of non-root needs unsatisfied\u000aIsn't used anywhere\u000a",
        "date" : "2017-10-04 19:22:35 -0700",
        "id" : "d1975dbdd1bc2c61488644dd8e53ab92c557befd",
        "msg" : "Don't keep track of non-root needs unsatisfied",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchProgress.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/FatalErrorHandler.cs"
        ],
        "commitId" : "78d46359c18677bf34a7cbe0f1b510e2c2b9dc1e",
        "timestamp" : 1507181240000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Add FatalErrorHandler\u000aAllows us to display a message to the user and quit when an \u000aunrecoverable error occurs.\u000aCan't really be tested unfortunately.\u000a",
        "date" : "2017-10-04 22:27:20 -0700",
        "id" : "78d46359c18677bf34a7cbe0f1b510e2c2b9dc1e",
        "msg" : "Add FatalErrorHandler",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/FatalErrorHandler.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Threading/BackgroundTaskTest.cs",
          "ModuleManager/Threading/BackgroundTask.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/Threading/TaskStatusTest.cs",
          "ModuleManager/Threading/ITaskStatus.cs",
          "ModuleManager/Threading/TaskStatus.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/Threading/TaskStatusWrapper.cs"
        ],
        "commitId" : "172e2f3c845c42f1a4b4fb14182314891b00939a",
        "timestamp" : 1507181921000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Add background task support\u000aAllows a background task to be run and monitored, including if it exits \u000adue to an exception\u000a",
        "date" : "2017-10-04 22:38:41 -0700",
        "id" : "172e2f3c845c42f1a4b4fb14182314891b00939a",
        "msg" : "Add background task support",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/Threading/ITaskStatus.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Threading/BackgroundTaskTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Threading/TaskStatus.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Threading/BackgroundTask.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Threading/TaskStatusTest.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Threading/TaskStatusWrapper.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/IPatchProgress.cs",
          "ModuleManagerTests/PatchProgressTest.cs",
          "ModuleManager/Progress/IPatchProgress.cs",
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/Progress/PatchProgress.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/PatchProgress.cs"
        ],
        "commitId" : "7f9088719a5d478f5b5119fe7123ad06ba17a340",
        "timestamp" : 1507182502000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Begin creating Progress namespace\u000a",
        "date" : "2017-10-04 22:48:22 -0700",
        "id" : "7f9088719a5d478f5b5119fe7123ad06ba17a340",
        "msg" : "Begin creating Progress namespace",
        "paths" : [
          {
            "editType" : "add",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Progress/IPatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "delete",
            "file" : "ModuleManager/PatchProgress.cs"
          },
          {
            "editType" : "delete",
            "file" : "ModuleManager/IPatchProgress.cs"
          },
          {
            "editType" : "delete",
            "file" : "ModuleManagerTests/PatchProgressTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/ModListGenerator.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManagerTests/PatchExtractorTest.cs",
          "ModuleManager/NeedsChecker.cs",
          "ModuleManager/PatchExtractor.cs",
          "ModuleManager/Progress/IPatchProgress.cs",
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManagerTests/NeedsCheckerTest.cs",
          "ModuleManager/Progress/PatchProgress.cs",
          "ModuleManager/PatchContext.cs"
        ],
        "commitId" : "b0f72c293f1ae36994c73c628eca346906ba59b5",
        "timestamp" : 1507182930000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Finish creating Progress namespace\u000a",
        "date" : "2017-10-04 22:55:30 -0700",
        "id" : "b0f72c293f1ae36994c73c628eca346906ba59b5",
        "msg" : "Finish creating Progress namespace",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/NeedsChecker.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchExtractorTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchContext.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/IPatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModListGenerator.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchExtractor.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NeedsCheckerTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "3dbfbb1ad344efa8326def114cea916d685aefc0",
        "timestamp" : 1507182954000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Unnecessary directives\u000a",
        "date" : "2017-10-04 22:55:54 -0700",
        "id" : "3dbfbb1ad344efa8326def114cea916d685aefc0",
        "msg" : "Unnecessary directives",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/NeedsCheckerTest.cs"
        ],
        "commitId" : "92ae91f6a8fef397d17f658e67538bc060a50d23",
        "timestamp" : 1507184003000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Add needs test for and/or and capitalization\u000a",
        "date" : "2017-10-04 23:13:23 -0700",
        "id" : "92ae91f6a8fef397d17f658e67538bc060a50d23",
        "msg" : "Add needs test for and/or and capitalization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NeedsCheckerTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Utils/CounterTest.cs",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManager/Progress/ProgressCounter.cs",
          "ModuleManager/Progress/IPatchProgress.cs",
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManager/Utils/Counter.cs",
          "ModuleManager/Progress/PatchProgress.cs",
          "ModuleManager/ModuleManager.csproj"
        ],
        "commitId" : "6596b47e64677ee615718e6194d85e7ee6787659",
        "timestamp" : 1507186313000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Separate out progress counter\u000aMake it so that all the values can be incremented but not otherwise \u000amessed with.\u000aAllow a new progress tracker to be initialized that shares a counter \u000awith another but uses a different logger\u000a",
        "date" : "2017-10-04 23:51:53 -0700",
        "id" : "6596b47e64677ee615718e6194d85e7ee6787659",
        "msg" : "Separate out progress counter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/IPatchProgress.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/Utils/CounterTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Utils/Counter.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/Progress/ProgressCounter.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Utils/CounterTest.cs",
          "ModuleManager/Utils/Counter.cs"
        ],
        "commitId" : "9a05e1b8902043f474c6d8bec4ed88da10ecf328",
        "timestamp" : 1507187146000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Ensure Counter behaves like an int\u000a",
        "date" : "2017-10-05 00:05:46 -0700",
        "id" : "9a05e1b8902043f474c6d8bec4ed88da10ecf328",
        "msg" : "Ensure Counter behaves like an int",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Utils/CounterTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Utils/Counter.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Utils/Counter.cs"
        ],
        "commitId" : "97368004915876f14236207ea72b490ed85c86e7",
        "timestamp" : 1507187157000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "More unnecessary using\u000a",
        "date" : "2017-10-05 00:05:57 -0700",
        "id" : "97368004915876f14236207ea72b490ed85c86e7",
        "msg" : "More unnecessary using",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/Utils/Counter.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/NeedsCheckerTest.cs"
        ],
        "commitId" : "a1af72527f8c6356509a9e12cfecea7c76a86570",
        "timestamp" : 1507341464000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Add test for ! (not) in :NEEDS\u000a",
        "date" : "2017-10-06 18:57:44 -0700",
        "id" : "a1af72527f8c6356509a9e12cfecea7c76a86570",
        "msg" : "Add test for ! (not) in :NEEDS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/NeedsCheckerTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/Command.cs",
          "ModuleManager/Progress/PatchProgress.cs",
          "ModuleManager/CommandParser.cs"
        ],
        "commitId" : "3a19ff8e6698a8f15660cc8cb2edacd3cb2fcf70",
        "timestamp" : 1507874242000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "More unnecessary using directives\u000a",
        "date" : "2017-10-12 22:57:22 -0700",
        "id" : "3a19ff8e6698a8f15660cc8cb2edacd3cb2fcf70",
        "msg" : "More unnecessary using directives",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/CommandParser.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Command.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/ModuleManagerTests.csproj",
          "ModuleManager/MMPatchLoader.cs",
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/ModuleManager.csproj",
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "e9c341a3e1fcfa5061a441bc9c1455acd60bf275",
        "timestamp" : 1507874639000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Extract application of patches to its own thread\u000aAllows it to not be bound by logging which can be slow\u000a",
        "date" : "2017-10-12 23:03:59 -0700",
        "id" : "e9c341a3e1fcfa5061a441bc9c1455acd60bf275",
        "msg" : "Extract application of patches to its own thread",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          },
          {
            "editType" : "add",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/ModuleManagerTests.csproj"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/ModuleManager.csproj"
          },
          {
            "editType" : "add",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/Progress/PatchProgressTest.cs",
          "ModuleManager/Progress/PatchProgress.cs"
        ],
        "commitId" : "b0e02e098a73aa19b1ef214f75aaaec2790d33ce",
        "timestamp" : 1507875363000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Test and fix PatchProgress.ProgressFraction\u000aPatches are now only counted after needs are checked, so this shouldn't \u000aconsider needs unsatisfied nodes\u000a",
        "date" : "2017-10-12 23:16:03 -0700",
        "id" : "b0e02e098a73aa19b1ef214f75aaaec2790d33ce",
        "msg" : "Test and fix PatchProgress.ProgressFraction",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/Progress/PatchProgress.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/Progress/PatchProgressTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "ba24af38d82bae9f5ed17dbf5115a7bed26441a8",
        "timestamp" : 1507943655000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Tweak\u000a",
        "date" : "2017-10-13 18:14:15 -0700",
        "id" : "ba24af38d82bae9f5ed17dbf5115a7bed26441a8",
        "msg" : "Tweak",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
      "fullName" : "joeydwong"
    }
  ]
}