2014-09-04 3 views
0

나는 Secret M. Chronicles (SMC)라고하는 오픈 소스 프로젝트에 관여했습니다.K & R 서식 지정 제거

우리는 자식에 약간의 문제가 병합 발생하는 것 같다 :

  • 우리는 두 가지 주요 자식에 지사를 가지고 : 해제 - 2.0 (곧 출시) 및 (개발) (STABLE)
  • 을 모든 소스 코드를 K & R 서식 표준으로 전환하기로 결정했습니다.
  • 형식이 devel에는 적용되었지만 release-2.0에는 적용되지 않았습니다. 팀 구성원 중 한 명은 형식 도구가 논리가 변경되지 않아도 논리를 변경할 수 있으며 릴리스 -2.0 분기에서는 허용되지 않을 것이라고 지적했습니다.
  • 서식이 변경된 후 devel 분기에 적절한 수의 변경 사항이 적용되었습니다.
  • 우리는 릴리스 2.0을 devel로 병합 할 때마다 서식을 변경하면 모든 단일 행이 충돌로 나타나고 병합 중에주의 깊게 검사해야합니다. 이것은 지루함은 말할 것도없고 실수의 기회를 증가시킵니다.
  • 우리는 릴리스가 완료 될 때까지 이러한 충돌을 제거하기 위해 (STABLE)에서 지금 서식을 제거하는 방법에 대한 이야기를했지만, 그것은 간단하지 :
    • 팀 구성원이 되돌리기 병합 충돌을 방지하기 위해 충분하지 않을 수 있습니다 암시 (올바르게 이해할 경우 git이 작동하는 방식을 기반으로합니다.)
    • 팀원은 릴리스 -02에 K & R을 추가해도 병합 충돌이 줄어들지 않는다고 말했습니다. 역사의 다른 변화.
    • 우리는 기능이 시험되고있는 몇 가지 가지가있었습니다. devel의 변경 사항이이 분기에 병합되었습니다. 어떤 사람들은 또한 기생아에서 포크를 가질 수 있습니다. 역사 편집이 다른 지점/포크에 문제를 일으킬 수 있다는 우려가 제기되었습니다.

는 정말 우리가 덜이 서식을 유지하면서 갈등을 병합하기 위해 자료를 통해 돌진하고 싶지 않아,하지만 난 우리가 나쁜 전략을 사용하여 더욱 심각한 문제가 발생할 싶지 않아 git에서 히스토리 편집하기. 어떻게 해결할 수 있습니까? 또한

git merge -Xignore-all-space 

참조 :

코드베이스는 https://github.com/Secretchronicles/SMC

GitHub의에서 이에 대한 우리의 논의는 https://github.com/Secretchronicles/SMC/pull/159#issuecomment-54396354

답변

0

에서 당신은 시도 할 수 있습니다에서 공개적으로 볼 수

개인적으로 저는 릴리스 2.0에서 형식을 수정했습니다. 출시하기 전에 한 번 수정 한 다음 소스의 두 가지 형식화를 한 달 또는 몇 년 동안 떠오르게 만드는 것이 훨씬 쉽습니다. 서식 도구가 문제가 될 것이라고 염려하는 경우 서식을 다시 지정하기 전에 먼저 컴파일 한 후 바이너리가 같은지 확인하십시오.

+0

우리를 다시 도와 주심에 감사드립니다, Grumbel. Quintus는이를 사용하여 우리가 겪었던 문제를 해결할 수있었습니다. –