문제

며칠 전에 Google 코드에서 델파이 프로젝트를 구축하는 데 어려움을 겪고있는 사람으로부터 이메일을 받았습니다. 프로젝트 파일과 DFM 파일 중 하나는 내가 체크인 한 몇 가지 변경 사항으로 업데이트 된 후 Munged되었습니다. 우리는 조금 앞뒤로 이야기했고, 그가 말한 내용으로 추적하여 여분의 물건을 던지는 것으로 추적했습니다. 그는 파일을 삭제하고 다시 업데이트를 실행했으며 잘 작동했습니다.

나는 전에이 문제를 본 적이 없으며, 나는 내 끝에 어떤 문제를 재현하거나 확인할 수 없었습니다. 저장소에 대한 쓰기 액세스가있는 유일한 사용자이기 때문에 다른 사용자와의 업데이트 충돌이 없었습니다. 그래서 나는 이것을 일으킬 수 있었는지 궁금합니다. 이것은 SVN에 알려진 문제입니까? 그것을 막을 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

DFM 파일이 전복으로 텍스트로 처리 된 경우 사용자가 로컬 변경이 있다고 가정하면 병합을 시도합니다. 갈등이 있고 전복이 해결 될 수없는 경우, 충돌을 수동으로 해결하는 데 도움이되는 추가 세부 사항을 추가 할 수 있습니다. <<<<<<< .mine 물론 델파이의 보크는 무엇입니까? 또한 전복이 자동으로 병합을했는데 충돌하지는 않았지만 손상된 DFM 파일로 이어질 수도 있습니다.

문제를 보지 못한 이유는 아마도 로컬 변경이 없었기 때문에 병합이 필요하지 않았기 때문일 수 있습니다. 파일을 삭제하거나 되돌리면 작업 사본을 다시 기본으로 재설정하므로 업데이트가 병합을 수행 할 필요가 없습니다.

한 가지 해결책 : 텍스트 파일이있는 경우 ~ 아니다 전복으로 병합 된 다음 설정하십시오 SVN : 마임 유형 적절한 텍스트 값으로, 이진으로 처리하고 병합을 시도하지 않습니다. 문제를 수동으로 해결해야합니다. 또한, 민감한 텍스트 파일을 전복에 저장해야하고 내용을 보여주는 차이를 원하지 않는 경우에도 이것은 좋은 팁입니다. :)

다른 팁

그 또는 그의 로컬 시스템이 두 파일을 관리했다고 가정합니다.

그런 다음 그가 업데이트하고 작동하지 않는 것을 발견한다고 가정합니다. 손가락 포인팅 후 그는 파일을 삭제합니다.

Entia non sunt multiplicanda praeter 필수 요소.

이상한 구문 오류는 컴파일러 버그이고 손상된 파일이 svn 버그, 일반적으로 더 많은 냉담한 이유가 있으며, 우리는 그것을 가지고 있습니다. 오크 햄의 윌리엄 더 간단한 설명이 일반적으로 올바른 설명이라는 권한.

"munged"파일에 "광산"또는 "그들의"텍스트가 포함되어 있습니까?

그렇다면 그는 아마도 그의 갈등 결의안을 멈추고 결국 그들의 나라 또는 광산을 부주의하게 저지른 것을 끝내었다.

또는 Merge가 파일의 "관련이없는"부분에 있었지만 SVN (또는 순진한 자동 포함 프로세스)에 대해 자동으로 변경 될 수 있다고 생각할 가능성이 전적으로 가능합니다. 't/겹치지 않았습니다.

"Naive"Auto-Merge는 파일 내부의 구조에 대해서는 아무것도 알지 못하므로 실제로 변경 사항이 서로 부작용이 발생할 때 관련이 있다고 생각되는 변경 사항을 쉽게 병합 할 수 있습니다. 알지 못하고 정확하게 "munging"의 본질은 확실히 말하기는 어렵지만,이 경우 "추가 물건"에 대한 언급은 "광산"또는 "그들의"개정의 실수가없는 상상이 가장 가능성이 높다는 것을 시사합니다.

어떤 델파이 버전? 구형 Delphi 버전에는 때때로 텍스트 DFM 파일이 바이너리가 된 버그가있었습니다.

파일이 갑자기 이진이되면 소스 제어 시스템이 사라집니다.

-jeroen

여러 플랫폼에서 작업하고 있습니까? Unix 라인 엔딩을 가정하는 편집자를 사용하고 있습니까 (일부 Cygwin 도구와 같은?)

그렇다면 EOL 스타일 속성을 올바르게 구성했는지 확인하십시오.

나는 SVN 업데이트를 수행했으며 SVN은 <<<<<<<<. Delphi가 프로젝트를 열 수 있기 전에 수동으로 수정 사항을 삭제해야했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top