public ActionResult Build(string name)
        {
            string values = Request.Form.ToString();
            try
            {
                Log(string.Concat("Form: ", Request.Form.ToString()));
                IEnumerable<HookInfo> hi;
                if (!string.IsNullOrEmpty(name))
                    hi = new List<HookInfo> { new HookInfo{ Repository = new Repository { Name = name }, User = null } };
                else
                {
                    var parser = new CodebaseHqHookParser();
                    hi = parser.Parse(Request.Form);
                }
                if (hi.Count() > 0)
                {
                    IBuildEngine engine = GetBuildEngine();
                    Log(string.Concat("Repository: ", hi.First().Repository.Name, "(", (hi.First().Branch ?? new Branch()).Name, ")"));
                    engine.ForceBuild(hi.First().Repository.Name, hi.First().Branch);
                }
                Log(Environment.NewLine);
            }
            catch (Exception ex)
            {
                Log(string.Concat("Error:", ex.Message));
                throw;
            }

            return (string.IsNullOrEmpty(name)) ? View() : (ActionResult)RedirectToAction("index");
        }