Eclipse, Subclipse 및 Subversive 용 SVN 플러그인의 장단점은 무엇입니까? [닫은]
Eclipse의 SVN은 두 개의 진영으로 나뉩니다. SVN 사람들은 Subclipse 라는 플러그인을 개발했습니다 . Eclipse 사람들은 Subversive 라는 플러그인을 가지고 있습니다 . 대체로 둘 다 같은 일을합니다. 각각의 장점과 단점은 무엇입니까?
둘 다 매우 유사하지만 Subversive는 "eclipse svn provider"입니다. 저는 몇 가지 편리한 기능 때문에 주로 Subversive를 사용합니다.
역사 그룹화
모든 커밋에 대한 행을 보는 대신 분기의 기록을 탐색 할 때 오늘, 주 등으로 커밋을 그룹화 할 수 있습니다.
트렁크, 분기 및 태그 매핑
Subversive는 기본 svn 레이아웃 (트렁크, 브랜치, 태그 (변경 가능))을 가정하므로 태그 또는 브랜치를 원할 때마다 클릭 한 번으로 태그 또는 브랜치의 이름을 제공합니다.
내가 말했듯이 이것들은 내가 편리하다고 생각하는 사소한 차이입니다. 둘 다 mylyn과 잘 작동하지만 전반적으로이 두 확장 기능에는 큰 차이가 없습니다.
Subversive와 병합하는 것은 고통 스럽지만 (Subclipse를 시도하지 않았 음) 성공적으로 병합 할 수 없었습니다. 병합 미리보기는 훌륭하지만 병합을 완료하지 못하거나 오래 걸립니다. 대부분의 경우 문제없이 명령 줄을 통해 병합을 완료합니다.
나는 이것에 답하는 데 균열을 가질 것입니다. 저는 Subclipse의 프로젝트 리더이며 프로젝트의 모든 릴리스 등을 관리합니다. 그래서 내 편견은 분명합니다.
나는 Subversive에 대해 너무 많이 이야기하지 않을 것입니다. 분명히 그것을 사용하고 좋아하는 사용자가 있습니다. 기능적으로 제품은 모두 성숙한 제품이므로 매우 유사합니다.
제가 언급하고 싶은 한 가지는 Subversive가 "공식 Eclipse"플러그인이라는 개념입니다. 그러한 지정이 없기 때문에 그것은 사실이 아닙니다. Eclipse는 오픈 소스 기반이며 규칙, 프로세스 및 IP 요구 사항 등을 따르려는 모든 프로젝트는 해당 프로젝트를 기반으로 호스팅 할 수 있습니다. 그렇다고 다른 어떤 플러그인보다 더 공식적이거나 덜 공식적이지는 않습니다.
또한 Subversive는 처음부터 "인큐베이션"단계에 머물 렀으며 졸업 요건을 충족하지 못할 것으로 보입니다. 여기에서 볼 수 있듯이 프로젝트에는 커미터가 한 명 뿐이며 커밋 활동이 매우 낮은 수준으로 감소했습니다.
그렇다면 왜 Subclipse를 사용해야합니까? 우리는 Subversion 자체에 적극적으로 참여하고 있습니다. 저는 Subversion PMC 회원이며 Java 언어 바인딩을 유지하여 우리 (및 Subversive와 같은 다른 프로젝트)가 API를 사용할 수 있도록 도와줍니다.
우리는 Subversion과 직접 협력하여 API를 정의 및 개선하고 필요한 기능이 Subclipse와 같은 클라이언트에 노출되도록합니다. 또한 Visual Studio 통합 ( AnkhSVN ) 및 TortoiseSVN 팀과 긴밀히 협력하고 협력하여 클라이언트 전반에 걸쳐 비교적 일관된 사용자 경험을 제공합니다.
Subclipse는 여전히 적극적으로 유지 관리되며 Eclipse 버전 3.2 ~ 4.2에 대한 지원을 유지합니다. 우리는 항상 피드백을 듣고 커뮤니티의 아이디어를 통합하려고 노력하고 있습니다. 최근 1.8.x 릴리스에는 대규모 프로젝트 작업시 (즉, 실제로 볼 때) Eclipse의 성능을 크게 향상시키는 내부 변경 사항이 포함되어 있습니다.
Subclipse는 병합 추적 지원과 같은 영역에서 선두를 달리고 있으며, Subversion 팀과 긴밀히 협력하여 1.5에서이 기능을 추가 한 다음 후속 릴리스에서 발전 시켰습니다. 우리는 종종 새로운 API의 초기 소비자였으며 기능을 강화하는 데 필요한 피드백을 프로젝트에 제공했습니다. 또한 몇 년 전에 그래픽 개정 그래프 기능을 도입하여 이클립스 사용자에게 오랫동안 요청 된 기능을 처음으로 도입했습니다.
사람들이 Subclipse에서 만들고 싶어하는 Subversive의 특정 UI 기능이 있다면, 우리 커뮤니티를 방문하고 토론 포럼에 참여하는 것이 좋습니다. 다른 사용자가 귀하의 의견을 공유하고 함께 UI를 개선 할 수 있습니다.
포럼 [Subclipse-users] .
Eclipse 4.2는이 게시물 당시 최신 릴리스이지만 Subclipse가 향후 모든 Eclipse 릴리스를 지원할 것이라고 가정하는 것이 안전합니다.
Eclipse에서 제공하는 표준이기 때문에 모든 새 버전의 Eclipse와 함께 Subversive를 설치합니다. 그리고 매번 기존 프로젝트를 인식하는 데 문제가 있습니다.
그래서 Subversive를 제거하고 대신 Subclipse를 설치합니다. 또한 Eclipse뿐만 아니라 명령 줄에서도 SVN을 자주 사용하며 Subclipse에는 문제가 없습니다.
이 게시물을 읽은 후 Subclipse로 변경했습니다.
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와의 통합 문제가있었습니다.
They both have pretty heinous warts, but I couldn't get Subversive to work with a project I had checked out from the command-line, and that was a show-stopper for me.
I tried both of them, and both Subclipse and Subversive are awful. Both are challenging to install. If you use Subversive, you cannot use an external SVN client.
However you need to have a SVN client installed in Eclipse to keep track of changes, and also to not corrupt your local repository.
I have Subclipse installed, but use TortoiseSVN to actually do comitting/tagging/branching/merging.
Subclipse, because at least it works.
Subversive has been a bucket of fail for me so far. It wouldn't play nice with all of my old projects I had checked out with Subclipse.
Certainly both IDE plugins have their issues. But neither precludes the parallel use of other solutions like TortoiseSVN or command-line. I use all three for my projects at work.
The important thing to remember is that all your client SVN software should use the same SVN file format--which differs between versions of SVN--or you are asking for trouble.
Another issue we found is when your client software uses a different SVN file format than the server. (By file format, I mean the way all the information is represented in all those seemingly invisible .svn files that effectively record what SVN needs to know about your project files.) That can wreak havoc. There's a documented bug between 1.5 server and 1.6 clients, but I can't find the link right now.
We had issues running the superior (IMO) Subclipse 1.6 plugin because of incompatibilities with our SVN 1.5.5 server. So we reverted to Subversive. It works fine, albeit slow and somewhat buggy (but improving). We will switch to Subclipse when our server is updated, though. And yes, we check out our projects with TortoiseSVN and import them into Eclipse (it's faster).
We found that, as other posters said here, it would NOT work if we ran newer versions of TortoiseSVN that wrote files in 1.6.x format, but when we reverted to TortoiseSVN 1.5.x, it worked just fine. The same was true of the command-line client (which we leverage with our Ant tasks).
I chose to go with Subclipse since it is most closely associated with the Subversion project and so more likely to better handle the core SVN functionality. If at all it fails to perform any function then I have TortoiseSVN as a backup.
Just an update. I recently was reinstalling Eclipse and was faced with choice of Subclipse vs Subversive. I, also, had my share of troubles trying to get Subversive to work so I went for Subclipse.
It installed perfectly on my Linux 64 bit machine and is running just fine. I mapped most common functions like Update, Commit, .. to shortcuts and it's a blast. The merging is good too, although for bigger merges I still turn to TortoiseSVN. I tried it with both 3.5 and 3.6, and they both work fine. I ended up using 3.5 because for some reason key binding were not working with 3.6.
If you are using svn+ssh as the protocol to access your repository I strongly suggest you to choose Subclipse: Subversive is not intelligent enough to remember your credentials properly and prompts you for username and private key every single time you update your working copy and also for each svn-external you may have set up.
The "remember credentials" options is broken in this context and has been since the first public release of Subversive.
If you are using one of them in your company and maybe even want to bundle them in own Eclipse-based products, your life is much easier with Subclipse, because it is available under the business-friendly Eclipse Public License.
Subversive on the other hand needs so-called connectors to fully work. And those have separate and different licenses. So you may end up with two or three different licenses just for the Subversive functionality, while all other Eclipse plugins are just under that one EPL. That's also the reason why those connectors are not hosted at eclipse.org.
And that's why they are downloaded dynamically after the Subversive installation (which also means that simply mirroring the eclipse.org update site does not give you a usable Subversive offline installation in your company network).
Up until about May 2008 I was using Subclipse, but due to issues with some projects, I've switched over to Subversive and am using that with no issues. If you are doing something fancy like headless Buckminster builds, then Subversive is definitely the one to go with.
If you use TortoiseSVN and regularly update the version you may find Eclipse with Subversive losing all SVN information and throwing some scary errors.
The reason being the new version of TortoiseSVN adds new meta data that Eclipse Subversive does not understand unless you also keep your Eclipse SVN connectors up to date as well.
I generally use the SVNKit connector, so TortoiseSVN 1.5.x will work with Eclipse SVNKit connector 1.5.x and TortoiseSVN 1.6.x will work with Eclipse SVNKit connector 1.6.x.
Subversive has more advantages than the Subclipse as listed below. But just one feature Subversion does not have is so critical about using branches. So we have to use Subclipse.
Subversive advantages:
- View and icons are more informative
- After commit sync items are refreshed, committed file is closed.
Subclipse advantage
- ability to compare two branches
+1 Subclipse
-1 Subversive
Subversive gets confused after even minor refactoring and has validation issues as above.
Environment: STS 2.7.2 (based on Galileo)
For me neither is better or worse, but Subversive is the default SVN plugin in Eclipse Ganymede platform, so there's a chance that it's better integrated with Eclipse.
As an addition to Brendons answer:
We use Subversion since version 1.5.1 and used Subclipse first. But because we greatly depend on the merging feature, we switched to Subversive which is more convenient and has a seperate Reintegrate option in the merging dialog.
One bug that might hinder at merging is that if you select revisions explicitly, it doesn't take the last revision listed. E.g. "101-100" doesn't merge r100 and "100" thus doesn't merge anything at all. (version 0.7.5)
And it has uses the same indicators as the CVS plugin.
While I got both working with Helios, I have a slight preference for Subclipse because of its excellent support for bugtraq
properties (details here).
The History view shows a separate column (titled bugtraq:label
, displaying BUGID
s), and the context menu has a dedicated action to "Open Bug URL" (linking to bugtraq:url
) -- I couldn't figure out how to access any of this info with Subversive.
I've been using Subversive since I upgraded to Ganymede. I use it with Eclipse in Linux (Ubuntu and Fedora Core), Windows XP and Mac OS X.5. Aside from some issues getting Subversion 1.5.1 to use the right security libraries under Mac OS, I haven't had any problems. Given that it has been adopted as an Eclipse technology project, I am inclined to place my bets on it, in terms of long-term hopes.
I have not really used it, but it seems Subversive supports "Check Out As", just like the built-in CVS support does.
Like, to take a project from SVN and be able to run it as a web project, one might be able to do so in one go. But to get the same result in Subclipse, I just check out the sources and run:
mvn eclipse:eclipse -Dwtpversion=2.0
I've used both, and while Subclipse has been flaky for me, Subversive (at least with a previous version) locked out an account of my coworker when he accidentally put in the wrong credentials (the network login is used to access the subversion repository).
Subclipse tends to get disorganized over time. If Eclipse is not refreshed regularly Subclipse seems to lose its file tracking information. Honestly, though, since I have the Easy Explorer Plugin, I use Subversive (occasionally) for history and change information, but I easy explore and use TortoiseSVN for commits and updates to the projects I know I've changed recently.
I have just discovered that I cannot figure out how to view a properties diff with Subclipse. In Subversive you select two revisions in the history view, right-click and select compare properties from the popup. This is enough for me to stick with Subversive.
The reason for trying to switch was Subversive's strange behavior on OS X: Some automatic operation called 'svn cache update' hogged the CPU at abnormal levels after every 'svn update' run, always taking an annoyingly long time to complete.
FWIW, we are using an ancient version of SVN server (1.4 something), and I seem to remember that at one point there was an update to Subclipse that broke backward compatibility, and the gist was "nobody should be on such an old version of SVN anyway".
Subversive was the only one that seemed to be able to handle the older version. I can't remember the details, though, sorry.
We tried both in our team.
Since Subclipse (the one from Galileo/Helios) had some trouble authenticating our SVN server via VAS, we had no problem elsewhere, i.e. TortoiseSVN client, browsers (except Internet Explorer 7).
So we installed Subversive
and the problem was resolved.
The advantage of Subclipse over Subversive... IT ACTUALLY WORKS!
I used Subclipse a long time ago when developing a collaborative plugin for Eclipse that depended on Subclipse. The Subclipse part of the plugin was never a problem, although the whole Ant thing still confuses me a bit, but the good part is you don't have to understand how the Ant part works to know how to use it.
I am attempting to install PDT today (which is a whole other blog) and then Subversive because, like many, it is portrayed as "The Eclipse SVN Plugin". I was unable to install the four connectors at once, so I had to install them one at a time and one at a time I tried them, and one at a time it could not authenticate with the SVN server.
I am trying PDT and Subversive, because I want to SAVE time, not spending more of it on different issues with a plugin.
I uninstalled Subversive, installed Subclipse, and connected just like that.
Save yourself the time and hassle, go Subclipse from the start.
I've also used both. I had the problem that I have around 150 projects on my workspace, and Subversive would take an awful long time when I selected all plugins and said "synchronize repository". The UI would freeze for an extremely long time. I find Subclipse to be more stable.
Anyway, I combine the tools a lot. For some tasks like checking out whole branches I prefer the command line. For others I use TortoiseSVN. I use Subclipse mostly to view history and run comparisons directly on the tool, and occasionally to compare (I prefer Beyond Compare for that, though).
'code' 카테고리의 다른 글
PuTTy 세션 목록을 내보내거나 가져 오는 방법은 무엇입니까? (0) | 2020.10.02 |
---|---|
컨트롤러에서 필터를 사용하는 방법은 무엇입니까? (0) | 2020.10.02 |
위조, 조롱 및 스터 빙의 차이점은 무엇입니까? (0) | 2020.10.02 |
JSON을 간단한 사전으로 역 직렬화하는 방법 (0) | 2020.10.02 |
모든 jQuery Ajax 요청이 완료 될 때까지 기다리시겠습니까? (0) | 2020.10.02 |