Python의 Whitespace 의존성은 병합과 관련하여 소스 제어와 얼마나 상호 작용합니까?

StackOverflow https://stackoverflow.com/questions/119399

문제

중첩을 조정하기 위해 코드의 압입을 변경해야 할 필요가 SVN과 같은 시스템의 변화를 병합하는 데 부정적인 영향을 미치는지 궁금합니다.

도움이 되었습니까?

해결책

프로젝트의 모든 사람들이 동일한 공백 스타일 (공백 또는 탭)을 사용하기로 동의 한 한 잘 작동합니다.

그러나 개발자가 전체 파일을 공백에서 탭으로 변환 한 경우를 보았습니다 (Eclipse가 기능으로 CTRL+탭에 바인딩 한 것 같습니다).

다른 팁

나는 SVN 및 Mercurial과 함께 Python을 사용했으며 번거리를 합병하지 않았습니다.

그것은 모두 차이가 어떻게 수행되는지에 달려 있습니다. 그리고 나는 그것이 문자별로의 의심되는데, 이는 한 수준의 들여 쓰기와 다른 수준의 차이를 알 수 있습니다.

일반적으로 소스 제어 시스템은 기본적으로 라인 별 기준으로 병합됩니다. Python 코드를 병합하는 것은 합리적으로 들여 쓰기 된 다른 소스 코드를 병합하는 것과 다르지 않다는 것을 알았습니다. 한 프로그래머가 코드 블록을 감싸는 경우 if 진술 (전체 블록을 들여 쓰기)과 다른 프로그래머는 블록 내부에 무언가를 수정 한 다음 병합 충돌이 발생합니다. 다행히도이 경우 갈등은 해결하기 쉽습니다.

외부 병합 도구를 사용하는 경우 위의 시나리오를 자동으로 고려하는보다 자세한 텍스트 병합 알고리즘을 지원할 수 있습니다.

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