public bool TryGetCopiedCommit(Commit copiedFrom, Repository targetRepo, out Commit?commit) { var hash = CommitMessageUtil.ReadBasedirCommitNameFromMessage(copiedFrom.Message); if (hash != null) { // TODO: make option: remote name commit = targetRepo.Lookup <Commit>(hash); if (commit != null) { return(true); } CommandGit.ShallowFetch(targetRepo, "origin", hash.Sha); commit = targetRepo.Lookup <Commit>(hash); if (commit != null) { return(true); } return(false); } else { commit = RepositoryUtil.GetAllCommits(targetRepo) .FirstOrDefault(copied => CommitMessageUtil.ReadSubdirCommitNameFromMessage(copied.Message, _copyOptions.DirInSrcs) == copiedFrom.Id); if (commit != null) { return(true); } return(false); } }
public bool TryGetCopiedCommit(Commit copiedFrom, Repository targetRepo, out Commit?commit) { commit = RepositoryUtil.GetAllCommits(targetRepo) .FirstOrDefault(copied => CommitMessageUtil.ReadBasedirCommitNameFromMessage(copied.Message) == copiedFrom.Id); return(commit != null); }