 			}
 
 			newTree = result.value
-			git_object_free(newTree)
 		}
 
 		var diff: OpaquePointer? = nil

			}
		}

		defer { git_object_free(mergeDiff) }
		return .success(Diff(mergeDiff!))
	}


		}

		var mergeDiff: OpaquePointer? = nil
		defer { git_object_free(mergeDiff) }
		for parent in commit.parents {
			let error = self.diff(from: parent.oid, to: commit.oid) { (diff: Result<OpaquePointer, NSError>) -> NSError? in
				guard diff.error == nil else {
