2010-08-02 4 views
1

내가 지금까지 해본 가장 큰 프로젝트가 될 것으로 기대되는 작업을 시작했으며, 나는 일종의 버전 관리를 시작해야한다는 결론에 도달했다. 내 현재 날짜가 지정된 zip 파일과 txt 파일의 주석을 넘어서야합니다. 여러 가지 옵션을 살펴 보았지만 나에게 맞는 것을 찾지 못했습니다.간단한 GUI 수정 컨트롤

내 큰 불만 중 하나는 사용 가능한 옵션 중 하나에서 품질 GUI가 완전히 부족하다는 것입니다. TortoiseSVN은 그 중에서 가장 우수한 것 같고 여전히 낯선 사람이 아닙니다. (나는 OSS와는 아무런 관련이 없습니다. OSS 프로젝트 중 공통적 인 문제인 것처럼 보임). SVN 및 다른 버전 제어 시스템에 대한 안내서와 설명서를 읽는 것은 새로운 프로그래밍 언어를 배우는 것과 비슷한 복잡성을 느끼게됩니다. 저는 솔로 개발자입니다. 따라서 병합 지원과 분기 기능이 매우 제한적일뿐 아니라 다중 사용자 시스템을 필요로하지 않습니다. 분산 된 저장소가 필요 없습니다. 기본적으로 내가 좋아하는 것은 조직 지원, 주석 및 기본 diff 옵션을 사용하여 내 압축 프로세스의 자동화와 비슷한 것입니다.

필자는 자신의 프로그램을 자신의 요구에 맞추기 위해 롤링한다는 생각을 했었습니다. 끝 부분까지는 매우 기본적인 GUI 모의를 던져서 어떻게 생겼는지 알아 냈습니다. 철자 및 조직/논리 실수를 무시하십시오.

enter image description here

이것은 "냅킨 스케치"다음 더 작은 정말 :

여기에 실물 크기의 모형을 참조하십시오. 내가 의도 한 기능은 트리에서 버전을 드래그하여 원하는 위치에 드롭하는 것입니다. 프로젝트 버전을 포함하는 디렉토리를 만듭니다. 버전 정보가 들어있는 디렉토리에 숨겨진 파일이 있습니다. 새 버전을 만들려면 해당 폴더를 트리 뷰에 끌어다 놓습니다. 가장 최신 버전이 아닌 버전으로 작업하는 경우 분기를 만듭니다. 파일 변경/이동/이름 변경을 확인하고 일반 버전 및 특정 파일 주석에 대한 프롬프트를 표시합니다.

여기 내 질문은 여러 개인 글입니다. 내가 찾고있는 것과 비슷한 것이 있습니까? (합리적으로 가격이 책정 된 비 자유 옵션에 개방되어 있습니다.) 그렇지 않다면 은 가치있는 프로젝트입니까? 그렇다면 이 있으면 최종 사용자 제품으로 프로그램을 연마하는 것이 가치가있는 프로그래밍 공동체에서 이러한 유형의 프로그램에 대한 호출이 있습니까?

지금 당장 josh3736
@ 지금, 아직 - 당신이 여기에 무슨 뜻인지; 다중 사용자 지원을 이후 버전의 시스템에 추가 할 것으로 생각하고 이에 따라 계획을 수립 할 것입니다. 병합 지원에 관해서는, 나는 어느 프로젝트에서든 작은 팀 이상으로 작업하지 않으므로 기본적인 병합 지원 이외에는 아무 것도 할 필요가 없습니다. 지금까지 - 분산 리포지토리의 개념에 동의하지 않고 단순히 사용하지 않을 것이라고 생각하는 것이 더 분명했을 것입니다. 필자는 대형 비즈니스 프로젝트 나 대형 OSS 프로젝트에서 이러한 기능의 필요성과 유용성에 대해 논쟁하지는 않겠지 만 Oracle을 사용하여 내 친구의 전화 번호를 추적하지는 않습니다. 커스텀 GUI는 좋은 제안이지만, 그것은 정말로 나를위한 프로젝트가 아닙니다. IMHO SVN과 같은 OSS 시스템의 개발에서 주요 문제로 보이는 것을 예시하고 있습니다. 여러 구성 요소로 구성되어 서로의 위에 구축되므로 매우 직관적이지 않은 시스템 (일반적으로 GUI가 아님)이됩니다. 아니 명확한 디자인이나 초점.

