public void GetBranchList_Test() { var result = GitParser.GetBranchList(_exampleBranchList); AreEqual("fix/SyncWithUi", result.First()); AreEqual("master", result.Last()); }
public void Parser() { var processResult = TestBase.Git.GitProcess(Environment.CurrentDirectory, GitCommand.BranchList); var result = GitParser.SplitString(processResult); AreEqual(" fix/SyncWithUi", result.First()); AreEqual("* master", result.Last()); }
/// <summary> /// Call GitParser on a local repository for parsing. /// The commit tree is walked until no new commits remain. /// </summary> private List <CodeDoc> ParseRepository(GitHubUser user, string repo_path) { List <CodeDoc> parsed_files = new List <CodeDoc>(); GitParser git_parser = new GitParser(repo_path); do { var current_commit = git_parser.ParseCurrentCommit(); foreach (CommitFile file in current_commit) { parsed_files.Add( new CodeDoc { Id = file.Commit_Sha, Sha = file.Commit_Sha, Author_Date = file.Authored_Date, Author_Name = file.Author_Name, Channel = user.ChannelID, Committer_Name = user.UserID, Accesstoken = user.GitHubAccessToken, Filename = file.Filename, Previous_File_Name = file.Previous_Filename, Raw_Url = file.Raw_Url, Blob_Url = file.Blob_Url, Unindexed_Patch = file.Parsed_Patch, Patch = file.Parsed_Patch, Repo = file.Repository, Html_Url = file.Commit_Url, Message = file.Commit_Message, Prog_Language = file.Language } ); } } while (git_parser.Walk()); return(parsed_files); }
public void GetUrl_Test() { var result = GitParser.GetRemoteUrl(_exampleRemote); AreEqual(@"https://github.com/MiroslavMikus/DependencyScanner.git", result); }
public void GetMaster_Test() { var result = GitParser.GetCurrentBranch(_exampleBranchList); AreEqual("master", result); }
/// <summary>Check latest gitter version on this chanel.</summary> /// <returns>Latest gitter version.</returns> public Version CheckVersion() { Version result = null; var cmd = new LsRemoteCommand( LsRemoteCommand.Heads(), LsRemoteCommand.Tags(), new CommandParameter(_url)); GitOutput output; try { output = GitProcess.Execute(new GitInput(cmd)); } catch { return(null); } if (output.ExitCode != 0) { return(null); } var parser = new GitParser(output.Output); string branchSHA1 = null; while (!parser.IsAtEndOfString) { var sha1 = parser.ReadString(40, 1); var refname = parser.ReadLine(); if (branchSHA1 == null) { if (refname == GitConstants.LocalBranchPrefix + _branch) { branchSHA1 = sha1; } } else { if (sha1 == branchSHA1 && refname.Length > GitConstants.TagPrefix.Length + 1 && refname.StartsWith(GitConstants.TagPrefix) && refname[GitConstants.TagPrefix.Length] == 'v') { var s = GitConstants.TagPrefix.Length + 1; var e = refname.Length - 1; while (s < refname.Length && !char.IsDigit(refname[s])) { ++s; } while (e > 0 && !char.IsDigit(refname[e])) { --e; } if (e > s && Version.TryParse(refname.Substring(s, e - s + 1), out result)) { break; } else { result = null; } } } } return(result); }