... список всех запросов тянуть ......
Прежде всего, «pull requests» представляют собой метод рабочего процесса DVCS, и не являются особенность git
. Большинство людей по существу, и неправильно, думаю, что это часть git
. Github.com (и другие) имеют систему рабочего процесса pull request
, которая включает в себя такие элементы, как git merge
, обсуждение темы, непрерывная интеграция (CI), пересылка ссылок, пользовательские разрешения и т. Д. С ТОЛЬКО git merge
на самом деле от git
DVCS.
Тем не менее, в хранилище Git, выдвижные запросы Github стиле и слияния между двумя commit-ishs (обычно слияние с темы филиала на мастер-отрасли, но это не является обязательным требованием) и таким образом «запроса тянуть» на обязательство иметь двух родителей.
FYI: Для слияний, которые имеют три (+) родителей, посмотреть answer
Итак, вернемся к вашему вопросу:
список авторов всех отрывных запросов на главной ветви Сделки рЕПО
Это утверждение становится следующим git
ЦМД:
git log master --merges --pretty=format:"%an %s"
становится:
При переводе, что libgit2sharp
:
// find the master branch in the repo
var masterBranch = repo.Branches.Single (branch => branch.FriendlyName == "master");
// Filter the branch's commits to ones that are merges
var mergeList = masterBranch.Commits.Where (p => p.Parents.Count() >= 2);
// Display the merge commits (pull requests)
foreach (Commit commit in mergeList)
{
Console.WriteLine("{0}\t{1}", commit.Author.Name, commit.MessageShort);
}
Пример вывода из GitHub репо, который использует тянуть запросы:
João Matos Merge pull request #1966 from angeloc/master
Zoltan Varga Merge pull request #1965 from akoeplinger/fix-flaky-test
João Matos Merge pull request #1963 from angeloc/patch-1
Rodrigo Kumpera Merge pull request #1912 from ludovic-henry/threadpool-managed-asyncresult
Zoltan Varga Merge pull request #1959 from alexrp/master
Zoltan Varga Merge pull request #1958 from rolfbjarne/aot-error-reporting
Marek Safar Merge pull request #1955 from LogosBible/servicepoint_nre
...
Update:
Based на комментарий, libgit2sharp
не даст пользователю то, что он хочет, вам нужно использовать Github api.
Использование GitHub Апи через библиотеку Octokit (. Вы можете непосредственно сделать Github REST вызовы или использовать другую библиотеку), вы можете запросить все открытые запросы тянуть довольно легко:
public static async Task getPullRequests()
{
var client = new GitHubClient (new ProductHeaderValue ("PlayScript"));
// Login Credentials if you need them for an enterprise acct/repo
// client.Credentials = GithubHelper.Credentials;
var connection = new Connection (new ProductHeaderValue ("PlayScript"));
var api = new ApiConnection (connection);
var pullrequests = new PullRequestsClient (api);
pulls = await pullrequests.GetAllForRepository ("PlayScriptRedux", "playscript");
}
....
Task.WaitAll(getPullRequests());
foreach (var pullrequest in pulls) {
Console.WriteLine (pullrequest.IssueUrl);
}
Этот список будет один открытый вытащить запрос для моего playcript-репо в организации PlayScriptRedux, т.е.консольный вывод:
https://api.github.com/repos/PlayScriptRedux/playscript/issues/89
Смотрите ответ (пуля пункт один) @ HTTP://stackoverflow.com/questions/20185412/how-to-connect-to-a-github-repo-using-libgit2 – SushiHangover
@RobertN Спасибо. Я отредактировал свой вопрос, чтобы отразить правильное решение. Я хотел бы получить высшее образование и перечислить все запросы на тягу на главной ветке репо. Я ничего не вижу в документах, intellisense или через поиск, который имеет пример этого. Любые указатели? Еще раз спасибо!! – DBS