本文整理汇总了C#中LibGit2Sharp.Repository.CheckoutFilesIfExist方法的典型用法代码示例。如果您正苦于以下问题:C# Repository.CheckoutFilesIfExist方法的具体用法?C# Repository.CheckoutFilesIfExist怎么用?C# Repository.CheckoutFilesIfExist使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LibGit2Sharp.Repository
的用法示例。
在下文中一共展示了Repository.CheckoutFilesIfExist方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetGitInfoFromUrl
string GetGitInfoFromUrl()
{
var gitDirectory = Path.Combine(arguments.TargetPath, "_dynamicrepository", ".git");
if (Directory.Exists(gitDirectory))
{
Logger.WriteInfo(string.Format("Deleting existing .git folder from '{0}' to force new checkout from url", gitDirectory));
DeleteHelper.DeleteGitRepository(gitDirectory);
}
Credentials credentials = null;
var authentication = arguments.Authentication;
if (!string.IsNullOrWhiteSpace(authentication.Username) && !string.IsNullOrWhiteSpace(authentication.Password))
{
Logger.WriteInfo(string.Format("Setting up credentials using name '{0}'", authentication.Username));
credentials = new UsernamePasswordCredentials
{
Username = authentication.Username,
Password = authentication.Password
};
}
Logger.WriteInfo(string.Format("Retrieving git info from url '{0}'", arguments.TargetUrl));
Repository.Clone(arguments.TargetUrl, gitDirectory,
new CloneOptions { IsBare = true, Checkout = false, CredentialsProvider = (url, user, types) => credentials });
if (!string.IsNullOrWhiteSpace(arguments.TargetBranch))
{
// Normalize (download branches) before using the branch
GitHelper.NormalizeGitDirectory(gitDirectory, arguments.Authentication);
using (var repository = new Repository(gitDirectory))
{
var targetBranchName = string.Format("refs/heads/{0}", arguments.TargetBranch);
if (!string.Equals(repository.Head.CanonicalName, targetBranchName))
{
Logger.WriteInfo(string.Format("Switching to branch '{0}'", arguments.TargetBranch));
repository.Refs.UpdateTarget("HEAD", targetBranchName);
}
repository.CheckoutFilesIfExist("NextVersion.txt");
}
}
DynamicGitRepositoryPath = gitDirectory;
return gitDirectory;
}