From cedeccf6f70b0a3829b0bcc02ea32d095e6c9713 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 01:18:19 -0400 Subject: [PATCH 01/13] [Lint] Remove trailing whitespace on empty lines --- SwiftGit2Tests/RepositorySpec.swift | 32 ++++++++++++++--------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/SwiftGit2Tests/RepositorySpec.swift b/SwiftGit2Tests/RepositorySpec.swift index d021f45..e0104a4 100644 --- a/SwiftGit2Tests/RepositorySpec.swift +++ b/SwiftGit2Tests/RepositorySpec.swift @@ -685,43 +685,43 @@ class RepositorySpec: QuickSpec { expect(commitMessages).to(equal(expectedMessages)) } } - + describe("Repository.add") { it("Should add the modification under a path") { let repo = Fixtures.simpleRepository let branch = repo.localBranch(named: "master").value! expect(repo.checkout(branch, strategy: CheckoutStrategy.None).error).to(beNil()) - + // make a change to README let readmeURL = repo.directoryURL!.appendingPathComponent("README.md") let readmeData = try! Data(contentsOf: readmeURL) defer { try! readmeData.write(to: readmeURL) } - + try! "different".data(using: .utf8)?.write(to: readmeURL) - + let status = repo.status() expect(status.value?.count).to(equal(1)) expect(status.value!.first!.status).to(equal(.workTreeModified)) - + expect(repo.add(path: "README.md").error).to(beNil()) - + let newStatus = repo.status() expect(newStatus.value?.count).to(equal(1)) expect(newStatus.value!.first!.status).to(equal(.indexModified)) } - + it("Should add an untracked file under a path") { let repo = Fixtures.simpleRepository let branch = repo.localBranch(named: "master").value! expect(repo.checkout(branch, strategy: CheckoutStrategy.None).error).to(beNil()) - + // make a change to README let untrackedURL = repo.directoryURL!.appendingPathComponent("untracked") try! "different".data(using: .utf8)?.write(to: untrackedURL) defer { try! FileManager.default.removeItem(at: untrackedURL) } - + expect(repo.add(path: ".").error).to(beNil()) - + let newStatus = repo.status() expect(newStatus.value?.count).to(equal(1)) expect(newStatus.value!.first!.status).to(equal(.indexNew)) @@ -733,13 +733,13 @@ class RepositorySpec: QuickSpec { let repo = Fixtures.simpleRepository let branch = repo.localBranch(named: "master").value! expect(repo.checkout(branch, strategy: CheckoutStrategy.None).error).to(beNil()) - + // make a change to README let untrackedURL = repo.directoryURL!.appendingPathComponent("untrackedtest") try! "different".data(using: .utf8)?.write(to: untrackedURL) - + expect(repo.add(path: ".").error).to(beNil()) - + let signature = Signature( name: "swiftgit2", email: "foobar@example.com", @@ -753,17 +753,17 @@ class RepositorySpec: QuickSpec { expect(repo.commits(in: updatedBranch).next()?.value?.committer).to(equal(signature)) expect(repo.commits(in: updatedBranch).next()?.value?.message).to(equal("\(message)\n")) expect(repo.commits(in: updatedBranch).next()?.value?.oid.description).to(equal("7d6b2d7492f29aee48022387f96dbfe996d435fe")) - + // should be clean now let newStatus = repo.status() expect(newStatus.value?.count).to(equal(0)) } } - + describe("Repository.status") { it("Should accurately report status for repositories with no status") { let expectedCount = 0 - + let repo = Fixtures.mantleRepository let branch = repo.localBranch(named: "master").value! expect(repo.checkout(branch, strategy: CheckoutStrategy.None).error).to(beNil()) From 9d2b5e5b8790114dcf384b98261a92092076c726 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 01:20:53 -0400 Subject: [PATCH 02/13] [Lint] Wrap long lines, ignoring function declarations --- .swiftlint.yml | 3 +++ SwiftGit2Tests/RepositorySpec.swift | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index b01278b..648671c 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -25,6 +25,9 @@ excluded: - Carthage - External +line_length: + ignores_function_declarations: true + trailing_comma: mandatory_comma: true diff --git a/SwiftGit2Tests/RepositorySpec.swift b/SwiftGit2Tests/RepositorySpec.swift index e0104a4..5f6e223 100644 --- a/SwiftGit2Tests/RepositorySpec.swift +++ b/SwiftGit2Tests/RepositorySpec.swift @@ -752,7 +752,8 @@ class RepositorySpec: QuickSpec { expect(repo.commits(in: updatedBranch).next()?.value?.author).to(equal(signature)) expect(repo.commits(in: updatedBranch).next()?.value?.committer).to(equal(signature)) expect(repo.commits(in: updatedBranch).next()?.value?.message).to(equal("\(message)\n")) - expect(repo.commits(in: updatedBranch).next()?.value?.oid.description).to(equal("7d6b2d7492f29aee48022387f96dbfe996d435fe")) + expect(repo.commits(in: updatedBranch).next()?.value?.oid.description) + .to(equal("7d6b2d7492f29aee48022387f96dbfe996d435fe")) // should be clean now let newStatus = repo.status() From 0c9fbe19ee898f8c55a16d09673fc52bf11c9845 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 01:24:01 -0400 Subject: [PATCH 03/13] [Lint] Remove unnecessary nested typealiases --- SwiftGit2/Repository.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index a368b2b..452a8f7 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -704,8 +704,6 @@ final public class Repository { // MARK: - Diffs public func diff(for commit: Commit) -> Result { - typealias Delta = Diff.Delta - guard !commit.parents.isEmpty else { // Initial commit in a repository return self.diff(from: nil, to: commit.oid) @@ -847,8 +845,7 @@ final public class Repository { } private func processDiffDeltas(_ diffResult: OpaquePointer) -> Result<[Diff.Delta], NSError> { - typealias Delta = Diff.Delta - var returnDict = [Delta]() + var returnDict = [Diff.Delta]() let count = git_diff_num_deltas(diffResult) From 6c27045ee86690b20f69ca67c02de2359c697436 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 01:44:32 -0400 Subject: [PATCH 04/13] [Lint] Align function parameters when wrapped over multiple lines --- .swiftlint.yml | 1 + SwiftGit2/Repository.swift | 36 ++++++++++++++--------------- SwiftGit2Tests/RepositorySpec.swift | 6 ++--- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index 648671c..cdc9159 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -20,6 +20,7 @@ opt_in_rules: - prohibited_super_call - redundant_nil_coalescing - switch_case_on_newline + - vertical_parameter_alignment_on_call excluded: - Carthage diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index 452a8f7..97024f2 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -763,14 +763,14 @@ final public class Repository { var diff: OpaquePointer? = nil let diffResult = git_diff_tree_to_tree(&diff, - self.pointer, - oldTree, - newTree, - nil) + self.pointer, + oldTree, + newTree, + nil) guard diffResult == GIT_OK.rawValue else { return transform(.failure(NSError(gitError: diffResult, - pointOfFailure: "git_diff_tree_to_tree"))) + pointOfFailure: "git_diff_tree_to_tree"))) } return transform(Result.success(diff!)) @@ -802,30 +802,30 @@ final public class Repository { return withGitObjects([oldTree!.oid, newTree!.oid], type: GIT_OBJ_TREE) { objects in var diff: OpaquePointer? = nil let diffResult = git_diff_tree_to_tree(&diff, - self.pointer, - objects[0], - objects[1], - nil) + self.pointer, + objects[0], + objects[1], + nil) return processTreeToTreeDiff(diffResult, diff: diff) } } else if let tree = oldTree { return withGitObject(tree.oid, type: GIT_OBJ_TREE, transform: { tree in var diff: OpaquePointer? = nil let diffResult = git_diff_tree_to_tree(&diff, - self.pointer, - tree, - nil, - nil) + self.pointer, + tree, + nil, + nil) return processTreeToTreeDiff(diffResult, diff: diff) }) } else if let tree = newTree { return withGitObject(tree.oid, type: GIT_OBJ_TREE, transform: { tree in var diff: OpaquePointer? = nil let diffResult = git_diff_tree_to_tree(&diff, - self.pointer, - nil, - tree, - nil) + self.pointer, + nil, + tree, + nil) return processTreeToTreeDiff(diffResult, diff: diff) }) } @@ -836,7 +836,7 @@ final public class Repository { private func processTreeToTreeDiff(_ diffResult: Int32, diff: OpaquePointer?) -> Result { guard diffResult == GIT_OK.rawValue else { return .failure(NSError(gitError: diffResult, - pointOfFailure: "git_diff_tree_to_tree")) + pointOfFailure: "git_diff_tree_to_tree")) } let diffObj = Diff(diff!) diff --git a/SwiftGit2Tests/RepositorySpec.swift b/SwiftGit2Tests/RepositorySpec.swift index 5f6e223..b70f3ff 100644 --- a/SwiftGit2Tests/RepositorySpec.swift +++ b/SwiftGit2Tests/RepositorySpec.swift @@ -151,9 +151,9 @@ class RepositorySpec: QuickSpec { let remoteRepoURL = URL(string: privateRepo) let localURL = self.temporaryURL(forPurpose: "private-remote-clone") let credentials = Credentials.sshMemory(username: gitUsername, - publicKey: publicKey, - privateKey: privateKey, - passphrase: passphrase) + publicKey: publicKey, + privateKey: privateKey, + passphrase: passphrase) let cloneResult = Repository.clone(from: remoteRepoURL!, to: localURL, credentials: credentials) From ce2443bb3b36d9cb399381d5a4f55a12862e60a7 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 01:47:23 -0400 Subject: [PATCH 05/13] [Lint] Use a case-less enum for a type used only to host static members --- .swiftlint.yml | 1 + SwiftGit2Tests/Fixtures/Fixtures.swift | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index cdc9159..4cb7970 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -10,6 +10,7 @@ opt_in_rules: - closure_end_indentation - closure_spacing - conditional_returns_on_newline + - convenience_type - empty_count - explicit_init - fatal_error_message diff --git a/SwiftGit2Tests/Fixtures/Fixtures.swift b/SwiftGit2Tests/Fixtures/Fixtures.swift index 95e0d85..bb1b0a6 100644 --- a/SwiftGit2Tests/Fixtures/Fixtures.swift +++ b/SwiftGit2Tests/Fixtures/Fixtures.swift @@ -15,7 +15,7 @@ final class Fixtures { // MARK: Lifecycle class var sharedInstance: Fixtures { - struct Singleton { + enum Singleton { static let instance = Fixtures() } return Singleton.instance From 9f3f9034eeedbb1903211904345c6440eb32cfd8 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 01:51:51 -0400 Subject: [PATCH 06/13] [Lint] Enforce consistent modifier order --- .swiftlint.yml | 1 + SwiftGit2/Repository.swift | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index 4cb7970..059e212 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -16,6 +16,7 @@ opt_in_rules: - fatal_error_message - first_where - implicitly_unwrapped_optional + - modifier_order - overridden_super_call - private_outlet - prohibited_super_call diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index 97024f2..edb95b2 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -95,7 +95,7 @@ private func cloneOptions(bare: Bool = false, localClone: Bool = false, fetchOpt } /// A git repository. -final public class Repository { +public final class Repository { // MARK: - Creating Repositories @@ -104,7 +104,7 @@ final public class Repository { /// URL - The URL of the repository. /// /// Returns a `Result` with a `Repository` or an error. - class public func create(at url: URL) -> Result { + public class func create(at url: URL) -> Result { var pointer: OpaquePointer? = nil let result = url.withUnsafeFileSystemRepresentation { git_repository_init(&pointer, $0, 0) @@ -123,7 +123,7 @@ final public class Repository { /// URL - The URL of the repository. /// /// Returns a `Result` with a `Repository` or an error. - class public func at(_ url: URL) -> Result { + public class func at(_ url: URL) -> Result { var pointer: OpaquePointer? = nil let result = url.withUnsafeFileSystemRepresentation { git_repository_open(&pointer, $0) @@ -148,7 +148,7 @@ final public class Repository { /// checkoutProgress - A block that's called with the progress of the checkout. /// /// Returns a `Result` with a `Repository` or an error. - class public func clone(from remoteURL: URL, to localURL: URL, localClone: Bool = false, bare: Bool = false, + public class func clone(from remoteURL: URL, to localURL: URL, localClone: Bool = false, bare: Bool = false, credentials: Credentials = .default, checkoutStrategy: CheckoutStrategy = .Safe, checkoutProgress: CheckoutProgressBlock? = nil) -> Result { var options = cloneOptions( From 31a755dd49bde1d57db994d71e9c2d87b24e89cc Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 02:05:58 -0400 Subject: [PATCH 07/13] [Lint] Arguments should be either all on the same line, or one per line --- .swiftlint.yml | 1 + SwiftGit2/Repository.swift | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index 059e212..affaaaf 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -17,6 +17,7 @@ opt_in_rules: - first_where - implicitly_unwrapped_optional - modifier_order + - multiline_arguments - overridden_super_call - private_outlet - prohibited_super_call diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index edb95b2..9be6edb 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -152,7 +152,8 @@ public final class Repository { credentials: Credentials = .default, checkoutStrategy: CheckoutStrategy = .Safe, checkoutProgress: CheckoutProgressBlock? = nil) -> Result { var options = cloneOptions( - bare: bare, localClone: localClone, + bare: bare, + localClone: localClone, fetchOptions: fetchOptions(credentials: credentials), checkoutOptions: checkoutOptions(strategy: checkoutStrategy, progress: checkoutProgress)) From 0a1a5d4174fb25d60db1dc52f7accca67a73f53d Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 21 Sep 2018 02:06:50 -0400 Subject: [PATCH 08/13] [Lint] Clean up indentation --- SwiftGit2/CommitIterator.swift | 4 ++-- SwiftGit2/Repository.swift | 30 +++++++++++++++--------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/SwiftGit2/CommitIterator.swift b/SwiftGit2/CommitIterator.swift index eb701bc..0b27399 100644 --- a/SwiftGit2/CommitIterator.swift +++ b/SwiftGit2/CommitIterator.swift @@ -59,8 +59,8 @@ public class CommitIterator: IteratorProtocol, Sequence { var unsafeCommit: OpaquePointer? = nil let lookupGitResult = git_commit_lookup(&unsafeCommit, repo.pointer, &oid) guard lookupGitResult == GIT_OK.rawValue, - let unwrapCommit = unsafeCommit else { - return Result.failure(NSError(gitError: lookupGitResult, pointOfFailure: "git_commit_lookup")) + let unwrapCommit = unsafeCommit else { + return Result.failure(NSError(gitError: lookupGitResult, pointOfFailure: "git_commit_lookup")) } let result: Element = Result.success(Commit(unwrapCommit)) git_commit_free(unsafeCommit) diff --git a/SwiftGit2/Repository.swift b/SwiftGit2/Repository.swift index 9be6edb..e677409 100644 --- a/SwiftGit2/Repository.swift +++ b/SwiftGit2/Repository.swift @@ -151,24 +151,24 @@ public final class Repository { public class func clone(from remoteURL: URL, to localURL: URL, localClone: Bool = false, bare: Bool = false, credentials: Credentials = .default, checkoutStrategy: CheckoutStrategy = .Safe, checkoutProgress: CheckoutProgressBlock? = nil) -> Result { - var options = cloneOptions( - bare: bare, - localClone: localClone, - fetchOptions: fetchOptions(credentials: credentials), - checkoutOptions: checkoutOptions(strategy: checkoutStrategy, progress: checkoutProgress)) + var options = cloneOptions( + bare: bare, + localClone: localClone, + fetchOptions: fetchOptions(credentials: credentials), + checkoutOptions: checkoutOptions(strategy: checkoutStrategy, progress: checkoutProgress)) - var pointer: OpaquePointer? = nil - let remoteURLString = (remoteURL as NSURL).isFileReferenceURL() ? remoteURL.path : remoteURL.absoluteString - let result = localURL.withUnsafeFileSystemRepresentation { localPath in - git_clone(&pointer, remoteURLString, localPath, &options) - } + var pointer: OpaquePointer? = nil + let remoteURLString = (remoteURL as NSURL).isFileReferenceURL() ? remoteURL.path : remoteURL.absoluteString + let result = localURL.withUnsafeFileSystemRepresentation { localPath in + git_clone(&pointer, remoteURLString, localPath, &options) + } - guard result == GIT_OK.rawValue else { - return Result.failure(NSError(gitError: result, pointOfFailure: "git_clone")) - } + guard result == GIT_OK.rawValue else { + return Result.failure(NSError(gitError: result, pointOfFailure: "git_clone")) + } - let repository = Repository(pointer!) - return Result.success(repository) + let repository = Repository(pointer!) + return Result.success(repository) } // MARK: - Initializers From 45be21756c9d55f4f582f4244b8f9dca593a3a7a Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 12 Apr 2019 12:05:58 -0400 Subject: [PATCH 09/13] [Lint] Disable cyclomatic_complexity warnings in RepositorySpec --- SwiftGit2Tests/RepositorySpec.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/SwiftGit2Tests/RepositorySpec.swift b/SwiftGit2Tests/RepositorySpec.swift index b70f3ff..335188e 100644 --- a/SwiftGit2Tests/RepositorySpec.swift +++ b/SwiftGit2Tests/RepositorySpec.swift @@ -11,6 +11,8 @@ import SwiftGit2 import Nimble import Quick +// swiftlint:disable cyclomatic_complexity + class RepositorySpec: QuickSpec { override func spec() { describe("Repository.Type.at(_:)") { From 619c2bd1650ca184cd70dda8dfe3901542eb970f Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 12 Apr 2019 12:29:39 -0400 Subject: [PATCH 10/13] [Lint] Temporarily disable two default warnings --- .swiftlint.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.swiftlint.yml b/.swiftlint.yml index affaaaf..fa28dc3 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -3,6 +3,8 @@ disabled_rules: - force_cast - force_try - function_body_length + - identifier_name + - redundant_optional_initialization - type_body_length opt_in_rules: From dcbbf4cc533d4e63398c42361fcbee723225bba2 Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 12 Apr 2019 13:12:42 -0400 Subject: [PATCH 11/13] [Lint] Enable various new SwiftLint rules --- .swiftlint.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/.swiftlint.yml b/.swiftlint.yml index fa28dc3..c15d0f8 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -8,24 +8,59 @@ disabled_rules: - type_body_length opt_in_rules: + - array_init - attributes - closure_end_indentation - closure_spacing + - collection_alignment - conditional_returns_on_newline + - contains_over_first_not_nil - convenience_type + - discouraged_object_literal + - discouraged_optional_boolean + - discouraged_optional_collection - empty_count + - empty_string + - empty_xctest_method + - explicit_enum_raw_value - explicit_init + - extension_access_modifier + - fallthrough - fatal_error_message - first_where + - function_default_parameter_at_end + - identical_operands - implicitly_unwrapped_optional + - joined_default_parameter + - last_where + - legacy_random + - literal_expression_end_indentation + - lower_acl_than_parent - modifier_order - multiline_arguments + - multiline_function_chains + - multiline_literal_brackets + - nslocalizedstring_key - overridden_super_call + - override_in_extension + - private_action - private_outlet - prohibited_super_call + - quick_discouraged_call + - quick_discouraged_focused_test + - quick_discouraged_pending_test - redundant_nil_coalescing + - sorted_first_last + - strict_fileprivate - switch_case_on_newline + - toggle_bool + - unavailable_function + - untyped_error_in_catch + - unused_import + - unused_private_declaration - vertical_parameter_alignment_on_call + - xct_specific_matcher + - yoda_condition excluded: - Carthage From 3a38e20b0c626c0d451ed64a045df2173924441f Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 12 Apr 2019 13:35:38 -0400 Subject: [PATCH 12/13] [Lint] Remove redundant type annotation --- .swiftlint.yml | 1 + SwiftGit2/Objects.swift | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index c15d0f8..d375fd9 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -50,6 +50,7 @@ opt_in_rules: - quick_discouraged_focused_test - quick_discouraged_pending_test - redundant_nil_coalescing + - redundant_type_annotation - sorted_first_last - strict_fileprivate - switch_case_on_newline diff --git a/SwiftGit2/Objects.swift b/SwiftGit2/Objects.swift index eb95889..6473633 100644 --- a/SwiftGit2/Objects.swift +++ b/SwiftGit2/Objects.swift @@ -59,7 +59,7 @@ public struct Signature { func makeUnsafeSignature() -> Result, NSError> { var signature: UnsafeMutablePointer? = nil let time = git_time_t(self.time.timeIntervalSince1970) // Unix epoch time - let offset: Int32 = Int32(timeZone.secondsFromGMT(for: self.time) / 60) + let offset = Int32(timeZone.secondsFromGMT(for: self.time) / 60) let signatureResult = git_signature_new(&signature, name, email, time, offset) guard signatureResult == GIT_OK.rawValue, let signatureUnwrap = signature else { let err = NSError(gitError: signatureResult, pointOfFailure: "git_signature_new") From 82e873eac80c0b4be3b20f5e56267933d694255b Mon Sep 17 00:00:00 2001 From: Matt Rubin Date: Fri, 12 Apr 2019 13:58:30 -0400 Subject: [PATCH 13/13] Configure Hound to use the project's SwiftLint config file http://help.houndci.com/configuration/swiftlint --- .hound.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .hound.yml diff --git a/.hound.yml b/.hound.yml new file mode 100644 index 0000000..d939496 --- /dev/null +++ b/.hound.yml @@ -0,0 +1,4 @@ +# Configuration for Hound (https://houndci.com) + +swiftlint: + config_file: .swiftlint.yml