public string GetPathToPackFile(ParsedReceivePack receivePack)
 {
     return Path.Combine(
                 receivePackRecoveryDirectory,
                 "ReceivePack",
                 StripIllegalChars(string.Format("{0}.{1}.pack", receivePack.RepositoryName, receivePack.PackId)));
 }
Ejemplo n.º 2
0
 public string GetPathToPackFile(ParsedReceivePack receivePack)
 {
     return(Path.Combine(
                receivePackRecoveryDirectory,
                "ReceivePack",
                StripIllegalChars(string.Format("{0}.{1}.pack", receivePack.RepositoryName, receivePack.PackId))));
 }
Ejemplo n.º 3
0
        private void ProcessOnePack(ParsedReceivePack receivePack, GitExecutionResult result)
        {
            next.PostPackReceive(receivePack, result);

            var packFilePath = recoveryFilePathBuilder.GetPathToPackFile(receivePack);

            if (File.Exists(packFilePath))
            {
                File.Delete(packFilePath);
            }
        }
Ejemplo n.º 4
0
        public void PostPackReceive(ParsedReceivePack receivePack, GitExecutionResult result)
        {
            next.PostPackReceive(receivePack, result);

            if (result.HasError)
            {
                return;
            }

            var repo = repoConfig.GetRepository(receivePack.RepositoryName);

            if (repo.AuditPushUser == true)
            {
                var user  = receivePack.PushedByUser;
                var email = "";
                if (string.IsNullOrEmpty(user))
                {
                    user = EMPTY_USER;
                }
                else
                {
                    var userData = userRepo.GetUserModel(user);
                    if (userData != null)
                    {
                        email = userData.Email;
                    }
                }

                var gitRepo = new Repository(repoLocator.GetRepositoryDirectoryPath(receivePack.RepositoryName).FullName);
                foreach (var commit in receivePack.Commits)
                {
                    gitRepo.Notes.Add(
                        new ObjectId(commit.Id),
                        user,
                        new Signature(user, email, DateTimeOffset.Now),
                        new Signature(user, email, DateTimeOffset.Now),
                        "pusher");
                }
            }
        }
        public void PostPackReceive(ParsedReceivePack receivePack, GitExecutionResult result)
        {
            Console.WriteLine("PostPackReceive {0}, {1}", receivePack, result);
            next.PostPackReceive(receivePack, result);

            if (result.HasError)
            {
                return;
            }

            var repo = repoConfig.GetRepository(receivePack.RepositoryName);
            if (repo.AuditPushUser == true)
            {
                var user = receivePack.PushedByUser;
                var email = "";
                if (string.IsNullOrEmpty(user))
                {
                    user = EMPTY_USER;
                } else {
                    var userData = userRepo.GetUser(user);
                    if(userData != null) {
                        email = userData.Email;
                    }
                }

                var gitRepo = new Repository(repoLocator.GetRepositoryDirectoryPath(receivePack.RepositoryName).FullName);
                foreach (var commit in receivePack.Commits)
                {
                    gitRepo.Notes.Add(
                        new ObjectId(commit.Id),
                        user,
                        new Signature(user, email, DateTimeOffset.Now),
                        new Signature(user, email, DateTimeOffset.Now),
                        "pusher");
                }
            }            
        }
 public void PrePackReceive(ParsedReceivePack receivePack)
 {
     next.PrePackReceive(receivePack);
 }
Ejemplo n.º 7
0
 public void PrePackReceive(ParsedReceivePack receivePack)
 {
     // do nothing
 }
Ejemplo n.º 8
0
 public void PostPackReceive(ParsedReceivePack receivePack, GitExecutionResult result)
 {
     // do nothing
 }
 public string GetPathToPackFile(ParsedReceivePack receivePack)
 {
     return CreateDirectoryForFile(pathBuilder.GetPathToPackFile(receivePack));
 }
Ejemplo n.º 10
0
 public void PostPackReceive(ParsedReceivePack receivePack, GitExecutionResult result)
 {
     ProcessOnePack(receivePack, result);
     RecoverAll();
 }
Ejemplo n.º 11
0
 public void PrePackReceive(ParsedReceivePack receivePack)
 {
     File.WriteAllText(recoveryFilePathBuilder.GetPathToPackFile(receivePack), JsonConvert.SerializeObject(receivePack));
     next.PrePackReceive(receivePack);
 }
Ejemplo n.º 12
0
 public string GetPathToPackFile(ParsedReceivePack receivePack)
 {
     return(CreateDirectoryForFile(pathBuilder.GetPathToPackFile(receivePack)));
 }
Ejemplo n.º 13
0
 public void PrePackReceive(ParsedReceivePack receivePack)
 {
     next.PrePackReceive(receivePack);
 }