2008-10-14 3 views
5

동일한 VS2005 솔루션을 사용하는 개발자가 몇 명 있지만 소스 컨트롤이 매우 좋지 않습니다. (우리 회사는 Harvest를 사용하는데, 우리는 신뢰하지 않습니다.)소스 컨트롤을 변경하지 않고 병합 코드가 변경되었습니다.

지금 당장은 공유 LAN 드라이브의 파일을 처리하고 있습니다. 분명히 이것은 약간의 문제를 야기합니다. 그러나 우리는 로컬에서 작업하는 것보다 낫다고 생각합니다. 우리가 스프레드 시트에서 만진 파일을 추적하고 수동으로 모든 것을 병합하는 것입니다. 누구나 변경 사항을 병합하는 전략이 있습니까?

기업 부유층 (하베스트 요구)과 같은 이유로 인해 문제가 발생합니다. 이와 같은 정책은 우리의 환경에 새로운 도구를 도입하는 것을 방지합니다. 따라서 새로운 소프트웨어를 구매하거나 다운로드하지 않는 전략이 우리에게 가장 효과적 일 것입니다.

+1

Harvest에 대한 설명은 http://stackoverflow.com/questions/26176/why-is-harvest-being-purchased-at-all을 참조하십시오. –

답변

5

소스 제어 시스템처럼 공유를 처리하십시오. 공유를 읽기 전용으로 만들면 개발자가 변경하기 위해 로컬 복사본을 가져와야합니다. 당신은 비교할 다소 안정된 버전을 가지고 있습니다. 이것은 "합병"을 할 수있게 도와줍니다. "코드 확인"은 파일에 대한 일종의 백업 전략 (새 파일 이름의 일부로 타임 스탬프와 사용자 이름을 사용하여 파일 사본을 만들 수 있음)으로 구성되어야하고 원본을 새 버전으로 교체해야합니다. 신뢰할 수있는 실제 소스 제어 시스템없이 이러한 유형의 활동을하는 것은 어렵고 오류가 발생하기 쉽습니다.

2

손으로하지 않으려면 무언가를 다운로드해야 할 것입니다. 나는 매우 추천한다 Winmerge. 그것은 자유롭고, 오픈 소스이며, 아마 당신을 위해 작은 것들을 엉망으로 만들지는 않을 것입니다.

4

git을 다운로드하여 모든 dev의 컴퓨터에 로컬로 설치하십시오. 그런 다음 복제 할 저장소를 설정하십시오.

+0

그는 이미 기업 관료주의가 새로운 도구를 도입 할 수 없다고 말했습니다. Jim은 기술 이상의 프로세스와 관행을 찾고 있습니다. – Raelshark

+1

그의 기업 관료주의는 종업원이 종업원을 허용 할 수 있습니까, 아니면 그가 어떤 형태의 계약직 종사자입니까? 소스 코드 관리 권한을 얻을 수 없다면 개발자를 존중할 확률은 얼마입니까? –

+0

서버에 git가 설치되어 있지 않고 각 dev 컴퓨터에만 설치된 경우 어떻게 알 수 있습니까? 그것은 당신이 그것을 위해 관리자 권한이 필요하지 않다 –

2

merge라는 표준 유닉스 명령 줄 도구가있어 파일에 두 세트의 변경 사항을 상당히 지능적으로 병합합니다.

"나의"변경으로 파일을입니다
merge mine older yours 

는 "나이가"원본 파일이며, "당신은"다른 사람의 변경 사람을 포함하는 구문이다.

그래도이 작업을 수행 할 UNIX (또는 Mac OS X) 상자가 있는지 확실하지 않습니다.

+0

실제로 병합은 없지만 "diff3 -m"명령을 사용한다고 생각합니다. http://www.gnu.org/software/diffutils/manual/html_node/diff3-Merging.html –

1

공유 드라이브를 사용하는 것은 좋은 생각이 아니며 "신뢰할 수 없음"이라고 투표합니다.

그것의 다른 변경 사항을 덮어 너무 쉬운 것입니다은

1

이 실행 가능한 옵션이되지 않을 수도 있습니다,하지만, 아마도 당신이 사용할 수있는 분산, 당신은 등 변화 추적, 아니 분기하는 방법 또는 태그/라벨을,있다 없다 시스템은 bazaar, git 또는 Mercurial입니다.

내가 제안하는 이유는 매우 낮은 오버 헤드이며 다른 시스템에서 사용할 수 있기 때문입니다. 나는 바자와 함께 저장소가 단순히 디렉토리에 추가 된 숨겨진 폴더라는 것을 알고있다.

6

수확을 배우십시오. 전반적인 작업을 원활하게 진행하려면 약간의 노력이 필요하지만 전반적으로 뛰어난 소스 제어 시스템입니다.

+0

동의합니다. 나쁜 소스 컨트롤 시스템은 소스 컨트롤보다 낫습니다. – Kena

+1

나는 Harvest를 "우수"라고 부를 수있는 방법을 이해하지 못한다. 그러나 그것이 당신이 가진 최고의 도구라면, 당신이 가진 최고의 도구이다. –

+0

예, 주요 패키지 인 Serena, ClearCase, Team Foundation 및 여러 개의 작은 패키지를 살펴 보았습니다. 전반적인 유용성 측면에서 볼 때 수확은 우리가 본 다른 모든 것보다 좋았거나 더 좋았습니다. 우리가 살펴본 패키지 중 많은 부분이 처음에는 멋 있었지만 실제로는 생산 환경에서 실제로 작동하게되면 평평하지 않게되었습니다. 추수는 자신의 문제를 가지고 있지만 실제로 작동합니다. – user8035

6

또 다른 가능성은 Beyond Compare from Scooter입니다. 그것은 파일과 디렉토리에 두 가지와 세 가지 방법으로 병합 및 큰 diff 기능을 가지고 있습니다. 그것에 대해 좀 더 알고 싶다면 the delphi podcastJim McKeith으로 들으십시오.

하지만 대부분의 사람들처럼 힘내거나 추수 익히는 것이 좋습니다. 소스 제어 시스템이 diff 응용 프로그램을 변경할 수 있으면 비욘드 비교 도구를 사용하는 것이 좋습니다.

2

버전 제어와 병합의 두 가지 명백한 문제가 있습니다. 버전 제어 시스템을 사용하지 않을 이유가 전혀 없습니다. 회사가 솔루션을 결정한 경우 (이유가 무엇이든) 솔루션을 사용하십시오. 그것을 좋아하지 않거나 "신뢰감"이 없다면 그것을 사용하지 않는 유효한 이유가 아닙니다. 그리고 공유 드라이브를 사용하여 소스 코드 제어 시스템을 모방하는 것은 미친 일입니다.

병합은 두 번째 문제입니다. diff/merge 도구가 필요합니다. 하나를 선택. 너는 어떻게 이렇게 오래 갈 수 있니?!

아락 시스는 훌륭한 것입니다. 몇 달러의 비용. SourceGear 여러분은 Vault와 함께 제공되는 diff/merge 도구를 자유롭게 배포하고 있습니다. 그것은 또한 단단한 경쟁자입니다. 그것들은 제가 지금 사용하고있는 두 가지 제품입니다. 이미 언급 된 것들도 있습니다.

모든 것을 수동으로 병합하는 것이 가능한 해결책이 아닙니다. VCS를 사용하여 이 아닌을 결합하면 재난을 대비할 수 있습니다.

관련 문제