예제 #1
0
        public static string GetInfo(string[] args, string revision)
        {
            Parameters parameters;

            if (!Parameters.TryParse(args, out parameters))
            {
                return("False");
            }

            using (var client = new SharpSvn.SvnClient())
            {
                SetUpClient(parameters, client);

                var target = SvnTarget.FromString(parameters.Path);
                SvnInfoEventArgs svnInfoEventArgs;
                SvnUpdateResult  svnUpdateResult;

                if (!client.GetInfo(target, out svnInfoEventArgs))
                {
                    throw new Exception("SVN info failed");
                }
                Uri svnUrl = svnInfoEventArgs.Uri;
                return(svnInfoEventArgs.Revision.ToString());

                throw new Exception("SVN update failed");
            }
            return("jhgjg");
        }
예제 #2
0
        public static void Main_consol(string[] args)
        {
            // This doesn't affect SVN server certs
            //ServicePointManager.ServerCertificateValidationCallback += delegate { Console.WriteLine("ServerCertificateValidationCallback!"); return true; };

            Parameters parameters;

            if (!Parameters.TryParse(args, out parameters))
            {
                return;
            }
            //костыль
            //if (parameters.Path.IndexOf("--message=") > 0)

            //{
            //    parameters.Path = args[2];
            //    parameters.Path = args[2];   }

            switch (parameters.Command)
            {
            case Command.CompleteSync:
                CompleteSync(parameters);
                break;

            case Command.CheckoutUpdate:
                CheckoutUpdate(parameters);
                break;
            }
        }
예제 #3
0
        public static string GetLogText(string[] args, string revision, out Collection <SvnLogEventArgs> logItemsColl)
        {
            Parameters parameters;

            if (!Parameters.TryParse(args, out parameters))
            {
                throw new Exception("TryParse failed");
            }

            using (var client = new SharpSvn.SvnClient())
            {
                SetUpClient(parameters, client);

                var target = SvnTarget.FromString(parameters.Path);
                SvnInfoEventArgs svnInfoEventArgs;
                SvnUpdateResult  svnUpdateResult;

                if (!client.GetInfo(target, out svnInfoEventArgs))
                {
                    throw new Exception("SVN info failed");
                }

                Uri  svnUrl       = svnInfoEventArgs.Uri;
                long revisionLong = long.Parse(revision);

                long revisionLongTo = svnInfoEventArgs.Revision;


                SvnLogArgs Logargs = new SvnLogArgs
                {
                    Range = new SvnRevisionRange(revisionLong, revisionLongTo)
                };
                Collection <SvnLogEventArgs> logItems;
                //  client.GetLog(svnUrl, Logargs, out logItems);
                client.GetLog(svnUrl, out logItemsColl);

                string AlllogText = "";
                for (int i = logItemsColl.Count - 1; i > 0; i--)
                {
                    AlllogText = AlllogText + (Char)13 + (Char)10 +
                                 logItemsColl[i].Revision.ToString() + " " + logItemsColl[i].Time.ToString() + " " + logItemsColl[i].LogMessage;
                }



                return(AlllogText);

                throw new Exception("SVN update failed");
            }



            return("jhgjg");
        }
예제 #4
0
        public static string UpdateToRevision(string[] args, string revision)
        {
            Parameters parameters;

            if (!Parameters.TryParse(args, out parameters))
            {
                return("False");
            }

            using (var client = new SharpSvn.SvnClient())
            {
                SetUpClient(parameters, client);

                var target = SvnTarget.FromString(parameters.Path);
                SvnInfoEventArgs svnInfoEventArgs;
                SvnUpdateResult  svnUpdateResult;

                if (!client.GetInfo(target, out svnInfoEventArgs))
                {
                    throw new Exception("SVN info failed");
                }

                Uri  svnUrl       = svnInfoEventArgs.Uri;
                long revisionLong = long.Parse(revision);


                //update to revision

                //DebugMessage(parameters, "Updating");
                SvnUpdateArgs SvnArgs = new SvnUpdateArgs();
                //// If args.Revision is not set, it defaults to fetch the HEAD revision.
                SvnArgs.Revision = revisionLong;
                if (client.Update(parameters.Path, SvnArgs, out svnUpdateResult))
                {
                    DebugMessage(parameters, "Done");

                    Console.WriteLine("Updated to r" + svnUpdateResult.Revision);
                    return("true");
                }
                throw new Exception("SVN update failed");
            }
            return("jhgjg");
        }
예제 #5
0
        static void Main(string[] args)
        {
            // This doesn't affect SVN server certs
            //ServicePointManager.ServerCertificateValidationCallback += delegate { Console.WriteLine("ServerCertificateValidationCallback!"); return true; };

            Parameters parameters;

            if (!Parameters.TryParse(args, out parameters))
            {
                return;
            }

            switch (parameters.Command)
            {
            case Command.CompleteSync:
                CompleteSync(parameters);
                break;

            case Command.CheckoutUpdate:
                CheckoutUpdate(parameters);
                break;
            }
        }
예제 #6
0
        public static void Diff_ReposDiff(string[] args, long Rev1, long Rev2)
        {
            //string clientDiff = this.RunCommand("svn", "diff -r 1:5 " + this.ReposUrl);

            MemoryStream outstream = new MemoryStream();
            MemoryStream errstream = new MemoryStream();

            SvnDiffArgs a = new SvnDiffArgs();

            Parameters parameters;

            if (!Parameters.TryParse(args, out parameters))
            {
                return;
            }

            using (var client = new SharpSvn.SvnClient())
            {
                SetUpClient(parameters, client);

                var target = SvnTarget.FromString(parameters.Path);
                SvnInfoEventArgs svnInfoEventArgs;
                SvnUpdateResult  svnUpdateResult;

                if (!client.GetInfo(target, out svnInfoEventArgs))
                {
                    throw new Exception("SVN info failed");
                }

                Uri svnUrl = svnInfoEventArgs.Uri;

                a.ErrorStream = errstream;

                try
                {
                    client.Diff(target, new SvnRevisionRange(Rev1, Rev2), a, outstream);
                }

                catch (Exception)
                {
                    throw new Exception("SVN diff failed");
                    //  return ;
                }


                return;
            }



            //string err = Encoding.Default.GetString(errstream.ToArray());
            //Assert.That(err, Is.EqualTo(string.Empty), "Error in diff: " + err);

            //string apiDiff = Encoding.Default.GetString(outstream.ToArray());
            //string[] clientLines = clientDiff.Split('\n');
            //string[] apiLines = apiDiff.Split('\n');
            //Array.Sort<string>(clientLines);
            //Array.Sort<string>(apiLines);

            //Assert.That(apiLines, Is.EqualTo(clientLines), "Diffs differ");
        }