refactor: use $GIT_COMMON_DIR instead of cut $GIT_DIR/worktrees (#1103)

This commit is contained in:
Gadfly 2025-03-17 15:56:13 +08:00 committed by GitHub
parent 265aaa1d67
commit cea8a90680
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 51 additions and 16 deletions

View file

@ -282,6 +282,7 @@ namespace SourceGit.ViewModels
var isBare = new Commands.IsBareRepository(node.Id).Result();
var gitDir = node.Id;
var gitCommonDir = gitDir;
if (!isBare)
{
gitDir = new Commands.QueryGitDir(node.Id).Result();
@ -291,9 +292,12 @@ namespace SourceGit.ViewModels
App.RaiseException(ctx, "Given path is not a valid git repository!");
return;
}
gitCommonDir = new Commands.QueryGitCommonDir(node.Id).Result();
if (string.IsNullOrEmpty(gitCommonDir))
gitCommonDir = gitDir;
}
var repo = new Repository(isBare, node.Id, gitDir);
var repo = new Repository(isBare, node.Id, gitDir, gitCommonDir);
repo.Open();
if (page == null)

View file

@ -45,6 +45,12 @@ namespace SourceGit.ViewModels
set => SetProperty(ref _gitDir, value);
}
public string GitCommonDir
{
get => _gitCommonDir;
set => SetProperty(ref _gitCommonDir, value);
}
public Models.RepositorySettings Settings
{
get => _settings;
@ -429,11 +435,12 @@ namespace SourceGit.ViewModels
set;
} = 0;
public Repository(bool isBare, string path, string gitDir)
public Repository(bool isBare, string path, string gitDir, string gitCommonDir)
{
IsBare = isBare;
FullPath = path;
GitDir = gitDir;
GitCommonDir = gitCommonDir;
}
public void Open()
@ -2437,6 +2444,7 @@ namespace SourceGit.ViewModels
private string _fullpath = string.Empty;
private string _gitDir = string.Empty;
private string _gitCommonDir = string.Empty;
private Models.RepositorySettings _settings = null;
private Models.FilterMode _historiesFilterMode = Models.FilterMode.None;
private bool _hasAllowedSignersFile = false;