Esempio n. 1
0
        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
        }
Esempio n. 2
0
        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
        }