From 8cafefbb8feb400dd62691e2c0ffe11a2cfab3d4 Mon Sep 17 00:00:00 2001 From: apla Date: Wed, 30 Mar 2011 00:58:42 +0400 Subject: [PATCH] retain selected commit position in commit history ticket #281 --- PBGitHistoryController.h | 1 + PBGitHistoryController.m | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/PBGitHistoryController.h b/PBGitHistoryController.h index 4db3210..8d9472c 100644 --- a/PBGitHistoryController.h +++ b/PBGitHistoryController.h @@ -55,6 +55,7 @@ PBGitTree *gitTree; PBGitCommit *webCommit; PBGitCommit *selectedCommit; + PBGitCommit *selectedCommitBeforeRefresh; } @property (readonly) NSTreeController* treeController; diff --git a/PBGitHistoryController.m b/PBGitHistoryController.m index ab221f1..1187525 100644 --- a/PBGitHistoryController.m +++ b/PBGitHistoryController.m @@ -250,7 +250,9 @@ }else if([(NSString *)context isEqualToString:@"updateCommitCount"] || [(NSString *)context isEqualToString:@"revisionListUpdating"]) { [self updateStatus]; - if ([repository.currentBranch isSimpleRef]) + if (selectedCommitBeforeRefresh && [repository commitForSHA:[selectedCommitBeforeRefresh sha]]) + [self selectCommit:[selectedCommitBeforeRefresh sha]]; + else if ([repository.currentBranch isSimpleRef]) [self selectCommit:[repository shaForRef:[repository.currentBranch ref]]]; else [self selectCommit:[[self firstCommit] sha]]; @@ -405,6 +407,7 @@ - (IBAction) refresh:(id)sender { + selectedCommitBeforeRefresh = selectedCommit; [repository forceUpdateRevisions]; }