public ActionResult Deploy(Guid id)
        {
            var p = projs.FindOne(Query.EQ("_id", id));

            if (p != null)
            {

                string workingPath = null;
                var wc = ConfigurationManager.AppSettings;
                if (wc.AllKeys.Contains("workingDirectory"))
                {
                    workingPath = wc["workingDirectory"];
                }

                var publisher = new Publisher(workingPath);

                string path = string.Empty;
                publisher.CloneRepo(p.GitRepositoryUrl, out path, p.GitUsername, p.GitPassword);
                publisher.UploadFiles(path, p.AmazonKey, p.AmazonSecretKey, p.AmazonS3Bucket);
                try
                {
                    Directory.Delete(path, true);
                } catch{EventLog.WriteEntry("Application", "Unable to delete temp directory: "+ path, EventLogEntryType.Warning);}
            }

            return new EmptyResult();
        }
        public void CanCheckoutFromPublicRepoWithoutCredentials()
        {
            var pub = new Publisher();

            string tempDirPath = string.Empty;
            var r = pub.CloneRepo("https://path.to.repo.git", out tempDirPath);

            Assert.IsNotEmpty(tempDirPath);
        }