{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user sarbian",
          "userId" : "sarbian",
          "userName" : "sarbian"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 24,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9322308c8044cdd27f366411d7eec52fa9f88a9a",
            "branch" : [
              {
                "SHA1" : "9322308c8044cdd27f366411d7eec52fa9f88a9a",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9322308c8044cdd27f366411d7eec52fa9f88a9a",
            "branch" : [
              {
                "SHA1" : "9322308c8044cdd27f366411d7eec52fa9f88a9a",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "9322308c8044cdd27f366411d7eec52fa9f88a9a",
        "branch" : [
          {
            "SHA1" : "9322308c8044cdd27f366411d7eec52fa9f88a9a",
            "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" : "#24",
  "duration" : 7561,
  "estimatedDuration" : 6498,
  "executor" : None,
  "fullDisplayName" : "ModuleManager-Dev #24",
  "id" : "24",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 24,
  "queueId" : 5,
  "result" : "FAILURE",
  "timestamp" : 1508796097180,
  "url" : "https://ksp.sarbian.com/jenkins/user/mrev1995/my-views/view/all/job/ModuleManager-Dev/24/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "5fe79fd6b901eed0768ec3452ab65c97389b2971",
        "timestamp" : 1507966210000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Only convert to array once per pass\u000aThis is expensive\u000a",
        "date" : "2017-10-14 00:30:10 -0700",
        "id" : "5fe79fd6b901eed0768ec3452ab65c97389b2971",
        "msg" : "Only convert to array once per pass",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "20e619287f1e8637476ada51f3a2470200b9b09b",
        "timestamp" : 1507966210000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Make node matching its own method\u000aSaves a level of indentation\u000a",
        "date" : "2017-10-14 00:30:10 -0700",
        "id" : "20e619287f1e8637476ada51f3a2470200b9b09b",
        "msg" : "Make node matching its own method",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "244af1ac93d9c32a017666ff0e59e88d01c75449",
        "timestamp" : 1507966210000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Loop only applies to edit patches\u000aSaves another indentation level.  Also remove MM_PATCH_LOOP {} after \u000adone\u000a",
        "date" : "2017-10-14 00:30:10 -0700",
        "id" : "244af1ac93d9c32a017666ff0e59e88d01c75449",
        "msg" : "Loop only applies to edit patches",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManagerTests/PatchApplierTest.cs",
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "cdeb5f76dbf574eb5d310c71ea5cc605f7077508",
        "timestamp" : 1507966210000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Don't convert to an array at all\u000aIt's not necessary.  Also don't use switch - makes things cleaner.  It's \u000aonly 3 cases anyway\u000a",
        "date" : "2017-10-14 00:30:10 -0700",
        "id" : "cdeb5f76dbf574eb5d310c71ea5cc605f7077508",
        "msg" : "Don't convert to an array at all",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          },
          {
            "editType" : "edit",
            "file" : "ModuleManagerTests/PatchApplierTest.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "30eeb6f3c1a6ba1525b762ef6583f362b84e64ab",
        "timestamp" : 1507966210000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Ensure that user gets updates during long passes\u000aThe patcher can potentially generate log messages faster than the main \u000athread can log them, causing frames that are noticeably long with no \u000aupdates.  This ensures that yields still happen then.\u000aVerified that this does not meaningfully affect performance.  Previous \u000atests suggest that the time wasted by waiting until the next frame is \u000arelatively small.\u000a",
        "date" : "2017-10-14 00:30:10 -0700",
        "id" : "30eeb6f3c1a6ba1525b762ef6583f362b84e64ab",
        "msg" : "Ensure that user gets updates during long passes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "7e42de5a4e85a83ef6711885255a9f1b8b64aa0d",
        "timestamp" : 1508305795000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Without switch, i is valid here\u000a",
        "date" : "2017-10-17 22:49:55 -0700",
        "id" : "7e42de5a4e85a83ef6711885255a9f1b8b64aa0d",
        "msg" : "Without switch, i is valid here",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/MMPatchLoader.cs"
        ],
        "commitId" : "dc1a167b0874120c893962e097388bd8be2a84e3",
        "timestamp" : 1508306437000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Ensure time between each check of the log queue\u000aThis prevents the queue from being locked too often, slowing down the \u000apatching thread\u000a",
        "date" : "2017-10-17 23:00:37 -0700",
        "id" : "dc1a167b0874120c893962e097388bd8be2a84e3",
        "msg" : "Ensure time between each check of the log queue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/MMPatchLoader.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "ec5310bdfa4ebd10da8de9e675a2150d3beff098",
        "timestamp" : 1508306884000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Convert to an array initially\u000aApparently it saves a bit of time, and this won't be changed while \u000apatches run\u000a",
        "date" : "2017-10-17 23:08:04 -0700",
        "id" : "ec5310bdfa4ebd10da8de9e675a2150d3beff098",
        "msg" : "Convert to an array initially",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "7cc6c5130dc9fe86d6bed7158b1390be88fa5edf",
        "timestamp" : 1508307776000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Having an actual array here no longer necessary\u000a",
        "date" : "2017-10-17 23:22:56 -0700",
        "id" : "7cc6c5130dc9fe86d6bed7158b1390be88fa5edf",
        "msg" : "Having an actual array here no longer necessary",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "bd82d53b561931630a1c5ddda4491e56ab46e727",
        "timestamp" : 1508307795000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Apparently Linq slows things down\u000aI guess it matters at scale\u000a",
        "date" : "2017-10-17 23:23:15 -0700",
        "id" : "bd82d53b561931630a1c5ddda4491e56ab46e727",
        "msg" : "Apparently Linq slows things down",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "ce3893f9682c3dae5232491b3ee9f4f97a6e3b2a",
        "timestamp" : 1508310796000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Improve access of name a bit\u000aLooks like GetValue(\"name\") has a bit of overhead, instead we can check \u000aif the UrlConfig's type == name\u000a",
        "date" : "2017-10-18 00:13:16 -0700",
        "id" : "ce3893f9682c3dae5232491b3ee9f4f97a6e3b2a",
        "msg" : "Improve access of name a bit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "ModuleManager/PatchApplier.cs"
        ],
        "commitId" : "203ad88debd4cd772d754da569e35d0efd241943",
        "timestamp" : 1508312589000,
        "author" : {
          "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
          "fullName" : "joeydwong"
        },
        "authorEmail" : "joeydwong@gmail.com",
        "comment" : "Move loop out of loop\u000aThis is all a bit loopy\u000a",
        "date" : "2017-10-18 00:43:09 -0700",
        "id" : "203ad88debd4cd772d754da569e35d0efd241943",
        "msg" : "Move loop out of loop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "ModuleManager/PatchApplier.cs"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ksp.sarbian.com/jenkins/user/joeydwong",
      "fullName" : "joeydwong"
    }
  ]
}