Как правильно удалить файл с помощью libgit2sharp - PullRequest
0 голосов
/ 08 февраля 2020

Я стараюсь изо всех сил выяснить, как разархивировать файл с помощью libgit2sharp.

Мой текущий подход состоит в том, чтобы удалить файл из индекса, но, похоже, он удаляет файл вместо его удаления из файла. .

        public bool Unstage(params string[] filePaths)
    {
        using (var repo = LocalRepo)
        {
            try
            {
                foreach (var filePath in filePaths)
                {
                    repo.Index.Remove(filePath);
                    repo.Index.Write();
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        return true;
    }

Я также пытался выполнить программный сброс, но не могу понять, как передать имя файла или использовать параметр commiti sh в одной из перегрузок функции сброса. ,

Пытался следовать этому посту: Почему в Git есть два способа удаления файла из архива, но я не могу понять, как воссоздать этот подход в libgit2sharp ,

1 Ответ

1 голос
/ 10 февраля 2020

После длительного поиска я наконец-то обнаружил, что libgit2sharp имеет класс Commands stati c, в который встроены почти все необходимые вам команды, и в итоге сделал это так:

      public bool Unstage(params string[] filePaths)
    {
        using (var repo = LocalRepo)
        {
            try
            {
                foreach (var filePath in filePaths)
                {
                   Commands.Unstage(repo, filePath);
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        return true;
    }
...