public CommitItemRequestResponse CommitItem(CommitItemRequest request) { CommitItemRequestResponse response = new CommitItemRequestResponse(); string projectPath = ProjectBasePath + request.ProjectName; Repository repo = new Repository(projectPath); string commitMessage = !string.IsNullOrWhiteSpace(request.CommitMessage) ? request.CommitMessage + "\n" : ""; foreach (CommitItemDomain commitItem in request.CommitItems) { string itemPath = projectPath + "\\" + commitItem.ItemType + "_" + commitItem.Name + ".txt"; string content = ""; //TODO if the ItemType is table, get the schema script //TODO Function //TODO SP commitMessage += "Commit " + commitItem.ItemType + ": " + commitItem.Name + "\n"; File.WriteAllText(itemPath, content); } Commands.Stage(repo, "*"); // Create the committer's signature and commit Signature author = new Signature(Properties.AuthorName, Properties.AuthorEmail, DateTime.Now); Signature committer = new Signature(Properties.CommitterName, Properties.CommitterEmail, DateTime.Now); repo.Commit(commitMessage, author, committer); return(response); }
public void TestCommitItem() { CommitItemRequest request = new CommitItemRequest(); request.ProjectName = "Test2"; CommitItemDomain item1 = new CommitItemDomain(); item1.ItemType = CommitItemDomain.ItemType_Table; item1.Name = "table1"; request.CommitItems.Add(item1); CommitItemDomain item2 = new CommitItemDomain(); item2.ItemType = CommitItemDomain.ItemType_Table; item2.Name = "table2"; request.CommitItems.Add(item2); CommitItemRequestResponse response = bal.CommitItem(request); Assert.AreEqual(StatusCodes.Status_Success, response.StatusCode); }