@@ -693,7 +693,7 @@ public CommandLog CreateLog(string name)
693
693
URLTemplate = url ,
694
694
} ;
695
695
696
- var succ = await new Commands . IssueTracker ( _fullpath , $ " { _gitDir } /sourcegit.issuetracker" ) . AddAsync ( rule ) ;
696
+ var succ = await CreateIssueTrackerCommand ( false ) . AddAsync ( rule ) ;
697
697
if ( succ )
698
698
{
699
699
IssueTrackers . Add ( rule ) ;
@@ -705,27 +705,15 @@ public CommandLog CreateLog(string name)
705
705
706
706
public async Task RemoveIssueTrackerAsync ( Models . IssueTracker rule )
707
707
{
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 ) ;
710
709
if ( succ )
711
710
IssueTrackers . Remove ( rule ) ;
712
711
}
713
712
714
713
public async Task ChangeIssueTrackerShareModeAsync ( Models . IssueTracker rule )
715
714
{
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 ) ;
729
717
}
730
718
731
719
public void RefreshAll ( )
@@ -740,13 +728,13 @@ public void RefreshAll()
740
728
741
729
Task . Run ( async ( ) =>
742
730
{
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 ) ;
745
734
Dispatcher . UIThread . Post ( ( ) =>
746
735
{
747
736
IssueTrackers . Clear ( ) ;
748
- IssueTrackers . AddRange ( sharedIssueTrackers ) ;
749
- IssueTrackers . AddRange ( localIssueTrackers ) ;
737
+ IssueTrackers . AddRange ( issuetrackers ) ;
750
738
} ) ;
751
739
752
740
var config = await new Commands . Config ( _fullpath ) . ReadAllAsync ( ) . ConfigureAwait ( false ) ;
@@ -2909,6 +2897,12 @@ private LauncherPage GetOwnerPage()
2909
2897
return null ;
2910
2898
}
2911
2899
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
+
2912
2906
private BranchTreeNode . Builder BuildBranchTree ( List < Models . Branch > branches , List < Models . Remote > remotes )
2913
2907
{
2914
2908
var builder = new BranchTreeNode . Builder ( _settings . LocalBranchSortMode , _settings . RemoteBranchSortMode ) ;
0 commit comments