コード例 #1
0
        public int ListShelvesets(ShelveList shelveList, IGitTfsRemote remote)
        {
            var shelvesetOwner = shelveList.Owner == "all" ? null : (shelveList.Owner ?? GetAuthenticatedUser());
            IEnumerable <Shelveset> shelvesets;

            try
            {
                shelvesets = VersionControl.QueryShelvesets(null, shelvesetOwner);
            }
            catch (IdentityNotFoundException e)
            {
                _stdout.WriteLine("User '{0}' not found", shelveList.Owner);
                return(GitTfsExitCodes.InvalidArguments);
            }
            if (shelvesets.Empty())
            {
                _stdout.WriteLine("No changesets found.");
                return(GitTfsExitCodes.OK);
            }

            string sortBy = shelveList.SortBy;

            if (sortBy != null)
            {
                switch (sortBy.ToLowerInvariant())
                {
                case "date":
                    shelvesets = shelvesets.OrderBy(s => s.CreationDate);
                    break;

                case "owner":
                    shelvesets = shelvesets.OrderBy(s => s.OwnerName);
                    break;

                case "name":
                    shelvesets = shelvesets.OrderBy(s => s.Name);
                    break;

                case "comment":
                    shelvesets = shelvesets.OrderBy(s => s.Comment);
                    break;

                default:
                    _stdout.WriteLine("ERROR: sorting criteria '{0}' is invalid. Possible values are: date, owner, name, comment", sortBy);
                    return(GitTfsExitCodes.InvalidArguments);
                }
            }
            if (shelveList.FullFormat)
            {
                WriteShelvesetsToStdoutDetailed(shelvesets);
            }
            else
            {
                WriteShelvesetsToStdout(shelvesets);
            }
            return(GitTfsExitCodes.OK);
        }
コード例 #2
0
 public int ListShelvesets(ShelveList shelveList, IGitTfsRemote remote)
 {
     throw new NotImplementedException();
 }