2015-01-20 2 views
0

프로젝트에 대한 변경 사항을 내 svn 서버에 커밋하려고했지만 작동하지 않습니다.파일이 제대로 작동하지 않습니다.

테스트

: 나는 폴더에 아래의 코드를 실행 아무것도 변경되지 않은 예상대로 아무것도, 그럼 난 새 폴더를 만들 수없는 일이 발생 한 후 다시 코드를 실행,이 시간 아무 일이 보인다는 코드가 실행되고 오류없이 반환됩니다.

public bool svnCommitProject(String project, String message) 
{ 
    using (SvnClient client = new SvnClient()) 
    { 
     try 
     { 
      SvnCommitArgs args = new SvnCommitArgs(); 
      args.LogMessage = message; 
      client.Authentication.ForceCredentials(Properties.Settings.Default.Username, Properties.Settings.Default.Password); 
      return client.Commit(Properties.Settings.Default.LocalFolderPath + Properties.Settings.Default.Username + @"\" + project, args); 
     } 
     catch 
     { 
      MessageBox.Show("ERROR"); 
      return false; 
     } 
    } 
} 

의심 문제 :이보고에서 와 나는 파일 었소 제어를 svn을 위해 "추가"되어 있기 때문에 문제가있는 것으로 생각하지만, 확실하지 메신저 구글.

이 경우입니까? 그렇다면 추가해야 할 파일을 어떻게 추가할까요? 또한 비슷한 파일이 삭제되거나 수정 된 파일에 필요할 것이라고 가정합니다.이 내용이 정확하고 어떻게 추가할까요?

+0

"예상대로 아무 것도 일어나지 않습니다."- 좋아, 그러면 ** 무엇이 ** 일어 납니까? – alroc

+0

@alroc 당신이 내 게시물을 읽는다면, 나는 테스트 섹션에서 코드가 실행되고 에러 메시지가 나타나지 않는다고 말했다. 의미는 캐치 섹션 wasnt 활용하고 코드는 시도 않았다. 하지만 아무것도 커밋되지 않습니다, svn 폴더에 새 파일이 있지만 커밋 로그 및 기록이 없습니다. 전체 폴더를 삭제하고 다시 체크 아웃하면 새 파일이 없습니다. 오류가없고 아무 것도 일어나지 않으며 커밋도 없습니다. – NoLiver92

답변

0

Find files not added to subversion

예, 단지 저지하기 위해 SVN을 말하지 않는 로컬 작업 디렉토리에 삭제 파일을 참조하십시오.

Collection<SvnStatusEventArgs> filesStatuses = new Collection<SvnStatusEventArgs>(); 
if (!client.GetStatus(localDir, new SvnStatusArgs 
{ 
    Depth = SvnDepth.Infinity, 
    RetrieveRemoteStatus = true, 
    RetrieveAllEntries = true 
}, out workDirFilesStatus)) 
{ 
    throw new SvnOperationCanceledException("SvnClient.GetStatus doesn't return anything."); 
} 

filesStatuses.Where(i => i.LocalContentStatus == SvnStatus.NotVersioned).ToList().ForEach(i => svnC.Add(i.Path)); 
filesStatuses.Where(i => i.LocalContentStatus == SvnStatus.Missing).ToList().ForEach(i => svnC.Delete(i.Path));