[Assert_Admin] public void ManualyGitCommitNewUsers() { userData.AutoGitCommit = false; var head1 = nGit.head(); Assert.IsNotNull(nGit); Assert.IsTrue(userData.Path_UserData.isGitRepository()); Assert.IsFalse(head1.isNull()); var tmUser = userData.newUser().tmUser(); var userXmlFile = tmUser.getTmUserXmlFile().fileName(); var untracked = nGit.status_Raw().untracked(); Assert.AreEqual(1, untracked.size()); Assert.AreEqual(userXmlFile, untracked.first()); nGit.add_and_Commit_using_Status(); untracked = nGit.status_Raw().untracked(); var head2 = nGit.head(); Assert.AreEqual(0, untracked.size()); Assert.IsFalse(nGit.head().isNull()); Assert.AreNotEqual(head1, head2); "Head is now: {0}".info(nGit.head()); }
[Test] public void Create_Repo_Add_Files_Check_Head() { var nGit = new API_NGit(); var tempRepo = "_tempRepo".tempDir(true); "TestRepo is: {0}".info(tempRepo); //Creating a local temp Repo Assert.IsFalse(tempRepo.isGitRepository(), "Should not be a repo"); nGit.init(tempRepo); Assert.IsTrue(tempRepo.isGitRepository(), "Should be a repo"); Assert.IsNull(nGit.head()); //Adding a file (using method 1) nGit.file_Create("testFile.txt", "some Text"); nGit.add_and_Commit_using_Status(); var head1 = nGit.head(); Assert.IsNotNull(head1); //Adding another file (using method 2) nGit.file_Create("testFile2.txt", "some Text"); nGit.add("testFile2.txt"); nGit.commit("Adding Another file"); //making sure the head has changed var head2 = nGit.head(); Assert.AreNotEqual(head1, head2); nGit.delete_Repository_And_Files(); }
public static API_NGit gitCommit_SeparateThread(this API_NGit nGit) { O2Thread.mtaThread( () => { lock (nGit) { nGit.add_and_Commit_using_Status(); nGit.git_Push_Library(); } }); return(nGit); }
public static API_NGit gitCommit_SeparateThread(this API_NGit nGit) { O2Thread.mtaThread( () => { lock (nGit) { nGit.add_and_Commit_using_Status(); try { nGit.push(); } catch (Exception ex) { ex.log(); } } }); return(nGit); }
[Test] public void Manualy_Git_Commit_NewUsers() { var head1 = nGit.head(); nGit.assert_Is_Not_Null(); tmFileStorage.path_UserData().isGitRepository() .assert_Is_True(); head1.assert_Not_Null(); var tmUser = userData.newUser().tmUser(); var userXmlFile = tmFileStorage.user_XmlFile_Location(tmUser).assert_File_Exists(); var untracked = nGit.status_Raw().untracked(); untracked.assert_Size_Is(1) .first().assert_Equal_To(@"Users/{0}".format(userXmlFile.fileName())); nGit.add_and_Commit_using_Status(); nGit.status_Raw().untracked().assert_Size_Is(0); nGit.head().assert_Not_Null() .assert_Is_Not(head1); }
public void pull() { //a pull into a bare repo doesn't work var result_RemoteAdd1 = nGit2.remote_Add("origin", repoPath1);//.pathCombine(".git")); var result_Pull_Origin1 = nGit2.pull(); Assert.IsNotNull(nGit2.Last_Exception); if (nGit2.Last_Exception is InvalidConfigurationException) // it was failing on TeamCity { Assert.Ignore("Ignoring test because there was an InvalidConfigurationException on ngit2.pull()"); } Assert.IsInstanceOf <TransportException>(nGit2.Last_Exception); Assert.AreEqual(nGit2.Last_Exception.Message, "Nothing to fetch."); Assert.IsTrue(result_RemoteAdd1); Assert.IsFalse(result_Pull_Origin1); //Do a pull from a clone var repoPath3 = "repo3".tempDir(); var repo1_File = nGit1.files_FullPath().first(); repoPath3.delete_Folder(); var head_Repo1 = nGit1.head(); var nGit3 = repoPath1.git_Clone(repoPath3); var files_AfterClone = nGit3.files_FullPath(); var head_AfterClone = nGit3.head(); var repo3_File = nGit3.files_FullPath().first(); Assert.IsTrue(repoPath3.isGitRepository()); Assert.IsNotEmpty(files_AfterClone); Assert.AreEqual(head_AfterClone, head_Repo1); Assert.IsTrue(repo3_File.fileExists()); Assert.AreEqual(repo3_File.fileContents(), repo1_File.fileContents()); Assert.AreEqual("", nGit1.status()); Assert.AreEqual("", nGit3.status()); //do a change on repo1 var newContent = 10.randomLetters(); newContent.saveAs(repo1_File); Assert.AreNotEqual("", nGit1.status()); nGit1.add_and_Commit_using_Status(); Assert.AreEqual("", nGit3.status()); Assert.AreEqual(1, nGit3.commits().size()); Assert.AreEqual(2, nGit1.commits().size()); Assert.AreNotEqual(repo3_File.fileContents(), repo1_File.fileContents()); var result_Pull = nGit3.pull(); var mergeResult = nGit3.Last_PullResult.GetMergeResult(); Assert.IsTrue(result_Pull); Assert.AreEqual(repo3_File.fileContents(), repo1_File.fileContents()); Assert.AreEqual(2, nGit1.commits().size()); Assert.IsNotNull(mergeResult); Assert.AreEqual(mergeResult.GetMergeStatus(), MergeStatus.FAST_FORWARD); Assert.IsTrue(mergeResult.GetMergeStatus().IsSuccessful()); Assert.IsFalse(nGit3.reset_on_MergeConflicts(nGit3.Last_PullResult)); /* the remote_Add is still not working 100% , since the reverse pull fails below) * * //do a change on repo3 * var newContent = 10.randomLetters(); * newContent.saveAs(repo3_File); * * Assert.AreNotEqual ("", nGit3.status()); * nGit3.add_and_Commit_using_Status(); * Assert.AreEqual ("", nGit3.status()); * Assert.AreEqual (1, nGit1.commits().size()); * Assert.AreEqual (2, nGit3.commits().size()); * * var result_RemoteAdd2 = nGit1.remote_Add("origin", repoPath3);//.pathCombine(".git")); * var result_Pull_Origin2 = nGit1.pull(); * * * Assert.IsNotNull(nGit1.Last_Exception); * Assert.IsInstanceOf<TransportException>(nGit1.Last_Exception); * Assert.AreEqual(nGit1.Last_Exception.Message, "Nothing to fetch."); * * Assert.IsTrue (result_RemoteAdd2); * Assert.IsTrue (result_Pull_Origin2); * Assert.AreEqual(2, nGit1.commits().size()); */ nGit3.delete_Repository_And_Files(); Assert.IsFalse(repoPath3.dirExists()); //Null value handling Assert.IsFalse((null as API_NGit).pull(null)); Assert.IsFalse(nGit3.pull(null)); }