2011-11-07 3 views
0

나는 내 자신의 오픈 소스 프로젝트에서 일하고 있습니다. 나는 최근에 첫 번째 실행 가능한 버전을 발표했으나 누구나이 버전을 사용하고 있는지 의심 스럽다. 나는 그것에 종사하는 유일한 사람이다. 나는 수은을 사용하고 있는데, 내 질문은 꽤 큰 재 설계를 계획하고 있다는 것이다. 많은 돌들이 돌지 않을 것입니다. 이것을 소스 제어의 관점에서 어떻게 다루어야합니까? 현재 머리에서 계속하거나 지사를 만드시겠습니까?소스 제어 및 재 설계

얼마나 자주 커밋합니까? 일부 클래스는 사라지거나 2로 나뉘거나 기능이 다른 곳으로 이동하거나 인터페이스가 변경 될 수 있습니다.

답변

2

잠시 동안 그것에 유지해야한다 (자신을 포함) 코드의 현재 사용자가 있다면 나는 새 버전을 분기 것입니다. 새 버전이 이전 버전과 같거나 그보다 나은 경우 (다른 방법으로) 병합합니다.

또 다른 고려 사항은 "새로운 사용자가 보게되면 내가 버리고있는 이전 버전을 사용하거나 내가 만든 버전을 훨씬 더 많이 사용할 수 있기를 바랍니다."입니다. 그들이 이전 버전을 유지해야한다면 새 버전을 위해 다시 분기하십시오.

당신의 선택은 비록 가능성

사이
  • 단지 ("아무도 이전 버전을 사용하는 것이 좋습니다하지 얻을한다") 또는 머리에 일을 계속하십시오 "안정"또는 "릴리스 오프
  • 지점 -1 "지점 ("오래되었지만 기능이 완비/합리적으로 기능 할/... ")을 선택한 다음 HEAD에서 새 작업을 수행합니다.
+0

제가 현재 버전으로 돌아가고 싶었던 경우, 어떤 옵션이 더 간단할까요? 별로 중요하지 않다고 생각 하나? 나는 수은을 처음 접했고 이것이 나의 첫 번째 실제 프로젝트 (개인 용도의 스크립트가 아님)입니다. 따라서 나중에 나중에 이전 디자인을 더 좋아할 수도 있습니다. –

+0

나는 git와 mercurial을 사용하지 않지만, 똑같이 작동 할 것이라고 추측하고있다. 새로운 작업이 "유지할"것인지 확실하지 않은 경우, 지점에서 새 작업을 수행한다. –

1

참고 : 나는 mercurial 프로젝트에 코드를 저지르고있는 유일한 사람이기 때문에, 그 훨씬 중요하지 않습니다,

먼저 (내가 git 또는 svn를 ... 사용하고 있습니다) 모르겠어요. 다른 사람들이 코드를 제공한다면 중요 할 것입니다.

브랜치 (적어도 git 이하)를 만들고 재 설계하기 전에 코드의 상태에 태그를 지정합니다.

이전 버전을 유지하겠습니까 (버그 수정)? 나는 그렇게 생각하지 않는다. 그렇게한다면 아마도 버전 1과 버전 2의 두 가지를 가져와야 할 것입니다.

아마도 이전 버전의 브랜치를 만들고, 새로운.

커밋 빈도와 관련해서는 항상 매우 자주 수행하는 것이 좋습니다 (예 : 매일 작업 할 때마다 소개하는 주요 기능 하나 또는 버그 수정). 그러나 각각의 커밋은 (원칙적으로) 컴파일 가능해야하며, 어떻게 든 작동해야합니다 (그 의미가 무엇이든).

오픈 소스 프로젝트를 명시 적으로 언급하면 ​​흥미로울 것입니다.

감사

+0

예, 아무도 "마케팅"을하지 않고 "틈새 제품"이라고 가정하지 않기 때문에 버그 수정을 할 생각이 없습니다. https://bitbucket.org/kienerj/chemdb/overview를 참조하십시오. 관심이 있으시면 위키를 살펴 보시기 바랍니다. –