Esempio n. 1
0
        public ScmFile[] GetFiles(IGetScmFileArgs args)
        {
            var command = args.All ? "files" : "status";

            var ab = new ArgBuilder();

            ab.Add(command);
            TempFile fileList = null;

            if (args.Files != null)
            {
                if (args.Files.Any())
                {
                    fileList = CreateFileList(args.Files);
                    ab.Add($"--include listfile:\"{fileList}\"");
                }
            }

            string[] files;
            try
            {
                if (args.Query != null)
                {
                    ab.Add($"--rev \"{FormatQuery(args.Query)}\"");
                }
                files = RunCommand(ab, args);
            }
            finally
            {
                fileList?.Dispose();
            }

            var dict = new Dictionary <char, ScmFileStatus>
            {
                { 'C', ScmFileStatus.Clean },
                { 'M', ScmFileStatus.Modified },
                { 'A', ScmFileStatus.Added },
                { 'R', ScmFileStatus.Removed },
                { '?', ScmFileStatus.Unknown },
                { '!', ScmFileStatus.Missing },
            };

            return(files.Select(file =>
            {
                var status = dict[file[0]];
                var localFilename = file.Substring(2);
                return new ScmFile(args.RepositoryPath, localFilename, status);
            }).ToArray());
        }
Esempio n. 2
0
 public ScmFile[] GetFiles(IGetScmFileArgs args)
 {
     throw new NotImplementedException();
 }