SVN вне стиля? [закрыто]


9

Прошло всего несколько лет с тех пор, как я перешел с Visual Source Safe на SVN. И SVN для меня все еще своего рода "ВАУ! Я могу сделать так много вещей! SVN такой крутой!"

Но многие люди вокруг меня продолжают говорить "SVN? Правда? Мех ..."

И их так много, что я волнуюсь. Должен ли я перевести свою команду в Git / Mercurial или что-то другое? Я знаю, что звучит смешно, и очевидным ответом будет «остаться с тем, что работает для ВАС». SVN работает для меня ... Но каждый раз, когда я создаю новый проект в своем хранилище, я постоянно спрашиваю себя - может быть, это было время, чтобы двигаться?

Итак ... SVN действительно так плохо? Я упускаю огромную возможность, придерживаясь ее?


Это может быть интересно читать: stackoverflow.com/questions/161541/svn-vs-git
fouronnes

Вы независимый разработчик?
TeaDrinkingGeek

6
Я всегда использовал GIT. Теперь я должен использовать SVN на работе .... ... ... ... ... ... ... RAGE.
Иво Ветцель

@TeaDrinkingGeek: OP говорит: «Должен ли я переместить свою команду ...», поэтому я предполагаю, что есть больше, чем просто вовлеченный OP (если не считать команду из одной команды - но тогда это обычно не называют «моей командой») ).
FrustratedWithFormsDesigner

Lol Извините приятель, глаза немного размыты после 12 часов на ноутбуке. :)
TeaDrinkingGeek

Ответы:


8

Это полностью зависит от использования.

Если у вас есть одна группа людей в комнате, и они выполняют большую часть своей работы там, если у вас есть процесс сборки и развертывания, который вам уже нравится, и если вы не хотите делиться своим кодом с людьми широко (как это было бы с проект с открытым исходным кодом), тогда вы не должны потеть.

Возможно, год назад я перешел с Subversion на Git. Git идеально подходит для этого, в основном, локального варианта использования, но там, где он действительно сияет, это распределенная разработка. При локальном использовании хорошо иметь github в качестве удаленной резервной копии и симпатичный веб-интерфейс для кода, и это облегчает мне участие подрядчиков. Но я не получаю многого от этого прямо сейчас, потому что я не получаю от Subversion.


8

Не увлекайтесь постоянным потоком шумихи. У вас есть что-то, что работает, продолжайте использовать его, пока не возникнет бизнес-требование, которое лучше удовлетворять чем-то другим (нет, новая блестящая система контроля версий или язык программирования каждые несколько месяцев, когда что-то «новое и улучшенное» раскручивается, НЕ собирается чтобы удовлетворить ваши бизнес-требования лучше, чем тот, который вы используете сейчас).

Если SVN работает для вашей организации, то нет никаких причин вкладывать деньги / время / усилия, необходимые для перехода к чему-то другому, как бы этого ни хотели некоторые люди, потому что это новое и блестящее.

И нет, это не (как считает JBK) решение, которое должно приниматься «командой», это решение, которое должно принять руководство после консультации со всеми заинтересованными сторонами (включая, по крайней мере, ваших системных администраторов). Тратить деньги на изменение технологического стека - бизнес, а не техническое решение.


Я бы проголосовал за тебя миллион раз, если бы мог.
HLGEM

5

Я считаю, что никогда не следует принимать решения из-за невежества. Если вы не знаете, чего вам не хватает, вы должны пытаться драться до тех пор, пока не поймете, тогда вы можете принять обоснованное решение. Прыжок к распределенному контролю невозможно понять, не испытав его и не отказавшись от некоторых старых привычек. Большая часть возможностей DVCS заключается в том, что вы можете создавать столько веток, сколько захотите, по любой причине. Если вы пробовали его в течение месяца и не создали по крайней мере 5 веток или около того, вы не тестировали его на собственных условиях. Это ошибка большинства людей, которые не «получают» мерзавца. После этого, если вы вернетесь в SVN, по крайней мере, вы будете знать причины для себя.


5
Я решительно поддерживаю принятие большинства решений из относительного невежества. Вы предлагаете ему потратить месяц на то, чтобы попробовать Git. Это настоящая работа. Он должен делать это только в том случае, если есть основания полагать, что это улучшит его положение. В противном случае, возможно, есть еще кое-что, на что ему стоит потратить месяц экспериментов. Например, redis или mongo, или rails, или node.js, или BDD - что-то новое.
Уильям Пьетри

Но Git - горячая новая вещь. А опыт многих пользователей Git предполагает , что это будет сделать его положение намного лучше.
Kyralessa

3

Я не использовал Git, но я использовал Mercurial, и я действительно не понимаю, в чем дело. Это похоже на SVN, за исключением того, что базовые вещи, такие как регистрация и извлечение, являются более сложными (требуется два шага вместо одного). В свою очередь, он должен был сделать намного более продвинутые вещи, которые мне никогда не требовалось делать намного проще. Моя реакция на заявления о том, что DVCS как-то по своей сути превосходит, в основном звучит так: «Хорошо, конечно, я поверю на ваше слово», а затем я продолжаю работу с SVN, который прекрасно работает для меня.


Огромное преимущество DVCS заключается в том, что вы можете выполнять всю работу в автономном режиме. Эта особенность налагает требование, чтобы DVCS имел мощный механизм слияния, который может обрабатывать перебазирование и ветвление; виды задач, которые просто невозможны с централизованным VCS. Люди утверждают, что преимущество заключается в включенных рабочих процессах, а не в техническом превосходстве. Если вы не используете или не нуждаетесь в таком рабочем процессе, это тоже нормально.
Greyfade

1
Это потому, что регистрация и оформление заказа не существует в DVCS. Вы используете hg вместо SVN вместо того, чтобы использовать hg так, как это было задумано. То же самое относится к любой DVCS.
альтернатива

@ Mathepic: Ну, вы можете изменить имя, если хотите, но фундаментальная концепция передачи данных между локальной рабочей копией и официальным репозиторием существует в любой системе контроля версий.
Мейсон Уилер

1
нет. В DVCS такой операции нет.
альтернатива

3
да, есть - точка центрального репо, в которой нужно выдвинуть «основную» версию, является очень верным вариантом использования для резервного копирования, сервера сборки, управления выпусками или просто для лучшей координации между командами.
gbjbaanb

-2

Очевидный ответ здесь состоит в том, чтобы позволить команде решить и обсудить, что является лучшим вариантом для всех, чтобы никто не вызвал выстрелы в вакууме. Могут быть высказаны различные мнения и проблемы, но я бы предпочел пойти к консенсусному ответу, а не пытаться диктатировать то, что использовать.


3
Есть ли у вас какие-либо представления о стоимости в человеко-часах перехода с одной системы контроля версий на другую или о риске потери вещей в процессе, если кто-то новичок в новой системе совершит ошибку при преобразовании существующего кода? Это НЕ групповое решение, это бизнес-решение, и его следует принимать только в том случае, если у вас есть реальные потребности, которые ваша текущая система не может удовлетворить.
HLGEM
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.