SVN в Eclipse поширюється на два табори. Люди SVN розробили плагін під назвою Subclipse . Люди Eclipse мають плагін під назвою Subversive . В цілому вони обидва роблять те саме. Які переваги та недоліки кожного?
SVN в Eclipse поширюється на два табори. Люди SVN розробили плагін під назвою Subclipse . Люди Eclipse мають плагін під назвою Subversive . В цілому вони обидва роблять те саме. Які переваги та недоліки кожного?
Відповіді:
Обидва дуже схожі, але Subversive - це "постачальник svn eclipse". Я в основному використовую Subversive через кілька зручних функцій:
Групування історії
Коли я переглядаю історію гілки, а не просто бачу купу рядків за кожну комісію, вона може групувати фіксацію до сьогодні, тижня тощо.
Картографування стовбура, гілок та тегів
Підривний передбачає макет svn за замовчуванням: стовбур, гілки, теги (які ви можете змінити), тому щоразу, коли ви хочете тег або гілку, це один клік, і ви вказуєте назву тегу чи гілки.
Як я вже сказав, це незначні відмінності, які мені просто зручні. Обидва чудово працюють з mylyn, але загалом різниці між цими двома розширеннями не дуже багато.
Злиття з Subversive - це біль, хоча (я не пробував Subclipse), я ніколи не зміг успішно злитися. Попередній перегляд злиття є чудовим, але він ніколи не завершить злиття, або це займе довгий час. Більшу частину часу я завершую злиття через командний рядок без жодних проблем.
1.0.0.I20120601-1700
), і злиття коду не може бути простішим.
Я відповім на це тріщиною. Я керівник проекту для Subclipse, і я керую всіма випусками тощо для проекту. Тож мої упередження очевидні.
Я не буду занадто багато говорити про підривний. Зрозуміло, що є користувачі, які ним користуються і подобаються. Функціонально продукти дуже схожі, оскільки обидва є зрілими продуктами.
Одне, що я хочу прокоментувати, це таке поняття, що якось підривний - це офіційний плагін Eclipse. Це просто неправда, оскільки такого позначення немає. Eclipse - це фундація з відкритим кодом, і будь-який проект, який хоче дотримуватися їхніх правил, вимог щодо процесу та вимог ІС тощо, може розміщувати свій проект разом із фондом. Це не робить вас більш-менш офіційним, ніж будь-який інший плагін.
Я також зазначу, що Subversive залишився на етапі "інкубації" з моменту заснування, і мені не здається, що він коли-небудь відповідатиме вимогам до закінчення навчання. Як ви можете бачити тут, у проекті був лише один експерт, і діяльність комітету скоротилася до дуже низьких рівнів.
Підривний - Провайдер команди SVN
То навіщо вам використовувати Subclipse? Ми активно беремо участь у самій Subversion. Я є членом PMC Subversion і допомагаю підтримувати прив'язки до мови Java, щоб ми (та інші проекти, такі як Subversive) могли використовувати API.
Ми працюємо безпосередньо з Subversion, щоб визначити та вдосконалити API та переконатися, що необхідні функції піддаються таким клієнтам, як Subclipse. Ми також тісно співпрацюємо та співпрацюємо з командами Visual Studio ( AnkhSVN ) та TortoiseSVN, щоб переконатися, що серед клієнтів є відносно послідовний досвід роботи.
Підкліп все ще активно підтримується, і ми підтримуємо версії Eclipse версій від 3.2 до 4.2. Ми завжди намагаємось слухати відгуки та включати ідеї спільноти. Останні версії 1.8.x включають внутрішні зміни, які значно покращують продуктивність Eclipse під час роботи з великими проектами (тобто коли ви дійсно це бачите).
Subclipse просунувся в таких сферах, як підтримка відстеження злиття, де ми тісно співпрацювали з командою Subversion, спочатку додавши цю функцію в 1.5, а потім розвинувши її в наступних випусках. Ми часто були початковими споживачами нового API і надавали проекту відгуки, необхідні для посилення функції. Ми також представили функцію графічного перегляду графіки кілька років тому, ставши першою, яка запропонувала цю довгу запитувану функцію користувачам Eclipse.
Якщо в Subversive є особливості інтерфейсу користувача, які люди хотіли б бачити в Subclipse, я б закликав вас завітати до нашої спільноти та зайнятись на наших дискусійних форумах. Можливо, інші користувачі поділяються вашими думками, і ми можемо разом покращити інтерфейс користувача.
Форум [користувачі субкліпів] .
Eclipse 4.2 - це останній реліз на момент публікації цієї публікації, але з упевненістю можна припустити, що Subclipse підтримуватиме всі майбутні випуски Eclipse по мірі їх створення.
З кожною новою версією Eclipse я встановлюю Subversive, тому що це стандарт, що надається Eclipse. І кожного разу у нього виникають проблеми з визнанням моїх раніше існуючих проектів.
Тому я закінчую видалення Subversive та встановлення Subclipse замість цього, який працює чудово. Я також часто використовую SVN з командного рядка, а також у Eclipse, і Subclipse не має з цим проблем.
Прочитавши цю публікацію, я перейшов на "Підключення руки вниз".
http://eclipsezone.com/eclipse/forums/t77149.rhtml#92035407
Якщо ви дуже зливаєтеся з Subversion, ви, ймовірно, віддасте перевагу CollabNet Desktop - Eclipse Edition. Щоб завантажити, потрібно зареєструвати обліковий запис у CollabNet, але це безкоштовно. По суті це субкліп з кращим інтерфейсом злиття.
Я не пов'язаний з CollabNet.
CollabNet зробив свій покращений клієнт злиття доступним для нереєстрованих користувачів Subclipse. Ви отримуєте це, вибравши функцію CollabNet Merge Client під час встановлення Subclipse з сайту оновлення.
Я б сказав Subclipse, оскільки я навіть не міг змусити роботу Subversive;)
Я насправді думаю, що вони обидва смоктані. Використання TortoiseSVN - це набагато краще рішення на мою думку. Це набагато надійніше і прагне просто працювати краще, і у мене завжди виникали проблеми інтеграції з Subclipse та Subversive.
Вони обоє мають досить грізні бородавки, але я не міг змусити Subversive працювати з проектом, який я перевірив з командного рядка, і це було для мене показом.
Я спробував обидва , і субкліп, і підривний жахливо. І те, і інше складно встановити. Якщо ви використовуєте Subversive, ви не можете використовувати зовнішній клієнт SVN .
Однак вам потрібно встановити SVN-клієнт у Eclipse, щоб слідкувати за змінами, а також не пошкоджувати локальне сховище.
Я маю встановлено Subclipse , але використовуйте TortoiseSVN, щоб насправді робити comitting / tagging / розгалуження / злиття.
Підкліп, бо принаймні це працює.
Підривна робота досі була для мене відмовою. Це не заграє зі всіма моїми старими проектами, які я перевірив із Subclipse.
Звичайно, обидва плагіни IDE мають свої проблеми. Але це не виключає паралельного використання інших рішень, таких як TortoiseSVN або командного рядка. Всі три я використовую для своїх проектів на роботі.
Важливо пам’ятати, що все ваше клієнтське програмне забезпечення SVN має використовувати той самий формат файлу SVN - який відрізняється між версіями SVN - або ви вимагаєте неприємностей.
Ще одна проблема, яку ми знайшли, - це коли ваш клієнтське програмне забезпечення використовує інший формат файлу SVN, ніж сервер. (Під форматом файлу я маю на увазі те, як представлена вся інформація у всіх, здавалося б, невидимих .svn файлах, які ефективно записують те, що SVN потрібно знати про ваші файли проекту.) Це може спричинити хаос. Існує задокументована помилка між 1.5 сервером та 1.6 клієнтами, але я не можу зараз знайти посилання.
У нас виникли проблеми із запуском плагіну Superc (IMO) Subclipse 1.6 через несумісність з нашим сервером SVN 1.5.5. Таким чином ми повернулися до Subversive. Він працює чудово, хоча і повільно і дещо баггі (але покращує). Ми перейдемо на субкліп, коли наш сервер буде оновлений. І так, ми перевіряємо наші проекти з TortoiseSVN та імпортуємо їх у Eclipse (це швидше).
Ми з'ясували, що, як говорили інші афіші тут, НЕ буде працювати, якщо ми запустили новіші версії TortoiseSVN, які писали файли у форматі 1.6.x, але коли ми повернулися до TortoiseSVN 1.5.x, це працювало чудово. Те саме було і з клієнтом командного рядка (який ми використовуємо у своїх завданнях Ant ).
Просто оновлення. Нещодавно я перевстановлював Eclipse і стикався з вибором Subclipse vs Subversive. Я також мав свою частину проблем, намагаючись змусити Subversive працювати, тому я пішов на Subclipse.
Він чудово встановлений на моїй 64-бітній машині Linux і працює на відмінно. Я відобразив найпоширеніші функції, такі як Оновлення, Здійснення, .. для ярликів, і це вибух. Злиття теж добре, хоча для більшого злиття я все-таки звертаюся до TortoiseSVN. Я спробував це з 3.5 і 3.6, і вони чудово працюють. Я закінчив використовувати 3.5, оскільки чомусь прив'язка ключів не працювала з 3.6.
Якщо ви використовуєте svn + ssh як протокол для доступу до свого сховища, я настійно пропоную вам вибрати Subclipse: Subversive недостатньо розумний, щоб правильно запам’ятовувати свої облікові дані, а також підкаже вам ім'я користувача та приватний ключ щоразу, коли ви оновлюєте свою робочу копію, а також для кожного svn-зовнішнього, який ви могли встановити.
Параметри "запам'ятати облікові дані" порушені в цьому контексті і починаються з першого публічного випуску Subversive.
Якщо ви використовуєте один із них у своїй компанії і, можливо, навіть хочете з'єднати їх у власні продукти на базі Eclipse, ваше життя набагато простіше з Subclipse, оскільки воно доступне під діловою ліцензією Eclipse Public License.
З іншого боку, для повноцінної роботи потрібні так звані роз'єми. А у них є окремі та різні ліцензії. Таким чином, ви можете отримати дві-три різні ліцензії лише для функцій Subversive, тоді як усі інші плагіни Eclipse знаходяться лише під цим EPL. Це також причина, чому ці роз'єми не розміщуються на eclipse.org.
І тому вони завантажуються динамічно після встановлення Subversive (що також означає, що просто дзеркальне відображення сайту оновлення eclipse.org не дає вам зручної установки Subversive в режимі офлайн у мережі вашої компанії).
Приблизно до травня 2008 року я використовував Subclipse, але через проблеми з деякими проектами я перейшов на Subversive і використовую його без проблем. Якщо ви робите щось фантазійне, як побудований безголовий Бакмінстер , тоді, безумовно, є той, що підриває.
Якщо ви використовуєте TortoiseSVN і регулярно оновлюєте версію, ви можете виявити, що Eclipse з Subversive втрачає всю інформацію SVN і кидає деякі страшні помилки.
Причина в тому, що нова версія TortoiseSVN додає нові метадані, які Eclipse Subversive не розуміє, якщо ви також не оновлюєте свої роз'єми Eclipse SVN.
Я зазвичай використовую роз'єм SVNKit, тому TortoiseSVN 1.5.x буде працювати з Eclipse SVNKit-роз'ємом 1.5.x, а TortoiseSVN 1.6.x працюватиме з роз'ємом Eclipse SVNKit 1.6.x.
Subversive має більше переваг, ніж Subclipse, як зазначено нижче. Але лише одна особливість Subversion не має настільки критичного значення для використання гілок. Тому ми маємо використовувати Subclipse .
Підривний переваги:
Перевага підкліпа
+1 Підкліп
-1 Підривний
Підривна робота плутається після навіть незначного рефакторингу та має проблеми з валідацією, як зазначено вище.
Навколишнє середовище: STS 2.7.2 (на основі Galileo)
Для мене ні краще, ні гірше, але Subversive - це плагін SVN за замовчуванням на платформі Eclipse Ganymede, тому є ймовірність, що він краще інтегрується з Eclipse.
Як додаток до відповіді Brendons:
Ми використовуємо Subversion з версії 1.5.1, а спочатку використали Subclipse. Але оскільки ми сильно залежаємо від функції злиття, ми перейшли до Subversive, що є більш зручним і має окремий варіант Reintegrate в діалоговому вікні злиття.
Одна помилка, яка може перешкоджати злиттям, полягає в тому, що якщо ви вибираєте редакції явно, вона не буде приймати останню перелічену версію. Наприклад, "101-100" не об'єднує r100 і "100", таким чином, взагалі нічого не зливається. (версія 0.7.5)
І він використовує ті ж показники, що і плагін CVS.
Хоча я працював із Helios, я маю перевагу Subclipse через його чудову підтримку bugtraq
властивостей ( детальніше тут ).
Перегляд " Історія " показує окремий стовпець (з назвою bugtraq:label
, відображення BUGID
s), а контекстне меню має спеціальну дію "Відкрити URL-адресу помилки" (посилання на bugtraq:url
) - я не зміг зрозуміти, як отримати доступ до будь-якої цієї інформації за допомогою Subversive.
Я використовую Subversive з моменту переходу на Ganymede. Я використовую його з Eclipse в Linux (Ubuntu та Fedora Core), Windows XP та Mac OS X.5. Крім деяких проблем із отриманням Subversion 1.5.1 для використання потрібних бібліотек безпеки в Mac OS, у мене не було жодних проблем. Зважаючи на те, що він був прийнятий як проект Eclipse технологій, я схильний робити свої ставки на нього з точки зору довгострокових надій.
Я не дуже використовував його, але, здається, підривна підтримка " Check Out As ", як і вбудована підтримка CVS.
Мовляв, взяти проект у SVN і змогти запустити його як веб-проект, можна зробити це за один раз. Але щоб отримати такий же результат у Subclipse, я просто перевіряю джерела та запускаю:
mvn eclipse: eclipse -Dwtpversion = 2,0
Я використовував і те, і інше, коли Subclipse для мене лускав, Subversive (принаймні з попередньою версією) заблокував обліковий запис мого співробітника, коли він випадково ввів неправильні облікові дані (мережевий вхід використовується для доступу до сховища субверсії. ).
Підкліп має тенденцію до дезорганізації з часом. Якщо Eclipse не оновлюється регулярно, Subclipse, здається, втрачає інформацію про відстеження файлів. Чесно кажучи, оскільки у мене є плагін Easy Explorer , я використовую Subversive (періодично) для історії та зміни інформації, але я легко досліджую і використовую TortoiseSVN для вказівок та оновлень проектів, які я знаю, що нещодавно змінив.
Щойно я виявив, що не можу зрозуміти, як переглянути властивості, що відрізняються від Subclipse. У програмі Subversive ви вибираєте дві версії в перегляді історії, клацніть правою кнопкою миші та виберіть зіставити властивості зі спливаючого вікна. Цього мені достатньо, щоб дотримуватися Subversive.
Причиною спроби перемикання стала дивна поведінка Subversive на OS X: Деякі автоматичні операції під назвою "оновлення кеш-пам'яті svn" вивішували процесор на аномальних рівнях після кожного запуску "оновлення svn", завжди вимагаючи досадно тривалий час.
FWIW, ми використовуємо стародавню версію SVN-сервера (1.4 щось), і я, мабуть, пам’ятаю, що в один момент відбулося оновлення Subclipse, яке порушило зворотну сумісність, і суть полягала в тому, що «ніхто не повинен бути на такій старій версії SVN все одно ".
Підривний був єдиним, хто, здається, може обробляти старішу версію. Не можу пригадати подробиці, хоча, вибачте.
Ми намагалися обоє в нашій команді.
Оскільки у Subclipse (той, що від Galileo / Helios) виникли певні проблеми з автентифікацією нашого SVN-сервера через VAS, у нас не було жодних проблем, наприклад, клієнта TortoiseSVN, браузерів (крім Internet Explorer 7).
Тож ми встановили, Subversive
і проблема була вирішена.
Перевага Subclipse над Subversive ... МІСЦЕ РОБОТИ!
Я використовував Subclipse дуже давно, коли розробляв плагін для Eclipse, який залежав від Subclipse. Субкліпсова частина плагіна ніколи не була проблемою, хоча весь Ant річ все ще мене трохи бентежить, але гарна частина полягає в тому, що ви не повинні розуміти, як працює мурашина частина, щоб знати, як її використовувати.
Я намагаюся встановити PDT сьогодні (це вже зовсім інший блог), а потім Subversive, тому що, як і багато хто, він зображений як "Плагін SVN Eclipse". Мені не вдалося встановити чотири роз'єми одночасно, тому мені довелося встановити їх один за одним і один за одним, я спробував їх, і один за одним не міг автентифікуватись на сервері SVN.
Я намагаюся PDT та Subversive, тому що я хочу заощадити час, не витрачаючи більше на різні проблеми з плагіном.
Я видалив Subversive, встановив Subclipse та підключився просто так.
Економте собі час і клопоту, перейдіть до субкліпу з самого початку.
Я також використовував і те, і інше. У мене виникла проблема, що у мене на робочій площі близько 150 проектів, і Subversive зайняв би жахливий час, коли я вибрав усі плагіни і сказав "синхронізувати сховище". Користувальницький інтерфейс замерзав би надзвичайно довго. Я вважаю Subclipse більш стабільним.
У всякому разі, я дуже багато комбінуючи інструменти. Для деяких завдань, таких як перевірка цілих гілок, я віддаю перевагу командному рядку. Для інших я використовую TortoiseSVN . Я використовую Subclipse здебільшого для перегляду історії та проведення порівнянь безпосередньо на інструменті, а іноді і для порівняння ( хоча для цього я вважаю за краще Beyond Compare ).