@@ -693,7 +693,7 @@ public CommandLog CreateLog(string name)
693693 URLTemplate = url ,
694694 } ;
695695
696- var succ = await new Commands . IssueTracker ( _fullpath , $ " { _gitDir } /sourcegit.issuetracker" ) . AddAsync ( rule ) ;
696+ var succ = await CreateIssueTrackerCommand ( false ) . AddAsync ( rule ) ;
697697 if ( succ )
698698 {
699699 IssueTrackers . Add ( rule ) ;
@@ -705,27 +705,15 @@ public CommandLog CreateLog(string name)
705705
706706 public async Task RemoveIssueTrackerAsync ( Models . IssueTracker rule )
707707 {
708- var storage = rule . IsShared ? $ "{ _fullpath } /.issuetracker" : $ "{ _gitDir } /sourcegit.issuetracker";
709- var succ = await new Commands . IssueTracker ( _fullpath , storage ) . RemoveAsync ( rule ) ;
708+ var succ = await CreateIssueTrackerCommand ( rule . IsShared ) . RemoveAsync ( rule ) ;
710709 if ( succ )
711710 IssueTrackers . Remove ( rule ) ;
712711 }
713712
714713 public async Task ChangeIssueTrackerShareModeAsync ( Models . IssueTracker rule )
715714 {
716- var shared = new Commands . IssueTracker ( _fullpath , $ "{ _fullpath } /.issuetracker") ;
717- var local = new Commands . IssueTracker ( _fullpath , $ "{ _gitDir } /sourcegit.issuetracker") ;
718-
719- if ( rule . IsShared )
720- {
721- await local . RemoveAsync ( rule ) ;
722- await shared . AddAsync ( rule ) ;
723- }
724- else
725- {
726- await local . AddAsync ( rule ) ;
727- await shared . RemoveAsync ( rule ) ;
728- }
715+ await CreateIssueTrackerCommand ( ! rule . IsShared ) . RemoveAsync ( rule ) ;
716+ await CreateIssueTrackerCommand ( rule . IsShared ) . AddAsync ( rule ) ;
729717 }
730718
731719 public void RefreshAll ( )
@@ -740,13 +728,13 @@ public void RefreshAll()
740728
741729 Task . Run ( async ( ) =>
742730 {
743- var sharedIssueTrackers = await new Commands . IssueTracker ( _fullpath , $ "{ _fullpath } /.issuetracker") . ReadAllAsync ( true ) . ConfigureAwait ( false ) ;
744- var localIssueTrackers = await new Commands . IssueTracker ( _fullpath , $ "{ _gitDir } /sourcegit.issuetracker") . ReadAllAsync ( false ) . ConfigureAwait ( false ) ;
731+ var issuetrackers = new List < Models . IssueTracker > ( ) ;
732+ await CreateIssueTrackerCommand ( true ) . ReadAllAsync ( issuetrackers , true ) . ConfigureAwait ( false ) ;
733+ await CreateIssueTrackerCommand ( false ) . ReadAllAsync ( issuetrackers , false ) . ConfigureAwait ( false ) ;
745734 Dispatcher . UIThread . Post ( ( ) =>
746735 {
747736 IssueTrackers . Clear ( ) ;
748- IssueTrackers . AddRange ( sharedIssueTrackers ) ;
749- IssueTrackers . AddRange ( localIssueTrackers ) ;
737+ IssueTrackers . AddRange ( issuetrackers ) ;
750738 } ) ;
751739
752740 var config = await new Commands . Config ( _fullpath ) . ReadAllAsync ( ) . ConfigureAwait ( false ) ;
@@ -2909,6 +2897,12 @@ private LauncherPage GetOwnerPage()
29092897 return null ;
29102898 }
29112899
2900+ private Commands . IssueTracker CreateIssueTrackerCommand ( bool shared )
2901+ {
2902+ var storage = shared ? $ "{ _fullpath } /.issuetracker" : $ "{ _gitDir } /sourcegit.issuetracker";
2903+ return new Commands . IssueTracker ( _fullpath , storage ) ;
2904+ }
2905+
29122906 private BranchTreeNode . Builder BuildBranchTree ( List < Models . Branch > branches , List < Models . Remote > remotes )
29132907 {
29142908 var builder = new BranchTreeNode . Builder ( _settings . LocalBranchSortMode , _settings . RemoteBranchSortMode ) ;
0 commit comments