Skip to content

Commit 04055f6

Browse files
committed
refactor!: move local issue tracker rule settings from $GIT_DIR/sourcegit.issuetracker to default repo's git config (#1725)
Signed-off-by: leo <[email protected]>
1 parent f206167 commit 04055f6

File tree

2 files changed

+20
-10
lines changed

2 files changed

+20
-10
lines changed

src/Commands/IssueTracker.cs

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,25 @@ public IssueTracker(string repo, string storage)
1111
{
1212
WorkingDirectory = repo;
1313
Context = repo;
14-
_storage = storage;
14+
15+
if (string.IsNullOrEmpty(storage))
16+
{
17+
_isStorageFileExists = true;
18+
_baseArg = "config --local";
19+
}
20+
else
21+
{
22+
_isStorageFileExists = File.Exists(storage);
23+
_baseArg = $"config -f {storage.Quoted()}";
24+
}
1525
}
1626

1727
public async Task ReadAllAsync(List<Models.IssueTracker> outs, bool isShared)
1828
{
19-
if (!File.Exists(_storage))
29+
if (!_isStorageFileExists)
2030
return;
2131

22-
Args = $"config -f {_storage.Quoted()} -l";
32+
Args = $"{_baseArg} -l";
2333

2434
var rs = await ReadToEndAsync().ConfigureAwait(false);
2535
if (rs.IsSuccess)
@@ -57,12 +67,12 @@ public async Task ReadAllAsync(List<Models.IssueTracker> outs, bool isShared)
5767

5868
public async Task<bool> AddAsync(Models.IssueTracker rule)
5969
{
60-
Args = $"config -f {_storage.Quoted()} issuetracker.{rule.Name.Quoted()}.regex {rule.RegexString.Quoted()}";
70+
Args = $"{_baseArg} issuetracker.{rule.Name.Quoted()}.regex {rule.RegexString.Quoted()}";
6171

6272
var succ = await ExecAsync().ConfigureAwait(false);
6373
if (succ)
6474
{
65-
Args = $"config -f {_storage.Quoted()} issuetracker.{rule.Name.Quoted()}.url {rule.URLTemplate.Quoted()}";
75+
Args = $"{_baseArg} issuetracker.{rule.Name.Quoted()}.url {rule.URLTemplate.Quoted()}";
6676
return await ExecAsync().ConfigureAwait(false);
6777
}
6878

@@ -71,10 +81,10 @@ public async Task<bool> AddAsync(Models.IssueTracker rule)
7181

7282
public async Task<bool> RemoveAsync(Models.IssueTracker rule)
7383
{
74-
if (!File.Exists(_storage))
84+
if (!_isStorageFileExists)
7585
return true;
7686

77-
Args = $"config -f {_storage.Quoted()} --remove-section issuetracker.{rule.Name.Quoted()}";
87+
Args = $"{_baseArg} --remove-section issuetracker.{rule.Name.Quoted()}";
7888
return await ExecAsync().ConfigureAwait(false);
7989
}
8090

@@ -89,6 +99,7 @@ private Models.IssueTracker FindOrAdd(List<Models.IssueTracker> rules, string ru
8999
return rule;
90100
}
91101

92-
private readonly string _storage;
102+
private readonly bool _isStorageFileExists;
103+
private readonly string _baseArg;
93104
}
94105
}

src/ViewModels/Repository.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1715,8 +1715,7 @@ private LauncherPage GetOwnerPage()
17151715

17161716
private Commands.IssueTracker CreateIssueTrackerCommand(bool shared)
17171717
{
1718-
var storage = shared ? $"{_fullpath}/.issuetracker" : $"{_gitDir}/sourcegit.issuetracker";
1719-
return new Commands.IssueTracker(_fullpath, storage);
1718+
return new Commands.IssueTracker(_fullpath, shared ? $"{_fullpath}/.issuetracker" : null);
17201719
}
17211720

17221721
private BranchTreeNode.Builder BuildBranchTree(List<Models.Branch> branches, List<Models.Remote> remotes)

0 commit comments

Comments
 (0)