우리 팀은 TFS에서 Mercurial로 전환했습니다. 3 명이 작업하는 주요 프로젝트는 C#의 Windows Forms 응용 프로그램입니다. 간단한 변경 작업도 디자이너를 사용할 때마다 .Designer 파일로 재 배열하고 변경합니다. 두 사람이이 파일을 작업하면 간단한 변경 작업을하더라도 병합은 절대적인 악몽입니다. 이 문제를 해결할 수있는 쉬운 방법이 있습니까? TFS에서는 동시 편집을 사용하지 않으므로이 문제가 발생하지 않았습니다.Windows Forms .Designer 파일을보다 쉽게 병합 할 수 있습니까?
답변
이러한 종류의 파일을 병합하는 것은 항상 고통 스럽습니다 ... 이것이 Mercurial에 대한 "잠금"확장이있는 이유이므로 필요한 경우 TFS와 동일한 워크 플로를 사용할 수 있습니다.
예를 들어 Martin Geisler가 작성한 Lock extension을 사용하여 .Designer 파일을 다음 push
까지 잠그면 동시 병합을 피할 수 있으므로 병합도 방지 할 수 있습니다.
아직도 OP가 요구하는 것이 아니지만 이것이 분기 간 병합 문제를 해결한다고는 생각하지 않습니다. –
"잠금"은 적절한 솔루션이 아닙니다 (분산 환경에서는 실용적이지 않습니다). 문제는 Microsoft의 코드 생성기가 파일을 사람이 읽을 수있게 만드는 데 신경을 쓰지 않는 것입니다 (예 : 멤버 정렬). 정렬 된 방식으로 코드를 출력한다면 작은 행 속성 변경을 위해 수백 개의 행크를 정렬 할 필요가 없기 때문에 한 행만 변경되기 때문입니다. 솔직히 그들이 예측할 수 없을 정도로 그것을 구현 한 방법을 이해할 수 없습니다. 그들은 재미 또는 뭔가를 위해 RNG를 사용해야합니다 ... – bambams
문제는 코드 gen 엔진이 다른 순서로 코드를 생성 할 때입니다 !!! 병을 병합시킵니다.
WinForm (.NET) 디자이너 Swing (Java) 디자이너는 코드 엔진에 의존합니다.
ASP.NET의 designer.cs에는 영향을 줄 가능성이 낮은 배킹 필드 만 포함됩니다.
소스 제어를 유지할 필요가없는 obj/*. g.cs에서 WPF의 백업 필드가 생성되므로 병합 문제가 발생하지 않습니다.
- 1. Visual Studio 2010 Windows Forms Designer 문제
- 2. Windows Forms datetimepicker ArgumentOutOfRangeException을 어떻게 처리 할 수 있습니까?
- 3. 병합 - 유사한 무엇 병합 ... 쉽게
- 4. TFS 병합을 더 쉽게 할 수 있습니까?
- 5. XSL에서 XML 계층을 병합 할 수 있습니까?
- 6. Windows Forms App에서 HTML5 로컬 저장소에 액세스 할 수 있습니까?
- 7. 내 닷 닷넷 Windows 양식을 쉽게 인쇄 할 수 있습니까?
- 8. SQL 문으로 쉽게 병합
- 9. windows forms
- 10. Windows 8의 출현으로 Windows Forms 사용이 어떻게 영향을받을 수 있습니까?
- 11. QPainter 상태를 쉽게 복사 할 수 있습니까?
- 12. CakePHP에서 레코드를보다 쉽게 처리 할 수 있습니까?
- 13. QProgressBar를 쉽게 사용자 정의 할 수 있습니까?
- 14. CodeIgniter로 단위 테스트를 쉽게 할 수 있습니까?
- 15. 이메일 주소록 초대를 쉽게 할 수 있습니까?
- 16. 이 작업을 쉽게 수행 할 수 있습니까?
- 17. 파이썬에서는 xml을 쉽게 편집 할 수 있습니까?
- 18. CObList를 쉽게 분류 할 수 있습니까?
- 19. wxWidgets로 IPC를 쉽게 할 수 있습니까?
- 20. tcmportmapper를 iOS로 쉽게 이식 할 수 있습니까?
- 21. 텍스트 파일을 쉽게 파싱 할 수 있습니까?
- 22. Python을위한 동시성 구현을 쉽게 할 수 있습니까?
- 23. NSLibraryDirectory에서 파일을 쉽게 제거 할 수 있습니까?
- 24. ListView에서 항목을 쉽게 재정렬 할 수 있습니까?
- 25. NSImage를 쉽게 애니메이트 할 수 있습니까?
- 26. Windows Forms '모양
- 27. Windows Forms C++
- 28. Windows Forms 응용 프로그램에서 참조 할 System.Runtime.Caching을 찾을 수 있습니다.
- 29. Windows Forms 테마
- 30. Windows Forms 가시성 문제
'* .Designer.cs '병합은 통증 기간입니다. – IAbstract
웹 양식 디자이너 파일에 대해 동일한 질문을 할 것입니다. 잠금이 가장 좋은 해결책 일 수는 있겠지만 실제로하고 싶은 일이 모든 사람이 작동하도록 한 다음 나중에 병합하는 경우 매우 만족스러운 해결책은 아닙니다. – regularmike