2010-04-10 4 views
4

여기에 의견이 필요합니다.내 버전 관리 앱을 유지 하시겠습니까?

buildout을 사용하여 Django 프로젝트에서 종속성 등을 얻으려고합니다. 저는 DVCS로 수은을 사용합니다.

지금 ... 나는 종속성 중 하나를 사용자 정의 할 필요가있다, 그래서 나는 다음 중 하나를 수행 할 수 있습니다 것은 : (* 변화는 다른 사람을 위해 유용하지 않을 수 있습니다.)

1-의 포크를 수행 프로젝트 (github, bitbucket, etc ...)에서 내 버전을 유지하고 (mercurial 또는 git) recipe로 종속성을 얻습니다.
2 프로젝트를 복제하고 PYTHONPATH에 넣은 다음 DVCS 디렉토리를 지우고 프로젝트 버전에 추가하십시오. 그래서 모든 변화는 사적인 것입니다. 여기에 나는 그들의 DVCS 또는 뭔가에서 모든 정보를 지울 필요가있다.

다른 어떤 생각할 수 있습니다.

내가 뭔가를 잃어 버렸나요? 나 너무 멀어?

감사합니다.

+1

우리 가운데에 병적 인 downvoter가있는 것 같습니다. 이 문제를 해결할 일종의 배치 작업이 있다고 가정합니까? – spender

+4

아니요. 그러나 여러 가지 방법으로 다운 워드를 수정할 수 있습니다. 그 중 하나가 더 나은 질문을합니다. –

+1

아, 그렇습니다.하지만 주석없이 다운 보트하는 것은 너무 정신이 강합니다. "잘못된 정보를 발견하면 투표하십시오. 구체적으로 무엇이 잘못되었는지에 대한 의견을 적어주십시오." – spender

답변

1

에스테반, 다음 단계를 따르십시오. 나는 수채화로 이야기 할 것이지만 이것은 모두 git에서도 할 수 있습니다.

  1. 복제 자신의 프로젝트는
  2. 프로젝트 당신에게 모든 세계의 최고 제공

에 자신을 투사 subrepo 당신의 클론을합니다. 프로젝트와 프로젝트에서 코드를 편집하지 않고 어느 것에주의를 기울이지 않고 코드 변경을 커밋하면 프로젝트의 복제본에서 새 변경 집합에 대한 포인터와 함께 저장소로 이동합니다. 그런 다음 프로젝트의 복제본을 업데이트하려면 간단하게 병합하고 병합 할 수 있습니다.

그래서 이것은 '1'에서 말한 것과 거의 비슷하지만 포크 나 호스트를 공개적으로 할 필요가 없습니다.복제본을 프로젝트의 하위 repo로 편집하고 푸시하지 마십시오. (repo에 대한 쓰기 권한이 없으므로 어쨌든 작동하지 않습니다.)

옵션 2의 가장 큰 단점은 그들이 의존하는 프로젝트를 수정하고 향상 시키면 자신의 개선을 이끌어 내고 자신의 프로젝트와 병합하는 것입니다.

+0

하위 레파지에 대해 몰랐습니다 ... 대단합니다 ... 감사합니다! –

1

DVCS를 사용하는 경우 모든 커밋은 변경 세트로 유지되며 사용자는 변경 세트를 적용할지 여부를 선택할 수 있습니다. 따라서 변경 사항에 대해 의견을 말할 때 사람들은 변경 사항을 적용할지 여부를 선택할 수 있습니다. 변경을 원하지 않고 다른 변경 사항을 원한다면 선택하고 선택할 수 있습니다. 그래서 진실은 DVCS가 당신을 위해 문제를 처리한다는 것입니다 (당신을 끌어 당기는 사람들이 DVCS를 적절하게 사용한다면).

개인적으로 나는 포크를 권하는 것이 좋습니다. 그러나 제가 말했던 것처럼, 그것은별로 중요하지 않습니다.

1

당신은이 질문을 다소 혼란스러운 방식으로 묻습니다. DVCS의 요점을 정말로 이해하고 있는지는 모르겠습니다.

DVCS의 요점은 개인 저장소를 가질 수있게하는 것입니다. 원하는 경우가 아니라면 github 또는 bitbucket이나 그 장소에 저장소를 게시 할 필요는 없지만 DVCS 정보는 지우지 않을 것입니다.

업스트림 프로젝트가 자신의 비공개 변경 외에도 원하는 변경을하면 DVCS 정보를 유지하지 않는 한 악성 프로젝트가 병합됩니다.

Mercurial을 사용하면 Mercurial subrepo feature을 사용하여 프로젝트를 포함시킬 수 있습니다.

+0

예 ... 여기에 뭔가 빠져있을 수 있습니다. 이미 DVCS 정보가있는 레포에 프로젝트를 어떻게 추가합니까? 감사합니다 –

+0

@ Esteban, 나는이 의견에 대한 답변을 포함하도록 내 대답을 수정했습니다. – Omnifarious