2009-12-03 5 views
1

전 2 가지 체크 아웃을 할 수 있도록 서브 버전을 사용하고 있습니다. 하나는 테스트가 작동하는지 테스트하고 다른 하나는 공개 라이브 사이트입니다. 나는 테스트 사이트에서 몇 가지 변경 사항을 만들었지 만 워드 프레스 설치에 대한 업데이트를 만들었습니다. 이제 라이브 사이트에서 변경 사항을 적용 할 수 없습니다. subversion "오래된 것"질문

[[email protected] public_html]$ svn commit -m "this time, it's personal" 
svn: Commit failed (details follow): 
svn: Working copy 
'/usr/local/apache/sites/nextadvisor_admin/blog/wp-content/plugins' is 
missing or not locked 

은 그래서 ...
[[email protected] public_html]$svn rm blog/wp-content/plugins --force 
[[email protected] public_html]$svn rm blog/wp-content/plugins --force 
[[email protected] public_html]$svn add blog/wp-content/plugins --force 

모든 파일

내가 온라인으로 볼 때 나는이
[[email protected] public_html]$ svn commit -m "this time really" 
Sending  blog/.htaccess 
Replacing  blog/wp-content 
svn: Commit failed (details follow): 
svn: Out of date: '/trunk/blog/wp-content/plugins' in transaction '186-1' 

좋아 그래서 내가 SVN 업데이트를 수행하는 이야기

, 다시 추가되었다 하지만 전에 한 번 시도하고 "블로그 /"폴더가 내 테스트 체크 아웃에 존재하지 않기 때문에 모든 로컬 변경 사항을 지 웁니다.

제 질문은 로컬 편집을 잃지 않고이 커밋 작업을 어떻게 할 수 있습니까?

업데이트 : svnupdate을 실행하면

, 그것은 저에게 말한다 :

SVN : 작업 사본 경로 '블로그/WP - 콘텐츠/플러그인'리포지터리 (repository) 내에 존재하지 않습니다

답변

4
  • 저장 로컬로 수정 한 파일을 복사본으로 복사하십시오.

  • svn update

  • 다시

  • 이 커밋 않는 'svn update D'버전을 통해 변경된 파일을 복사 수행합니다.

+0

내가 svnupdate를 실행하면, 그것은 저에게 말한다 : SVN은 : 전문 경로 '블로그/WP - 콘텐츠/플러그인' –

+0

말할 수없는 개발 시간이 일을 사람들에 의해 손실 된 저장소에 존재하지 않는 복사합니다. 다른 사람의 변경 사항을 되돌릴 수 없다는 것을 확인하는 것이 좋습니다. 아마 그렇게 할 수 있습니다. – retracile

+0

물론 이것은 체크인하기 전에 diff를 검사한다고 가정합니다. 자신의 일을하지 않는 프로그래머는 아닙니다. –

1

일이 오래되면 커밋하기 전에 먼저 svn update을 수행해야합니다. svn update는 로컬에서 변경된 파일을 덮어 쓰지 않습니다. 이것이 사실이라고 주장하지만, 그렇지 않습니다. 왜냐하면 전복은 그렇게하지 않기 때문입니다.

그러나 작업 흐름은 언제나 문제를 야기 할 것입니다. 왜냐하면 당신은 언제나 파괴가 작동하도록 설계된 방식에 맞서기 위해 작업하고 있기 때문입니다. 일반적인 이벤트 과정에서 --force 플래그를 사용하면 언제든지 도구를 사용하지 않고 도구와 싸우고 있다는 신호입니다.

당신이하고 싶은 일을한다면, 지사를 만들고 지부에서 일하는 것이 훨씬 낫다. 그런 다음 라이브로 이동할 준비가되면 dev 브랜치를 트렁크에 병합하고 라이브 체크 아웃을 업데이트하십시오.

또한 라이브 사이트에서 변경 사항을 커밋하지 않아야합니다. 그게 당신의 테스트 사이트입니다. 라이브 사이트는 읽기 전용 체크 아웃으로 간주되어야합니다.

+0

예 내가 한 일은 오용이라고 알고 있습니다. 사용자가 라이브 사이트를 변경했습니다. 이 문제를 해결하여 라이브 사이트를 사용하여 svn 업데이트 만 실행하고 다시 커밋하지 마십시오. –

+1

일들이 완전히 fubarred되면, 기존 디렉토리를 방해하지 마시고, svn 체크 아웃을 한 다음, 다시 들어가서 원하는 것을 옮깁니다. – Rudedog