/
vasiukoff
/
sg
Обзор
Документация
Войти
/
vasiukoff
/
sg
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/Commands/Push.cs
54 строки
2 KB
leo
refactor: use `StringBuilder` instead of concating string with operator `+`
04 дек 2025, 11:28
04 дек 2025, 11:28
291361d
Код
Авторство
О чём код?
using System.Text; using System.Threading.Tasks; namespace SourceGit.Commands { public class Push : Command { public Push(string repo, string local, string remote, string remoteBranch, bool withTags, bool checkSubmodules, bool track, bool force) { _remote = remote; WorkingDirectory = repo; Context = repo; var builder = new StringBuilder(1024); builder.Append("push --progress --verbose "); if (withTags) builder.Append("--tags "); if (checkSubmodules) builder.Append("--recurse-submodules=check "); if (track) builder.Append("-u "); if (force) builder.Append("--force-with-lease "); builder.Append(remote).Append(' ').Append(local).Append(':').Append(remoteBranch); Args = builder.ToString(); } public Push(string repo, string remote, string refname, bool isDelete) { _remote = remote; WorkingDirectory = repo; Context = repo; var builder = new StringBuilder(512); builder.Append("push "); if (isDelete) builder.Append("--delete "); builder.Append(remote).Append(' ').Append(refname); Args = builder.ToString(); } public async Task<bool> RunAsync() { SSHKey = await new Config(WorkingDirectory).GetAsync($"remote.{_remote}.sshkey").ConfigureAwait(false); return await ExecAsync().ConfigureAwait(false); } private readonly string _remote; } }