svn 'out of date'오류를 어떻게 극복합니까?
Subversion에서 디렉토리 구조를 한 위치에서 다른 위치로 이동하려고 시도했지만 Item '*' is out of date
커밋 오류가 발생합니다.
최신 버전을 체크 아웃했습니다 (알 수있는 한). svn st -u
mv 명령 이외의 차이점은 없습니다.
때로는 Windows에서 TortoiseSVN으로 이것을 얻습니다. 나를위한 해결책은 svn update
다운로드하거나 업데이트 할 개정이 없더라도 디렉토리에 대한 것입니다 . 메타 데이터에 무언가를 수행하여 마술처럼 수정합니다.
운 좋게도 모든 명백한 것들과 다른 제안을 시도한 후 Google 검색으로 인해이 링크로 연결되었습니다 (링크가 더 이상 작동하지 않음) -Subversion의 말 : 파일 또는 디렉토리가 최신 정보가 아닙니다
요컨대, 문제는 .svn 디렉토리 ( 해로운 파일이 포함 된 디렉토리 )로 이동 하여 "all-wcprops"파일을 삭제하는 것 입니다.
다른 일이 없으면 나를 위해 일했습니다.
이 문제는 .svn 파일에서 발생한다고 생각합니다. 이전 부모, 새 부모 또는 이전 부모에서 올바르지 않습니다. 나는 당신의 출발점으로 되돌아 가려고 노력할 것입니다. 내보내기를 사용하여 폴더의 깨끗한 사본을 얻으십시오. 클린 사본을 새 위치로 이동하고 추가 및 삭제를 사용하여 이동하십시오. 그것은 SVN 이하는 일을 수동으로 수행하지만 작동 할 수 있습니다.
나는 이것이 나를 위해 작동한다는 것을 발견했다.
svn update
svn resolved <dir>
svn commit
로컬 사본을 업데이트하려고했으나 해당 항목을 되돌리려 고했지만 여전히 '오래된'오류가 발생했습니다. 이것은 어떤 이유로 작동했습니다.
svn update --force /path/to/dir/or/file
방금 여러 폴더에서 동일한 문제가 발생했으며 이것이 커밋 한 것입니다.
1) "팀 동기화"관점에서 폴더를 마우스 오른쪽 단추로 클릭> 재정의 및 업데이트
2) 폴더를 다시 삭제
3) 커밋하고 행복해
감사합니다. 그것은 나를 위해 그것을 해결했습니다. svn update --force / 경로를 파일명 /
로컬 디렉토리의 최근 파일이 동일하면 프롬프트가 표시되지 않습니다. 파일이 다르면 tf, mf 등을 묻는 메시지가 표시됩니다. mf (mine full)를 선택하면 아무것도 덮어 쓰지 않고 완료되면 커밋 할 수 있습니다.
제이 컴퓨 마터
업데이트 버튼을 눌러 문제를 해결할 수 있습니다.
@ Alexander-Klyubin이 제안한 것처럼 저장소에서 이동하십시오. 또한 네트워크를 통해 모든 데이터를 다시 전송할 필요가 없기 때문에 이동해야 할 데이터가 많은 경우 특히 빠릅니다.
svn mv https://username@server/svn/old/ https://username@server/svn/new/
잘 작동합니다
명령을 실행하기 전에를 사용하여 파일 또는 경로를 제거하십시오.
sudo rm -r /path/to/dir/
이후 :
svn up and commit or delete
더 낮은 개정이 아닌 헤드를 체크 아웃 했습니까? 또한 최신 버전을 사용하도록 업데이트를 수행하셨습니까?
이것에 대한 토론이 있습니다 http://svn.haxx.se/users/archive-2007-01/0170.shtml .
저장소에서 직접 이동을 수행하십시오.
"오래된"메시지가 표시되는 다른 원인이 하나 이상 있습니다. 내 경우에는 "svn propset svn : ignore -F .gitignore"를 실행하여 생성 된 .svn / dir-props 문제가 발생했습니다. 처음으로. .svn / dir-props를 삭제하면 나쁜 생각처럼 보이고 다른 오류가 발생할 수 있으므로 "svn propdel"을 사용하여 잘못된 "svn propset"을 정리하는 것이 가장 좋습니다.
# Normal state, works fine.
> svn commit -m"bump"
Sending eac_cpf.xsl
Transmitting file data .
Committed revision 509.
# Set a property, but forget to commit.
> svn propset svn:ignore -F .gitignore .
property 'svn:ignore' set on '.'
# Edit a file. Should have committed before the edit.
> svn commit -m"bump"
Sending .
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating
# Delete the property.
> svn propdel svn:ignore .
property 'svn:ignore' deleted from '.'.
# Now the commit works fine.
> svn commit -m"bump"
Sending eac_cpf.xsl
Transmitting file data .
Committed revision 510.
github svn 브리지를 사용하는 경우 github의 측면에서 무언가가 변경 되었기 때문일 수 있습니다. 해결책은 간단합니다. 실행하기 만하면 svn switch
됩니다. 그러면 스스로를 찾은 다음 업데이트하면 모든 것이 작동합니다. 결제의 루트에서 다음을 실행하십시오.
svn info | grep Relative
svn switch path_from_previous_command
svn update
또는
svn switch `svn info | grep Relative | sed 's_.*: __'`
svn update
이 솔루션의 기초는 Lee Preimesberger의 블로그 에서 가져옵니다.
당신은 그것을 사용하여 이동하고 svn mv
, 아니면 그냥 mv
? 사용 mv
하면이 문제가 발생할 수 있다고 생각 합니다.
안전을 위해 디렉토리를 로컬 시스템으로 옮긴 다음 svn은 바보 같은 디렉토리를 삭제 한 다음 커밋했습니다. 로컬 컴퓨터에서 폴더를 추가하려고 할 때 여전히 오류가 발생했습니다 (폴더의 이름을 바꾸려고 할 때 SVN 이동으로 같은 일이 발생했습니다). 그래서 나는 되돌아 갔고 mkdir DIRNAME을 수행하고 추가하고 커밋했습니다. 그런 다음 내용을 추가하고 커밋하여 작동했습니다.
각각 파일이 들어있는 몇 개의 디렉토리를 삭제 한 후이 오류를 임의로 받았습니다. Netbeans를 통해 디렉토리를 삭제하고 실제로 삭제하지 않았다는 것을 깨달았습니다. 디렉토리 안의 모든 것을 삭제하고 Netbeans 내의 디렉토리에 대한 참조를 제거하는 것처럼 보였습니다. 그들은 여전히 파일 시스템에 존재했습니다. 파일 시스템에서 삭제되었는지 확인하고 커밋을 다시 시도하십시오.
한 번만 새로운 작업 복사본을 체크 아웃하고 .svn 디렉토리를 교체하여 새로이 체크 아웃 된 커밋 오류로 커밋 오류가 발생하여 비슷한 문제가 해결되었습니다. 필자의 경우 리포지토리 손상 및 백업에서 복원 한 후 작업 복사본이 복원 된 리포지토리에없는 수정 버전을 가리키고 있었기 때문입니다. 또한 "항목이 오래되었습니다"오류가 발생했습니다. 커밋 전에 작업 복사본을 업데이트해도 문제가 해결되지 않았지만 위에서 설명한대로 .svn을 대체했습니다.
나는 이것을했고 그것은 나를 위해 일했다 :
1. 파일을 백업하십시오. 코드를 텍스트 파일로 간단히 복사 할 수 있습니다.
2. 커밋하려는 파일 >> 팀 >> 이력 표시를 마우스 오른쪽 단추로 클릭하십시오. 3. "이력 표시"패널에 해당 파일의 모든 개정이 표시됩니다. 파일의 최신 개정판을 마우스 오른쪽 버튼으로 클릭 >> 개정판 가져 오기 : 로컬 변경 사항을 무시합니다.
4. 이제 코드를 백업 파일이있는 최신 파일과 병합하십시오 (1 단계).
5. 새로 병합 된 파일을 동기화하고 커밋합니다.
서버와 클라이언트를 Subversion 1.9로 업그레이드하십시오.
경우 out of date
오류가 무작위로 발생 커밋 실행할 때 일반적으로, 당신이 오래된 지원되지 않는 서브 버전 1.7 이상 클라이언트 또는 서버를 사용하여 나타낼 수 있습니다하지 말아야 할 때.
문제를 해결하려면 서버와 클라이언트를 업그레이드해야합니다. HTTPv1을 통해 커미트 할 때 관련 Subversion 1.9 릴리스 정보 항목 : "오래된 날짜"오류를 참조하십시오 .
오류는 특정 파일을 업데이트하지 않았기 때문에 먼저 업데이트 한 다음 파일을 커밋 할 수 있기 때문입니다.
.svn에서 직접 변경을 제외한 모든 것을 시도했습니다. 아무것도 도움이되지 않으므로 여기에 내 해결책이 있습니다.
Eclipse> Window> Show View> History 에서 여러 svn "Override & Update"/ "Revert"/ delete file and checkout을 만들었지 만 파일이 최신 개정판이 아니라는 것을 알았습니다.
그래서 패키지 탐색기로 이동하여 파일을 마우스 오른쪽 버튼으로 클릭하고 바꿀 내용> 최신 저장소에서을 클릭하십시오 .
기록보기의 또 다른 모습은 파일이 최신 개정판에 있음을 보여줍니다.
"정리"그것은 당신을 궤도에 올릴 것입니다.
svn 폴더를 마우스 오른쪽 버튼으로 클릭하고 '정리'를 클릭하십시오. 오류가 발생하면이 작업을 수행하십시오.
트렁크의 파일로 이전 릴리스의 분기를 업데이트했을 때 이런 일이 발생했습니다. Windows 탐색기를 사용하여 트렁크 체크 아웃 폴더 에서 폴더 를 복사 하여 릴리스 분기 체크 아웃 폴더의 Eclipse보기에 붙여 넣었습니다. 이제 Windows 탐색기는 "."로 시작하는 "숨겨진"파일을 표시하지 않도록 구성되었으므로 릴리스 분기 체크 아웃 폴더에 모든 잘못된 .svn 파일을 붙여 넣는 것을 알 수 없었습니다. 도!
내 솔루션은 손상된 Eclipse 프로젝트를 날려 버리고 다시 확인한 다음 새 파일을보다 신중하게 복사하는 것이 었습니다. 또한 "숨겨진"파일을 표시하도록 Windows를 변경했습니다.
일부 파일을 커밋하려고 할 때이 오류가 발생했습니다. 작업 사본에는 존재하지 않는 파일 / 폴더였습니다. 나는 파일을 옮기고 다시 체크 아웃하는 번거 로움을 끝내고 싶지 않았고 결국 .svn / entries 파일을 편집하고 문제가되는 디렉토리 참조를 제거했습니다.
제 경우에는 로컬 버전을 삭제하고 새로운 사본을 다시 체크 아웃하는 것이 해결책이었습니다.
방금이 오류가 발생했습니다. 원본 파일이 있는지 먼저 서버에서 확인하는 것이 좋습니다. 때로는 로컬 폴더에서 변경 사항이 적용되지 않습니다. 이 상황이라면 폴더를 삭제하고 다시 체크 아웃하십시오.
해결하려면 문제가있는 파일을 되돌리고 작업 사본을 업데이트해야했고 나중에 파일을 다시 수정했습니다.이 단계 후에 오류가 더 이상 발생하지 않았습니다.
svn을 명령 행에 입력하거나 Windows에있는 경우 svn 업데이트 옵션을 선택하십시오.
- 이 작업이 완료되면 커밋 및 다른 작업과 같은 추가 작업을 수행 할 수 있습니다.
디렉토리 commit
에서 시도하는 동안 방금 이것을 얻었습니다 trunk
. 디렉토리 svn update
에서 수행해도 trunk
오류가 해결되지 않았습니다. 그러나 svn update
부모 디렉토리 ( .svn
디렉토리가 속한)에서 수행하면 오류가 해결되었습니다.
무슨 일이 일어 났는지에 대한 나의 추측 (다른 것들의 유스 케이스,이 "svn : E160024 : 리소스가 오래되었습니다; 업데이트하십시오")에 대한 여러 가지 이유가있을 수 있습니다 :에 따라 디렉토리 trunk
가있었습니다 branches
. 내가 뽑아 branches/branch-1
로를 master
GitHub의에서. 수행 svn update
(즉, 내 작업 복사본의 루트) 대신 부모 디렉토리 trunk
에서 수행 뭔가가있는 것 branches
외에도을 trunk
. commit
다시 시도했을 때 오류가 없었습니다.
그러나 위에서 말했듯이 이것은 아마도 많은 경우 중 하나입니다.
참고 사항 : 누군가가 제안한 것과 달리 .svn
디렉토리 에서 수동으로 재생하는 것이 좋습니다 생각하지 않습니다 .
참고 URL : https://stackoverflow.com/questions/87950/how-do-you-overcome-the-svn-out-of-date-error
'Programming' 카테고리의 다른 글
활동 컨텍스트 외부에서 startActivity () 호출 (0) | 2020.03.05 |
---|---|
C ++의 구조 생성자? (0) | 2020.03.05 |
"예", "아니오"선택 사항 및 DialogResult로 메시지 상자를 작성하는 방법 (0) | 2020.03.05 |
bash 스크립트에서 타임 스탬프 변수 만들기 (0) | 2020.03.05 |
실행중인 컨테이너에서 쉘 세션을 시작할 수 있습니까 (ssh없이) (0) | 2020.03.05 |