Subversion에서 디렉토리 구조를 한 위치에서 다른 위치로 이동하려고 시도했지만 Item '*' is out of date
커밋 오류가 발생합니다.
최신 버전을 체크 아웃했습니다 (알 수있는 한). svn st -u
mv 명령 이외의 차이점은 없습니다.
Subversion에서 디렉토리 구조를 한 위치에서 다른 위치로 이동하려고 시도했지만 Item '*' is out of date
커밋 오류가 발생합니다.
최신 버전을 체크 아웃했습니다 (알 수있는 한). svn st -u
mv 명령 이외의 차이점은 없습니다.
답변:
때로는 Windows에서 TortoiseSVN으로 이것을 얻습니다. 나를위한 해결책은 svn update
다운로드하거나 업데이트 할 개정이 없더라도 디렉토리에 대한 것입니다 . 그것은 메타 데이터에 무언가를 수행하여 마술처럼 수정합니다.
운 좋게도 모든 명백한 것들과 다른 제안을 시도한 후 Google 검색으로 인해이 링크로 연결되었습니다 (링크가 더 이상 작동하지 않음) -Subversion의 말 : 파일 또는 디렉토리가 최신 정보가 아닙니다
간단히 말해서, 문제는 .svn 디렉토리 ( 해로운 파일이 포함 된 디렉토리 )로 이동 하여 "all-wcprops"파일을 삭제하는 것 입니다.
다른 일이 없으면 나를 위해 일했습니다.
all-wcprops
, .sv
디렉토리 내에 파일 이 없습니다
나는 이것이 나를 위해 작동한다는 것을 발견했다.
svn update
svn resolved <dir>
svn commit
svn update
전에 하지 않고 나를 위해 일한 나는 업데이트를 피하고 싶었던 시나리오가있었습니다. (그래서 방금 해결하고 커밋했으며 작동했습니다)
더 낮은 개정이 아닌 헤드를 체크 아웃 했습니까? 또한 최신 버전을 사용하도록 업데이트를 수행하셨습니까?
이것에 대한 토론이 있습니다 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은 바보 같은 디렉토리를 삭제 한 다음 커밋했습니다. 로컬 컴퓨터에서 폴더를 추가하려고 할 때 여전히 오류가 발생했습니다 (SVN 이동은 폴더의 이름을 바꾸려고 할 때도 동일한 작업을 수행했습니다). 그래서 나는 되돌아 갔고 mkdir DIRNAME을 수행하고 추가하고 커밋했습니다. 그런 다음 내용을 추가하고 커밋하여 작동했습니다.
서버와 클라이언트를 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를 변경했습니다.
디렉토리 commit
에서 시도하는 동안 방금 이것을 얻었습니다 trunk
. 디렉토리 svn update
에서 수행해도 trunk
오류가 해결되지 않았습니다. 그러나 svn update
상위 디렉토리 (여기서.svn
디렉토리가 속한)에서 수행하면 오류가 해결되었습니다.
무슨 일이 있었는지에 대한 나의 추측 (다른 것들의 유스 케이스,이 "svn : E160024 : 리소스가 오래되었습니다; 업데이트 시도")에 대한 여러 가지 이유가있을 수 있습니다 :에 따라 디렉토리 trunk
가있었습니다 branches
. 내가 뽑아 branches/branch-1
로를 master
GitHub의에서. 수행 svn update
(즉, 내 작업 복사본의 루트) 대신 부모 디렉토리 trunk
에서 수행 뭔가가있는 것 branches
외에도을 trunk
. commit
다시 시도했을 때 오류가 없었습니다.
그러나 위에서 말했듯이 이것은 아마도 많은 경우 중 하나입니다.
참고 사항 : 누군가가 제안한 것과 달리 .svn
디렉토리 에서 수동으로 재생하는 것이 좋습니다 생각하지 않습니다 .