답변

4

나는 또한 복잡성 SVN에 의해 ​​한 번 위협 당했다. 그러나, 나는 에 정말로를 파 내야했다. 그리고 결코 되돌아 가지 않을 것이다. 정말 오래 걸리지 않았습니다. 거북이는 일단 UI에 익숙해지면 실제로 UI가 좋지 않습니다. Windows를 사용하는 경우 VisualSVN (무료)을 사용하면 서버를 쉽게 설정할 수 있습니다.

이제는 프로젝트 중 가장 단순한 SVN 리포지토리도 만듭니다. 1 인 프로젝트의 경우에도 여러 대의 컴퓨터에서 작업 복사본을 체크 아웃하는 기능이 훌륭합니다. 그렇게하면 어떤 컴퓨터가 어떤 파일의 최신 버전을 가지고 있는지 걱정하지 않고 내 바탕 화면이나 랩톱에서 프로젝트를 진행할 수 있습니다. 그냥 업데이트, 병합 및 내 인생에있어.

나는 자신의 롤링을 권장하지 않습니다. 버전 관리가 문제가되는 것은 alreadybeensolved입니다. 실제로 관심있는 프로젝트에서 작업하는 것보다 휠을 재발 명하는 데 더 많은 시간을 할애 할 것입니다. 게다가, 내가 솔로 개발자 지금, 그래서 나는 매우 (있는 경우) 지원 및 분기 기능 지금 , 다중 사용자 시스템 을위한 진짜 필요를 병합 제한 필요 "생각하는 것이 도움이 아직, 나는 분산 리포지토리에 대한 필요가 없습니다 여기까지. "

여전히 사용 가능한 SVN 도구의 UI에서 판매되지 않는 경우 여전히 행복한 매체가 있습니다. SVN API을 사용하여 현재 SVN 도구에서 나타나는 결함을 해결하는 GUI 프런트 엔드를 롤아웃하지 않으시겠습니까? .NET을 사용하는 경우 SharpSvn은 API의 환상적인 C# 래퍼입니다.

이 당신으로 볼 큰 프로젝트, 그것은 학습 곡선의 비트가있는 경우에도, 지금을 적절한 SCM 도구 을 사용하려면 내 의견 — 더 나은에서 —입니다 수됩니다.

+0

내 답변이 내 원래 게시물에 추가 된 것을 보니 너무 길기 때문에 여기에 게시하십시오. –

1

나는 또한 현재 프로젝트에서 소스 제어 시스템을 사용하는 유틸리티와 상대적으로 쉽게 팔리고 있습니다. 나는 Mercurial과 TortoiseHg를 사용하고 있는데, 이는 기계들간에 매우 쉽게 동기화 할 수 있다는 것을 제외하면 거의 똑같은 것이다. 저는 랩톱, 작업 컴퓨터에서 프로젝트를 진행하고 code.google.com에 복사본을 게시했으며 빠르고 쉽습니다.

나를위한 핵심 실현은 작업 디렉토리가 바로 ... 일할 수있는 장소라는 것입니다. 이전 구성으로 복원 할 수 있으며 모든 추가 및 제거가 마술처럼 일어납니다. 이것은 순차적으로 번호가 매겨진 Zip 파일을 다루는 것보다 훨씬 쉽습니다. 나는 결코 돌아 가지 않을 것입니다.

우리 모두가 여유 공간의 기가 바이트있어 이제 파일 공간 오버 헤드가 사소한 것입니다.

그래서 ... 들어와 재미있게 보내세요.