Visual Studio 2005 및 2008 버전의 라이브러리를 별도로 유지 관리 할 수있는 워크 플로를 개발하면서 한 지점의 변경 사항을 항상 다른 지점의 복제본 분기.Mercurial : Visual studio 2005 및 2008 지점 관리
현재로서는 기본 (VS2005) 분기 만 변경 한 다음 완료되면 VS2008 분기로 병합하는 것이 좋습니다. 불행히도 이것은 규율에 의존합니다. 문제가 발견되었을 때와 위기에 처했을 때 어려움이있을 수 있습니다. 이로 인해 나중에 한 브랜치의 변경 사항을 기본값으로 다시 변경하려고 시도해야했습니다.
VS2005와 VS2008 프로젝트 사이의 변경 사항을 패치 큐에 저장할 수 있지만 명령 줄 사용에 익숙한 팀원은 단 한 명 뿐이라고 동료 동료들은 Tortoise HG.
이와 같이 사실 이후 문제 해결에 의존합니다. 내 현재 절차에는 VS2008 분기의 모든 변경 집합에 대한 패치를 내보내고 기본 분기에 적용하는 작업이 포함됩니다. VS2008 브랜치의 팁을 기본 팁과 병합 한 다음 수작업으로 VS2005로 다시 변환하는 것보다 시간이 많이 걸리지 만 오류가 발생하지 않습니다.
this article을 읽었을 때 '업그레이드'변경 집합을 취소했지만 VS2008 분기의 새로운 팁으로 결과 제거 출력 세트가 항상 끝나고 결과적으로 변경 사항을 다시 병합 할 수 없습니다. 병합시 분기를 명시 적으로 닫으려고해도 VS2008 분기에서 병합이 끝납니다.
여러 가지 방법으로이 작업을 시도했지만 새로운 VS2008 분기 팁으로 끝나고 변경 내용을 기본 분기로 다시 병합 할 방법이 없습니다. 따라서, 나는 여기서 명백한 것을 놓친 것부터 시작하고있다.
궁극적으로 다른 두 사람이 느끼는 차이점은 프로젝트와 솔루션 파일에 포함 된 Visual Studio 버전 번호 만 차이가 나는 라이브러리의 두 버전을 유지하려고 할 때 가장 좋습니다.
편집 : 내가 피하려고하는 문제는 (쉽게 디버깅하기 위해) VS2005 솔루션에 VS2005 프로젝트를 추가하면 VS2005 프로젝트가 VS2008 프로젝트에 자동으로 '업그레이드'되어 '변경된'작업이 수행된다는 것입니다. 복사 및 불필요한 '변환'파일의 튀김. 따라서, 사람들이 메인 라인에 '업그레이드'하는 것을 유혹하는 대신 분기를 개별적으로 유지하고 사용자가 복제 후 첫 번째 업데이트에서 필요한 버전을 선택하도록하는 것이 더 좋습니다.
솔루션을 추가로 편집하십시오.
좀 더 엉망이되어서이 워크 플로를 표준 TortoiseHg 도구와 함께 작동시키는 방법을 발견했으며 명령 줄 개입은 상황을 설정하는 데에만 필요했습니다.
먼저 프로젝트가 VS2005에서 VS2008로 변환 된 변경 집합으로 업데이트되었습니다. 나는 그 개정판을 철회하고, 백 아웃의 패치를 만들고, 기본 분기에 있었기 때문에 철회 된 changeset를 제거했다. 그런 다음 ht patch --no-commit patch를 사용하여 백 아웃 패치를 변환 변경 집합에 적용한 다음 새 "VS2005"분기 이름으로 패치를 작성했습니다. 그런 다음 (익명) VS2005 분기의 끝에서 병합했습니다.
다음 단계는 (비 꾸미어진) VS2008 브랜치의 이전 팁으로 업데이트하여 중요한 변경을 수행하고 새로운 "VS2008"브랜치로 커밋하는 것입니다. 그런 다음 VS2005 팁에서 변경 사항을 병합했지만 컴 피트 할 때 csproj 파일의 변경 사항을 허용하지 않았습니다.나는 커밋 후에이 파일들을 되 돌렸다.
마지막으로 VS2005 팁으로 업데이트하고 VS2008 팁을 병합했습니다.
이렇게하면 VS2005에서 VS2008 로의 변환으로 인한 차이점을 제외하고 두 가지 팁이 동일한 코드로 나타납니다.
새로운 워크 플로우 : 필요에 따라 VS2005 또는 VS2008 지점 중 하나에
가- 일.
- 한 분기에서 업데이트가 완료되면 다른 분기로 업데이트하고 수정 된 분기의 변경 사항을 병합 한 후 자체 분기로 커밋합니다. 그런 다음 원하는 지점으로 다시 업데이트하십시오.
- 두 분기에서 동시에 업데이트가 발생하면 두 분기를 별도로 수행하십시오. VS2005 팁을 업데이트하고 VS2008 팁을 병합 한 다음 VS2008 팁으로 업데이트하고 이전 (병합 전) VS2005 팁으로 병합하십시오.
두 버전 (2005 및 2008)을 말하면 VS 솔루션 일 뿐이며 코드에 특정 비트가 포함되어 있습니까? –
실제 코드를 변경해서는 안된다는 아이디어가 있습니다. –