From 3d8c1c84789c6c3ec8047c57c81cc4cb780f634b Mon Sep 17 00:00:00 2001 From: Yishi Lin Date: Thu, 16 Mar 2017 00:38:38 +0800 Subject: [PATCH] Polish commit messages. --- pass/Models/PasswordEntity.swift | 11 +++++++++++ pass/Models/PasswordStore.swift | 15 +++++++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/pass/Models/PasswordEntity.swift b/pass/Models/PasswordEntity.swift index 91b2a5f..61b6430 100644 --- a/pass/Models/PasswordEntity.swift +++ b/pass/Models/PasswordEntity.swift @@ -10,6 +10,17 @@ import Foundation import SwiftyUserDefaults extension PasswordEntity { + + var nameWithCategory: String { + get { + if let p = path, p.hasSuffix(".gpg") { + return p.substring(to: p.index(p.endIndex, offsetBy: -4)) + } else { + return "" + } + } + } + func decrypt(passphrase: String) throws -> Password? { var password: Password? let encryptedDataPath = URL(fileURLWithPath: "\(Globals.repositoryPath)/\(path!)") diff --git a/pass/Models/PasswordStore.swift b/pass/Models/PasswordStore.swift index 2f4f3f3..ddc2351 100644 --- a/pass/Models/PasswordStore.swift +++ b/pass/Models/PasswordStore.swift @@ -98,6 +98,11 @@ class PasswordStore { let tempStoreURL = URL(fileURLWithPath: "\(Globals.repositoryPath)-temp") var storeRepository: GTRepository? var gitCredential: GitCredential? + var gitSignatureForNow: GTSignature { + get { + return GTSignature(name: Defaults[.gitRepositoryUsername]!, email: Defaults[.gitRepositoryUsername]!+"@passforios", time: Date())! + } + } let pgp: ObjectivePGP = ObjectivePGP() @@ -425,7 +430,8 @@ class PasswordStore { try commitEnum.pushSHA(headReference.targetOID.sha!) let parent = commitEnum.nextObject() as! GTCommit progressBlock(0.5) - let commit = try storeRepository!.createCommit(with: newTree, message: message, parents: [parent], updatingReferenceNamed: headReference.name) + let signature = gitSignatureForNow + let commit = try storeRepository!.createCommit(with: newTree, message: message, author: signature, committer: signature, parents: [parent], updatingReferenceNamed: headReference.name) progressBlock(0.7) return commit } catch { @@ -444,7 +450,8 @@ class PasswordStore { try commitEnum.pushSHA(headReference.targetOID.sha!) let parent = commitEnum.nextObject() as! GTCommit progressBlock(0.5) - let commit = try storeRepository!.createCommit(with: newTree, message: message, parents: [parent], updatingReferenceNamed: headReference.name) + let signature = gitSignatureForNow + let commit = try storeRepository!.createCommit(with: newTree, message: message, author: signature, committer: signature, parents: [parent], updatingReferenceNamed: headReference.name) progressBlock(0.7) return commit } catch { @@ -493,7 +500,7 @@ class PasswordStore { passwordEntity.isDir = false try context.save() print(saveURL.path) - let _ = createAddCommitInRepository(message: "Add new password by pass for iOS", fileData: encryptedData, filename: saveURL.lastPathComponent, progressBlock: progressBlock) + let _ = createAddCommitInRepository(message: "Add password for \(passwordEntity.nameWithCategory) to store using Pass for iOS.", fileData: encryptedData, filename: saveURL.lastPathComponent, progressBlock: progressBlock) progressBlock(1.0) } catch { print(error) @@ -506,7 +513,7 @@ class PasswordStore { let saveURL = storeURL.appendingPathComponent(passwordEntity.path!) try encryptedData.write(to: saveURL) progressBlock(0.3) - let _ = createAddCommitInRepository(message: "Update password by pass for iOS", fileData: encryptedData, filename: saveURL.lastPathComponent, progressBlock: progressBlock) + let _ = createAddCommitInRepository(message: "Edit password for \(passwordEntity.nameWithCategory) using Pass for iOS.", fileData: encryptedData, filename: saveURL.lastPathComponent, progressBlock: progressBlock) } catch { print(error) }