public Changeset Commit(ICommitScmFileArgs args) { Reset(args.RepositoryPath); if (!args.All) { foreach (var file in args.Files) { AddFileToIndex(args.RepositoryPath, file); } } var ab = new ArgBuilder(); ab.Add("commit"); ab.AddIf(args.All, "--all"); using (var msgFile = new TempFile("msg")) { File.WriteAllText(msgFile.FilePath, args.Message); ab.Add($"--file=\"{msgFile}\""); RunCommand(ab, args); } return(null); // todo }
public Changeset Commit(ICommitScmFileArgs args) { var ab = new ArgBuilder(); TempFile fileList = null; ab.Add("commit"); if (args.All) { ab.Add("--addremove"); } else if (args.Files?.Any() == true) { fileList = CreateFileList(args.Files); ab.Add($"--include listfile:\"{fileList}\""); } try { using (var msgFile = new TempFile("msg")) { File.WriteAllText(msgFile.FilePath, args.Message); ab.Add($"--logfile \"{msgFile}\""); RunCommand(ab, args); } } finally { fileList?.Dispose(); } return(null); // todo }