Eclipse의 SVN은 두 개의 캠프로 분산됩니다. SVN 사람들은 Subclipse 라는 플러그인을 개발했습니다 . Eclipse 사람들은 Subversive 라는 플러그인을 가지고 있습니다 . 대체로 그들은 둘 다 같은 일을합니다. 각각의 장단점은 무엇입니까?
Eclipse의 SVN은 두 개의 캠프로 분산됩니다. SVN 사람들은 Subclipse 라는 플러그인을 개발했습니다 . Eclipse 사람들은 Subversive 라는 플러그인을 가지고 있습니다 . 대체로 그들은 둘 다 같은 일을합니다. 각각의 장단점은 무엇입니까?
답변:
둘 다 매우 비슷하지만 Subversive는 "eclipse svn provider"입니다. 몇 가지 편리한 기능 때문에 주로 Subversive를 사용합니다.
역사의 그룹화
모든 커밋마다 많은 행을 보는 대신 분기 히스토리를 탐색 할 때 오늘, 주 등으로 커밋을 그룹화 할 수 있습니다.
트렁크, 분기 및 태그의 매핑
파괴는 기본 svn 레이아웃 (간선, 분기, 태그 (변경 가능))을 가정하므로 태그 또는 분기를 원할 때마다 한 번의 클릭으로 태그 또는 분기의 이름을 제공합니다.
내가 말했듯이 이것들은 내가 편리하다고 생각하는 사소한 차이점입니다. 둘 다 mylyn과 잘 작동하지만 전반적 으로이 두 확장과는 크게 다르지 않습니다.
Subversive와의 병합은 고통 스럽지만 (Subclipse를 시도하지는 않았지만) 성공적으로 병합 할 수 없었습니다. 병합의 미리보기는 훌륭하지만 병합을 완료하지 않거나 오래 걸리게됩니다. 대부분의 경우 문제없이 명령 줄을 통해 병합을 완료합니다.
1.0.0.I20120601-1700
)을 사용 중이며 코드를 병합하는 것이 더 쉬울 수 없습니다.
나는 이것에 대답하는데 금이 갈 것이다. Subclipse의 프로젝트 책임자이며 프로젝트의 모든 릴리스 등을 관리합니다. 내 편견이 분명합니다.
나는 파괴성에 대해 너무 많이 말하지 않을 것입니다. 분명히 그것을 사용하고 좋아하는 사용자가 있습니다. 기능적으로 제품은 모두 성숙한 제품과 매우 유사합니다.
내가 언급하고 싶은 한 가지는 파괴적인 것이 "공식 이클립스"플러그인이라는 개념입니다. 그러한 명칭이 없기 때문에 사실이 아닙니다. Eclipse는 오픈 소스 기반이며 규칙, 프로세스 및 IP 요구 사항 등을 준수하려는 모든 프로젝트는 기반으로 프로젝트를 호스팅 할 수 있습니다. 그것은 다른 플러그인보다 더 공식적이지 않습니다.
또한 Subversive는 창립 이래 "인큐베이션"단계에 머물 렀으며 졸업 요건을 충족시킬 것으로 보이지는 않습니다. 여기에서 볼 수 있듯이 프로젝트에는 커미터가 하나 뿐이며 커밋 활동이 매우 낮은 수준으로 감소했습니다.
왜 Subclipse를 사용해야합니까? 우리는 Subversion 자체에 적극적으로 참여하고 있습니다. 저는 Subversion PMC 회원이며 Java 언어 바인딩을 유지하여 우리 (및 Subversive와 같은 다른 프로젝트)가 API를 사용할 수 있도록 도와줍니다.
우리는 Subversion과 직접 협력하여 API를 정의하고 개선하며 필요한 기능이 Subclipse와 같은 클라이언트에 노출되도록합니다. 또한 Visual Studio 통합 ( AnkhSVN ) 및 TortoiseSVN 팀과 긴밀하게 협력하여 클라이언트간에 비교적 일관된 사용자 환경을 제공합니다.
서브 클립 스는 여전히 활발하게 유지되고 있으며 Eclipse 버전 3.2에서 4.2까지의 지원을 유지합니다. 우리는 항상 피드백을 듣고 커뮤니티의 아이디어를 통합하려고 노력하고 있습니다. 최근 1.8.x 릴리스에는 대규모 프로젝트로 작업 할 때 (실제로 볼 때) Eclipse의 성능을 크게 향상시키는 내부 변경 사항이 포함되어 있습니다.
Subclipse는 병합 추적 지원과 같은 영역에서 주도적 인 역할을했으며,이 기능을 사용하면 먼저 Subversion 팀과 긴밀히 협력하여 1.5에서이 기능을 추가 한 후 후속 릴리스로 발전 시켰습니다. 우리는 종종 새로운 API의 초기 소비자였으며 기능을 강화하는 데 필요한 피드백을 프로젝트에 제공했습니다. 또한 2 년 전에 그래픽 개정 그래프 기능을 도입하여이 오랫동안 요청 된 기능을 Eclipse 사용자에게 최초로 제공했습니다.
Subversive에 사람들이 Subclipse에서 만든 것을보고 싶은 특정 UI 기능이있는 경우 커뮤니티를 방문하여 토론 포럼에 참여하는 것이 좋습니다. 다른 사용자가 귀하의 의견을 공유하고 UI를 함께 개선 할 수 있습니다.
포럼 [Subclipse-users] .
Eclipse 4.2는이 글을 작성할 당시의 최신 릴리스이지만 Subclipse는 향후 모든 Eclipse 릴리스를 지원할 것이라고 가정하는 것이 안전합니다.
Eclipse의 모든 새로운 버전에서는 Subversive를 설치합니다. Eclipse에서 제공하는 표준이기 때문입니다. 그리고 매번, 기존 프로젝트를 인식하는 데 문제가 있습니다.
그래서 Subversive를 제거하고 대신 Subclipse를 설치하면 결국 작동합니다. 또한 Eclipse뿐만 아니라 명령 줄에서 SVN을 자주 사용하며 Subclipse에는 아무런 문제가 없습니다.
이 게시물을 읽은 후 Subclipse hands down으로 변경했습니다.
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407
Subversion과 많은 병합 작업을 수행하는 경우 CollabNet Desktop-Eclipse Edition을 선호 할 것입니다. 다운로드를 받으려면 CollabNet에 계정을 등록해야하지만 무료입니다. 기본적으로 더 나은 병합 UI를 갖춘 Subclipse입니다.
CollabNet과 제휴하지 않습니다.
CollabNet은 등록되지 않은 Subclipse 사용자가 개선 된 병합 클라이언트를 사용할 수 있도록했습니다. 업데이트 사이트에서 Subclipse를 설치할 때 CollabNet Merge Client 기능을 선택하여 얻을 수 있습니다.
나는 Subversive가 작동하지 않기 때문에 Subclipse라고 말할 것입니다.)
실제로는 둘 다 짜증나게 생각합니다. TortoiseSVN을 사용 하는 것이 훨씬 더 나은 해결책이라고 생각합니다. 훨씬 강력하고 더 잘 작동하는 경향이 있으며 항상 Subclipse 및 Subversive와의 통합 문제가 있습니다.
둘 다 꽤 끔찍한 사마귀가 있지만 명령 행에서 체크 아웃 한 프로젝트로 Subversive를 사용할 수 없었습니다.
나는 둘 다 시도했지만 Subclipse와 Subversive는 끔찍합니다. 둘 다 설치하기가 어렵습니다. Subversive를 사용하면 외부 SVN 클라이언트를 사용할 수 없습니다 .
그러나 변경 사항을 추적하고 로컬 저장소를 손상시키지 않으려면 Eclipse에 SVN 클라이언트가 설치되어 있어야합니다.
내가 가진 하여 Subclipse가 설치되어 있지만 사용 TortoiseSVN을을 실제로 병합 comitting / 태그 / 분기 / 수행합니다.
적어도 작동하기 때문에 Subclipse.
파괴는 지금까지 실패의 양동이였습니다. Subclipse로 체크 아웃 한 이전 프로젝트 모두와 잘 어울리지 않습니다.
확실히 두 IDE 플러그인 모두 문제가 있습니다. 그러나 TortoiseSVN 또는 명령 줄과 같은 다른 솔루션을 동시에 사용할 수는 없습니다. 직장에서 내 프로젝트에 세 가지를 모두 사용합니다.
기억해야 할 중요한 것은 모든 클라이언트 SVN 소프트웨어 가 SVN 버전마다 다른 동일한 SVN 파일 형식을 사용해야하거나 문제가 있다는 것입니다.
우리가 발견 한 또 다른 문제는 클라이언트 소프트웨어가 서버와 다른 SVN 파일 형식을 사용할 때입니다. (파일 형식으로 볼 때 SVN이 프로젝트 파일에 대해 알아야 할 내용을 효과적으로 기록하는 보이지 않는 모든 .svn 파일에 모든 정보가 표현되는 방식을 의미합니다.) 1.5 서버와 1.6 클라이언트 사이에 문서화 된 버그가 있지만 현재 링크를 찾을 수 없습니다.
SVN 1.5.5 서버와 호환되지 않기 때문에 상위 (IMO) Subclipse 1.6 플러그인을 실행하는 데 문제가있었습니다. 그래서 우리는 파괴성으로 돌아갔습니다. 느리고 다소 버그가 있지만 (하지만 개선) 잘 작동합니다. 서버가 업데이트되면 Subclipse로 전환합니다. 예, TortoiseSVN으로 프로젝트를 확인하고 Eclipse로 가져옵니다 (더 빠름).
우리는 다른 포스터에서 언급했듯이 1.6.x 형식으로 파일을 작성한 TortoiseSVN의 최신 버전을 실행하면 작동하지 않지만 TortoiseSVN 1.5.x로 되돌릴 때 제대로 작동한다는 것을 알았습니다. 명령 행 클라이언트 ( Anant 태스크 와 함께 사용)도 마찬가지입니다 .
그냥 업데이트. 최근에 Eclipse를 다시 설치하고 Subclipse vs Subversive를 선택했습니다. 또한 Subversive가 작동하도록 노력하는 데 어려움을 겪어 Subclipse로갔습니다.
Linux 64 비트 시스템에 완벽하게 설치되었으며 정상적으로 실행됩니다. Update, Commit, ..과 같은 가장 일반적인 기능을 바로 가기에 매핑했으며 폭발적입니다. 더 큰 병합의 경우 여전히 TortoiseSVN으로 전환하지만 병합도 좋습니다. 나는 3.5와 3.6 모두로 시도했지만 모두 잘 작동합니다. 어떤 이유로 키 바인딩이 3.6에서 작동하지 않기 때문에 3.5를 사용했습니다.
저장소에 액세스하기위한 프로토콜로 svn + ssh 를 사용하는 경우 Subclipse를 선택하는 것이 좋습니다. Subversive는 자격 증명을 올바르게 기억할만큼 지능적이지 않으며 작업 복사본을 업데이트 할 때마다 사용자 이름과 개인 키를 묻습니다. 각 svn-external에 대해 설정했을 수 있습니다.
"자격 증명 기억"옵션은 이러한 맥락에서 깨졌으며 Subversive의 최초 공개 이후부터 있습니다.
회사에서 이들 중 하나를 사용하고 있고 자체 Eclipse 기반 제품으로 번들을 제공하려는 경우 비즈니스 친화적 인 Eclipse Public License에 따라 Subclipse를 사용할 수있어 훨씬 편리합니다.
반면에 파괴적인 기능은 완전히 작동하기 위해 소위 커넥터가 필요합니다. 그리고 그것들은 별도의 다른 라이센스를 가지고 있습니다. 따라서 Subversive 기능에 대해서만 2 개 또는 3 개의 서로 다른 라이센스가 생길 수 있지만 다른 모든 Eclipse 플러그인은 해당 EPL 바로 아래에 있습니다. 이러한 커넥터가 eclipse.org에서 호스팅되지 않는 이유이기도합니다.
이것이 Subversive 설치 후 동적으로 다운로드되는 이유입니다 (즉, 단순히 eclipse.org 업데이트 사이트를 미러링해도 회사 네트워크에서 사용 가능한 Subversive 오프라인 설치를 제공하지 않음을 의미합니다).
2008 년 5 월까지 Subclipse를 사용하고 있었지만 일부 프로젝트의 문제로 인해 Subversive로 전환하여 문제없이 사용하고 있습니다. 헤드리스 Buckminster 빌드 와 같은 멋진 작업을 수행하는 경우 Subversive가 반드시 필요합니다.
TortoiseSVN을 사용하고 정기적으로 버전을 업데이트하면 Subversive가있는 Eclipse에서 모든 SVN 정보가 손실되고 무서운 오류가 발생할 수 있습니다.
새 버전의 TortoiseSVN이되는 이유는 Eclipse SVN 커넥터를 최신 상태로 유지하지 않으면 Eclipse Subversive가 이해할 수없는 새로운 메타 데이터를 추가하는 것입니다.
일반적으로 SVNKit 커넥터를 사용하므로 TortoiseSVN 1.5.x는 Eclipse SVNKit 커넥터 1.5.x와 함께 작동하고 TortoiseSVN 1.6.x는 Eclipse SVNKit 커넥터 1.6.x와 함께 작동합니다.
나에게 나쁘지도 나쁘지는 않지만 Subversive는 Eclipse Ganymede 플랫폼의 기본 SVN 플러그인이므로 Eclipse와 더 잘 통합 될 가능성이 있습니다.
브렌 돈에 대한 답변으로
버전 1.5.1부터 Subversion을 사용하고 Subclipse를 먼저 사용했습니다. 그러나 병합 기능에 크게 의존하기 때문에 더 편리하고 병합 대화 상자에 별도의 재 통합 옵션이있는 파괴 (Subversive)로 전환했습니다.
병합을 방해 할 수있는 버그 중 하나는 수정을 명시 적으로 선택하면 나열된 마지막 수정을 수행하지 않는다는 것입니다. 예를 들어 "101-100"은 r100을 병합하지 않으므로 "100"은 전혀 병합하지 않습니다. (버전 0.7.5)
그리고 CVS 플러그인과 동일한 표시기를 사용합니다.
둘 다 Helios와 함께 작업하는 동안 bugtraq
속성 에 대한 탁월한 지원 때문에 Subclipse를 약간 선호 합니다 ( 여기서는 여기 참조 ).
내역 보기 쇼 별도의 칼럼 (제목 bugtraq:label
표시 BUGID
를)하고 상황에 맞는 메뉴는 "오픈 버그 URL"(에 연결하는 전용 작용이있다 bugtraq:url
) - 나는 파괴적이 정보에 액세스하는 방법을 알아낼 수 있습니다.
실제로 사용하지는 않았지만 내장 CVS 지원과 마찬가지로 파괴적인 기능은 " Check Out As "를 지원하는 것 같습니다 .
SVN에서 프로젝트를 가져 와서 웹 프로젝트로 실행할 수 있으려면 한 번에 수행 할 수 있습니다. 그러나 Subclipse에서 동일한 결과를 얻으려면 소스를 확인하고 다음을 실행하십시오.
mvn 이클립스 : eclipse -Dwtpversion = 2.0
나는 둘 다 사용했고 Subclipse는 나를 위해 비정상적이지만 Subversive (적어도 이전 버전에서)는 실수로 잘못된 자격 증명을 넣을 때 동료의 계정을 잠갔습니다 (네트워크 로그인은 Subversion 저장소에 액세스하는 데 사용됩니다) ).
서브 클립 스는 시간이 지남에 따라 조직화되는 경향이있다 Eclipse가 정기적으로 새로 고쳐지지 않으면 Subclipse는 파일 추적 정보를 잃어버린 것 같습니다. 솔직히, Easy Explorer Plugin 이 있기 때문에 히스토리 및 변경 정보에 Subversive (가끔)를 사용하지만 최근에 변경된 프로젝트에 대한 커밋 및 업데이트를 위해 TortoiseSVN을 쉽게 탐색하고 사용합니다.
FWIW, 우리는 고대 버전의 SVN 서버 (1.4 무언가)를 사용하고 있으며, 어느 시점에서 이전 버전과의 호환성을 깨뜨린 Subclipse에 대한 업데이트가 있었고 요점은 "이전 버전의 어쨌든 SVN ".
전복은 이전 버전을 처리 할 수있는 유일한 것으로 나타났습니다. 그래도 세부 사항을 기억할 수 없습니다. 죄송합니다.
우리는 팀에서 두 가지를 모두 시도했습니다.
Subclipse (Galileo / Helios의 것)는 VAS를 통해 SVN 서버를 인증하는 데 문제가 있었으므로 TortoiseSVN 클라이언트 브라우저 (Internet Explorer 7 제외)와 같은 다른 문제는 없었습니다.
그래서 우리는 설치 Subversive
했고 문제는 해결되었습니다.
Subclipse가 Subversive에 비해 이점은 ... 실제로 작동합니다!
Subclipse에 의존하는 Eclipse 용 협업 플러그인을 개발할 때 오래 전에 Subclipse를 사용했습니다. 플러그인의 Subclipse 부분은 결코 문제가되지 않았지만 Ant 전체가 여전히 혼란 스럽지만 Ant 부분이 어떻게 작동하는지 이해하기 위해 Ant 부분이 어떻게 작동하는지 이해할 필요는 없습니다.
오늘 PDT를 설치하려고하는데 (이것은 완전히 다른 블로그 임) Subversive는 다른 것과 마찬가지로 "The Eclipse SVN Plugin"으로 묘사되기 때문에 파괴적입니다. 한 번에 네 개의 커넥터를 설치할 수 없었기 때문에 한 번에 하나씩 설치하고 한 번에 하나씩 설치해야했으며 한 번에 하나씩 SVN 서버로 인증 할 수 없었습니다.
플러그인과 관련된 다른 문제에 더 많이 쓰지 않고 시간을 절약하고 싶기 때문에 PDT와 Subversive를 시도하고 있습니다.
Subversive를 제거하고 Subclipse를 설치 한 후 이와 같이 연결했습니다.
시간과 번거 로움을 피하고 처음부터 Subclipse로 이동하십시오.
나는 또한 둘 다 사용했다. 내 작업 공간에 약 150 개의 프로젝트가 있다는 문제가 있었고 모든 플러그인을 선택하고 "저장소 동기화"라고 말하면 Subversive가 너무 오래 걸렸습니다. UI가 매우 오랫동안 정지되었습니다. Subclipse가 더 안정적이라는 것을 알았습니다.
어쨌든, 나는 도구를 많이 결합합니다. 전체 지점을 체크 아웃하는 것과 같은 일부 작업의 경우 명령 줄을 선호합니다. 다른 사람들을 위해 TortoiseSVN을 사용 합니다. 나는 주로 Subclipse를 사용하여 기록을보고 도구에서 직접 비교를 수행하고 때로는 비교하기도합니다 ( 비록 Beyond Compare 를 선호합니다 ).