CVS 저장소와 인터페이스하기 위해 git을 사용하기위한 모범 사례 및 팁은 무엇입니까?CVS에서 git을 사용하는 모범 사례
답변
비슷한 질문에 대한 답변을 here에 적었습니다.
이것은 중앙 CVS 저장소에 변경 사항을 계속 밀어 넣어야 할 때 놀랍게 잘 작동합니다.
나는 Git-CVS 상호 작용을 통해 친구를위한 Git 데모 작업을 했었지만 매우 직설적이었다.
cvsps
의 현재 사본을 설치해야합니다.Git cvsimport
은이 기능을 사용하여 CVS 기록에 액세스합니다.$ rsync rsync://yourprojecthost.com/cvsroot/yourproject/* $ mkdir myproject.git $ cd myproject.git $ git cvsimport -p -x -v -d :local:/path/to/cvsroot/yourproject
우리는 큰 프로젝트를 위해, inital 셋업이 당신의 컴퓨터에 CVS의 REPO의 전체 복사본을 복용하고, 로컬 git cvsimport
을 수행하여 훨씬 더 빨랐다, 발견
-p 이후의 -x는 매우 중요합니다. 이것은 -x를 cvsps로 전달합니다. 자세한 내용은 cvsps man page을 참조하십시오.
나는/3 단계에서 오류가 있다고 생각한다. –
@PeterBurns : 저기에 ... 'git cvsimport -p -x -v -d : local :/path/to/cvsroot yourproject' – Archenoth
약간의 메타 답변. git '게릴라 스타일'을 사용하도록 강요 당하면 (예 : 회사가 버전 관리를 위해 cvs를 사용하고있어 작업을 쉽게하기 위해 git를 사용하는 경우) 이와 같은 작업을 고려할 수 있습니다.
CVS=realCvsPath
# commit to the git first
if ($ARGV[0] && $ARGV[0] eq "commit")
{
system 'git commit -a';
}
# execute the appropriate cvs program
# ===================================
exec "$CVS", @ARGV
이 파일 'CVS'를 호출하고 그것을 실제 CVS 명령 앞에 경로를 포함. 그렇지 않으면
내가 내 자신의 workflow for remote CVS, local Git
불특정 한 이유로 't trust''cvsimport'를 수행합니다 (이것을 수행 할 수있는 다른 도구들도 있습니다). 그래서 이전의 모든 개정 정보를 버리는 것을 권장합니까? 그것은 끔찍한 해결책입니다. –
무엇이 그렇게 끔찍한가요? 변경 사항을 다시 CVS로 푸시하는 경우 개정 내역이 "버려집니다". 그리고 개정 내역을보고 싶다면 CVS 명령을 사용하여 수정할 수 있습니다. –
'CVS'를'.gitignore'에 추가하면 얻을 수있는 이점은 무엇입니까? git 저장소를 불완전하게 만들지 않습니까? 내 말은 http://stackoverflow.com/a/37585092/1122270 및 http://stackoverflow.com/q/37585385/1122270을 참조하십시오. – cnst
상류 인 경우 CVS에서 100 % (예를 들어, 오픈 BSD의 세부 사항을 쓴 ... 자식이 그 유용하지 않은 CVS 것들,보다 오래된 커밋 할 수 있습니다 , 또는 그 서브 프로젝트 중 많은 부분이 mdocml 또는 ports-readmes과 같은 것), 특히 OpenBSD CVS 트리만큼 녹슬어 져있는 경우 (예 : 이력을 다시 작성하는 경우조차도), 기본 CVS/{Entries,Repository,Root}
파일을 내 git
에 직접 커밋하는 것이 매우 유용하다는 것을 알았습니다 저장소.
이는 자식이없는 테이너에 메일 링에 대한 올바른 CVS 패치를 생성하기 위해, 여러 개의 독립적 인 작업 공간을 가지고있는 모든 컴퓨터에 git
에 체크 아웃하는 것을 가능하게 한 다음 장소에 cvs up
, 또는 cvs diff
하지 않는 매우 쉽게 업스트림
- 1. 통화를 사용하는 모범 사례
- 2. org.apache.commons.logging.LogFactory.getLog를 사용하는 모범 사례
- 3. 코코아 프로젝트에서 버전 제어를 사용하는 모범 사례
- 4. 모범 사례
- 5. 모범 사례?
- 6. 다른 데이터베이스와 함께 ASPNETDB를 사용하는 모범 사례
- 7. 백그라운드 용 컨테이너로 UIView를 사용하는 모범 사례
- 8. Wordpress를 사용하는 여러 블로그에 대한 모범 사례
- 9. 모범 사례 NHibernate를 사용하는 Windows Forms 애플리케이션
- 10. CPAN에서 약간 수정하는 모듈을 사용하는 모범 사례?
- 11. 응용 프로그램 전체를 사용하는 모범 사례 TraceSource
- 12. ASP.NET에서 쿼리 문자열을 사용하는 모범 사례?
- 13. Amazon SQS를 사용하는 모범 사례 - 대기열 폴링
- 14. 기본 유형의 멤버를 사용하는 모범 사례
- 15. GIT를 사용하는 PHP 프로젝트 조직 모범 사례?
- 16. JPA 모범 사례
- 17. Lucene.Net 모범 사례
- 18. 모범 사례 또는 불량 사례
- 19. PyLint 모범 사례?
- 20. LDAP 모범 사례
- 21. Entity Framework 모범 사례
- 22. 현지화 모범 사례
- 23. 레일 모범 사례
- 24. hibernate 모범 사례
- 25. 쿼리 위치 모범 사례
- 26. EntityManager 초기화 모범 사례
- 27. ASP.NET MVC 모범 사례
- 28. 여러 RemoteObjects - 모범 사례
- 29. ItemsSource 전달을위한 모범 사례
- 30. 순환 종속성 모범 사례
나는 SourceSafe에 대해 같은 질문을하고 싶지만 실제로는 (완전히 목표물에 이르기까지) 비웃음을 타고 싶지는 않습니다. –