/
vasiukoff
/
sg
Обзор
Документация
Войти
/
vasiukoff
/
sg
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/Commands/IsBareRepository.cs
36 строк
1 KB
leo
fix: main thread deadlock cause by calling `.Result` directly (#1720)
12 авг 2025, 11:03
12 авг 2025, 11:03
bd81ccd
Код
Авторство
О чём код?
using System.IO; using System.Threading.Tasks; namespace SourceGit.Commands { public class IsBareRepository : Command { public IsBareRepository(string path) { WorkingDirectory = path; Args = "rev-parse --is-bare-repository"; } public bool GetResult() { if (!Directory.Exists(Path.Combine(WorkingDirectory, "refs")) || !Directory.Exists(Path.Combine(WorkingDirectory, "objects")) || !File.Exists(Path.Combine(WorkingDirectory, "HEAD"))) return false; var rs = ReadToEnd(); return rs.IsSuccess && rs.StdOut.Trim() == "true"; } public async Task<bool> GetResultAsync() { if (!Directory.Exists(Path.Combine(WorkingDirectory, "refs")) || !Directory.Exists(Path.Combine(WorkingDirectory, "objects")) || !File.Exists(Path.Combine(WorkingDirectory, "HEAD"))) return false; var rs = await ReadToEndAsync().ConfigureAwait(false); return rs.IsSuccess && rs.StdOut.Trim() == "true"; } } }