Example #1
0
        public ActionResult RevisionDiff(string project, string revision)
        {
            MonkeyWrench.Public.Public ws2 = new Public ();
            Revision r = ws2.GetRevisionByRevision (int.Parse (revision));

            ViewData["PageTitle"] = string.Format ("MonkeyWrench - Revision {0}", revision);

            if (r == null || string.IsNullOrEmpty (r.FileDiff))
                ViewData["Diff"] = "Diff not available";
            else {
                try {
                    ViewData["Diff"] = new DiffViewer (r.FileDiff);
                } catch {
                    ViewData["Diff"] = r.FileDiff;
                }
            }

            return View ("RevisionDiff", r);

            //int revision_id;

            //WebServices ws = new WebServices ();
            //WebServiceLogin login = new WebServiceLogin ();

            //var rev = ws.FindRevision (login, null, revision);
            //revision_id = rev.Revision.id;

            //string log;
            //string diff;

            //// Download the commit log to add
            //string url = string.Format ("http://build.mono-project.com/GetRevisionLog.aspx?id={0}", revision_id);

            //WebClient wc = new WebClient ();
            //string content = wc.DownloadString (url);

            //Regex reg = new Regex (@"\<pre\ id\=\""ctl00_content_log\""\>(?<data>(?:.|\n)*?)\<\/pre\>", RegexOptions.Multiline);
            //Match m = reg.Match (content);
            //log = m.Groups["data"].Value.Trim ();

            //reg = new Regex (@"\<pre\ id\=\""ctl00_content_diff\""\>(?<data>(?:.|\n)*?)\<\/pre\>", RegexOptions.Multiline);
            //m = reg.Match (content);
            //diff = m.Groups["data"].Value.Trim ();

            //Revision r = new Revision ();

            //r.Author = rev.Revision.author;
            //r.SvnLog = System.Web.HttpUtility.HtmlDecode (log);
            //r.RevisionNumber = int.Parse (revision);
            //r.Time = rev.Revision.date;

            //ViewData["PageTitle"] = string.Format ("MonkeyWrench - Revision {0}", r.RevisionNumber);

            //if (string.IsNullOrEmpty (diff))
            //        ViewData["Diff"] = "Diff not available";
            //else {
            //        try {
            //                ViewData["Diff"] = new DiffViewer (System.Web.HttpUtility.HtmlDecode (diff));
            //        } catch {
            //                ViewData["Diff"] = System.Web.HttpUtility.HtmlDecode (diff);
            //        }
            //}

            //return View ("RevisionDiff", r);
        }