Подтвердить что ты не робот

Альтернатива VSS для шоу одного человека (армия одного?)

Я программировал уже 10 лет для того же работодателя, и только контроль исходного кода, который мы когда-либо использовали, - это VSS. (Извините - это то, что у них было, когда я начал). Там было только несколько из нас; два сейчас, и мы обычно работаем в одиночку, поэтому VSS работает нормально для нас. Итак, у меня есть два вопроса: 1) Должны ли мы переключиться на что-то другое, такое как subversion, git, TFS и т.д., Что именно и почему (пожалуйста)? 2) Неужели я без всякой надежды и обречен на вечное проклятие, потому что VSS испортил меня (как говорит Джефф)?

Вау - спасибо за все замечательные ответы!

Похоже, я должен убрать несколько вещей. Мы являемся магазином MS (Gold parntner), и в основном мы работаем с VB, ASP.NET, SQL Server, sharepoint и Biztalk. У меня есть степень CS, поэтому я сделал сборку x86 C, С++ на DEC Unix и Slackware Linux в "время без ума"...

Моя проблема с VSS заключается в том, что теперь я больше работаю над VPN и VSS-производительность sux, и я боюсь, что наша 10-битная версия VSS-базы данных VSS будет собираться... Там служба LAN, которая должна ускорить работу, но я никогда не использовал ее, и я не уверен, что это помогает с коррупцией - кто-нибудь использовал услугу VSS LAN? (новый с VSS 2005)

4b9b3361

Ответ 1

Я бы, наверное, пошел с Subversion, если бы был вами. На данный момент я полный фанатик Git, но Subversion, безусловно, имеет некоторые преимущества:

  • Простота
  • обилие совместимых инструментов
  • активное и поддерживающее сообщество
  • портативный
  • Отличная интеграция с оболочкой Windows
  • интегрируется с визуальной студией (я думаю, но уверенно через стороннюю сторону)

Git имеет много и много других преимуществ, но выше, как правило, те, о которых заботятся люди, задавая общие вопросы, такие как выше.

Изменить: компания, с которой я сейчас работаю, использует сервер VisualSVN, который является бесплатным. Это делает установку репозитория Subversion на сервере Windows глупо простым, а на клиенте мы используем TortoiseSVN (для интеграции с оболочкой) и AnkhSVN для поддержки Visual Studio. Это неплохо и должно быть довольно легко даже для пользователей VSS.

Редактирование последних дней. Итак... почти восемь лет спустя я никогда не рекомендовал Subversion кому-либо по какой-либо причине. Я действительно не отрекаюсь, как таковой, потому что я думаю, что мой совет был действительным в то время. Однако в 2016 году Subversion не сохраняет почти никаких преимуществ, которые она имела перед Git. Инструмент для Git превосходит (и гораздо более разнообразный) тот факт, что он когда-то был, и, в частности, GitHub и другие хорошие хостинг-провайдеры Git (BitBucket, Beanstalk, Visual Studio Online, совсем рядом с моей головой). Visual Studio теперь имеет Git поддержку из коробки, и на самом деле это очень хорошо. Есть даже модули PowerShell, чтобы предоставить пользователям более привычные возможности Windows для обитателей консоли. Git еще проще настроить и использовать, чем Subversion, и не требует серверного компонента. Git стал столь же вездесущим, как и любой отдельный инструмент, и вы действительно только обманываете себя, чтобы не использовать его (если только вы просто не хотите использовать что-то не-Git). Не поймите меня неправильно - это не я ненавижу Subversion, но, скорее, я признаю, что это инструмент из другого времени, скорее как прямая бритва для бритья.

Ответ 2

Похоже, SubVersion является победителем здесь. Я сделал бы одолжение и использовал VisualSVN Server. Это бесплатно и сэкономит вам кучу головных болей.

Ответ 3

Если вы привыкли к тому, как работает VSS, проверьте (не каламбур) Хранилище SourceGear. Это отличный способ уйти от VSS, поскольку он поставляется с интеграцией IDE и поддерживает проверку/регистрацию, но когда вы будете готовы и почувствуете себя комфортно, вы также можете перейти к стилю фиксации обновления обновлений программирования, содержащегося в SVN.

Это бесплатно для одиночных разработчиков, работает на IIS и построено на .net, поэтому для вас нужно использовать довольно знакомый стек.

Ответ 4

Что бы вы ни делали, не изменяйтесь ради изменения.

Если он работает на вас, и у вас нет проблем с ним, я не вижу причин для переключения.

Ответ 5

Для чего стоит, Perforce является потенциальным вариантом, если вы действительно придерживаетесь 1 или 2 пользователей. В текущих документах, в которых указано, что у вас есть 2 пользователя и 5 клиентов, без необходимости покупать лицензии.

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

Это быстро, и для нас это было солидно (более 300 разработчиков на 10-летней кодовой базе). Мы храним несколько Т информации, и она была довольно отзывчивой. С небольшим количеством пользователей я сомневаюсь, что у вас будет много проблем с производительностью, если у вас есть хорошее оборудование для вашего сервера.

Используя VSS раньше, я считаю, что вы можете получить так много преимуществ из лучшей системы SCM, что переключение должно учитываться независимо от того, есть ли у вас коррупция или нет. Ветвление само по себе может стоить того. Истинная модель клиент/сервер, лучшие интерфейсы (программно и командная строка) - это пара других вещей, которые могут действительно помочь просто улучшить рабочий процесс и немного помочь производительности.

В заключение, мой взгляд на Perforce таков:

  • Он быстрый и надежный
  • Множество кроссплатформенных клиентских инструментов (windows, unix, mac и т.д.)
  • он бесплатный для 2 пользователей и 5 клиентов
  • Интегрируется в студию разработчика (и другие инструменты).
  • Имеет мощную систему ветвления (которая может быть или не подходит для вас).
  • Имеет несколько скриптовых интерфейсов (python, perl, ruby, С++)

Конечно, YMMV - я предлагаю эту альтернативу только как что-то, что может стоить взглянуть.

Ответ 6

Недавно я начал использовать Mercurial для некоторых моих работ. Это распределенная система, такая как Git, но кажется более простой в использовании и кажется намного лучше поддерживаемой в Windows, последняя из которых имеет решающее значение для меня.

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

Если вы работаете только с локальным хранилищем, помните, что вам также понадобится резервное копирование, так как на вашем общем сервере нет копии всего вашего кода.

Я думаю, что у Mercurial есть много других преимуществ перед Subversion, но у него есть большой недостаток, который уже упоминался как плюсовая точка Subversion: там лоты сторонних инструментов и интеграций для Subversion. Поскольку Mercurial не было вокруг почти как ong, выбор намного меньше. В Windows кажется, что вам либо нужно использовать командную строку (мой выбор), либо TortoiseHg Интеграция с Windows Explorer.

Ответ 7

VSS ужасен. Я могу направлять Спольского (не уверен, что он сказал это), но использование VSS на самом деле хуже, чем вообще не использовать контроль источника. Несмотря на свое название, это небезопасно. Это создает иллюзию безопасности, не обеспечивая ее.

Без VSS вы, вероятно, будете делать регулярные резервные копии своего кода. С VSS вы подумаете: "Мех, это уже под контролем источника. Зачем беспокоиться о резервном копировании?" Отлично, пока развращает всю вашу кодовую базу, и вы теряете все. (Это, кстати, произошло в компании, в которой я работал.)

Избавьтесь от VSS, как только сможете, и переключитесь на реальное решение для управления версиями.

Ответ 8

Не беспокойтесь о том, что VSS портит вас, беспокоитесь о том, что VSS развращает ваши данные. Он не имеет хорошей репутации в этом отделе.

Резервное копирование часто, если вы не переключитесь на другую систему управления версиями. Резервные копии должны выполняться ежедневно даже с другими SCM, но это вдвойне важно с VSS.

Ответ 9

Мне нравится использовать Subversion для моих личных проектов. Я мог бы спуститься по списку функций и притворяться, что это привносит многое в таблицу, чего нет в других системах управления версиями, но там много хороших и правильные варианты - это действительно вопрос стиля. Если вы регистрируетесь после каждого небольшого изменения (т.е. С одной проверки на изменение функции), многие люди могут работать с одним и тем же исходным файлом с очень низким риском конфликтов слияния практически во всех , но VSS (I haven ' t использовал VSS в годах, но из того, что я помню, только один человек за один раз может работать над файлом.) Если это никогда не случится с вами, я чувствую, что лучший способ действий - использовать то, что вы знаете. VSS лучше, чем никакого контроля над исходным кодом, но в наши дни он мне кажется ограниченным.

Я не думаю, что вам не на что надеяться, потому что вы спрашиваете, было бы лучше переключиться; вы не надежда, когда ответ очевиден, и вы игнорируете доказательства.

Даже если вы не меняете системы управления версиями, вы должны выбрать один из них, например, SVN или git, и потратьте несколько недель на это чтение и сделайте небольшой проект, используя его; это всегда помогает затачивать пилу.

Ответ 10

Я не согласен с людьми, которые говорят, что если у вас нет проблем, вам лучше не переключаться.

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

Очевидно, сначала оценивайте и тестируйте альтернативы в непроизводственной среде.

Ответ 11

На работе мы используем subversion с TortoiseSVN - работает очень красиво, но это философски отличается от VSS (на самом деле это не проблема, если только вы, но стоит знать). Мне очень нравится, что весь репозиторий имеет номер версии.

Учитывая свободный выбор, я, вероятно, ушел с хранилищем, но в то время у меня был нулевой бюджет.

Я смотрю на вещи для личного использования. Есть причины использовать подрывную деятельность и причины использовать что-то совершенно другое. Альтернативами, которые я рассматриваю, является Vault (как и раньше, бесплатно для одного использования) и Bazaar. GIT Мне пришлось уволить, как я, беззастенчиво, человека Windows и сейчас GIT просто нет.

Распределенный характер GIT и возможность частных/временных проверок (при условии, что я понял, что я прочитал) привлекателен - поэтому я смотрю на базар.

Обновление: Я сделал еще больше копания и игры, и я действительно пошел на Mercurial для личного использования, интегрированная установка с TortoiseHg делает вещи очень простыми и, похоже, их хорошо расценивают. Я все еще пытаюсь понять, как заставить автоматическое зеркало коммитов к серверу, и, как представляется, некоторые незначительные ограничения функции игнорирования, но он делает работу до сих пор...

Мерф

Ответ 12

Я бы сказал, придерживайтесь того, что работает для вас. Если у вас нет проблем с VSS, зачем переключаться? Subversion набухает, хотя немного липкой, чтобы начать использовать ее. TFS намного лучше, чем VSS, хотя это довольно дорого для такой небольшой команды. Я не использовал git, поэтому я не могу с ним разговаривать.

Ответ 13

Я использовал vss в течение многих лет, пока не перешел на svn около двух лет назад. мои самые большие жалобы на vss были плохая производительность сети (эта проблема может быть решена сейчас) и пессимистическая блокировка файлов. svn решает обе эти задачи, легко настраивается (я использую сервер collabnet и клиент tortoisesvn, хотя есть два хороших плагина Visual Studio: visualsvn - commercial и ankhsvn - с открытым исходным кодом), просты в использовании и администрировании, и хорошо документированы.

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

Ответ 14

Если у вас всего 2 человека, и вы в основном работаете независимо, git будет давать вам гораздо больше гибкости, мощности и быть вдали от самого быстрого, с которым можно работать.

Однако боль в спине используется. Используя VSS, вы, очевидно, программируете для Windows - если вы используете API-интерфейс Win32 в C, тогда git будет кривой обучения, но будет довольно интересным.

Если глубины ваших знаний распространяются только на ASP и Visual Basic, просто используйте subversion. Пройдите, прежде чем вы сможете бежать.

** Я не пытаюсь сказать, если вы только знаете VB, что вы тупой или что-то в этом роде, но что git может быть очень тонким и придирчивым к использованию (если вы использовали WinAPI в C, вы все знают о придирчивости и тонкости), и вам может понадобиться более постепенное введение в SCM, чем git обеспечивает

Ответ 15

Если вы - шоу одного человека и строго магазин Microsoft, то SourceGear Vault определенно является главным кандидатом на переключение.

Особенности:

  • Бесплатно для одинокого пользователя, отлично подходит для вас
  • Он использует SQL Server для этого бэкэнд, поэтому надежность данных огромна.
  • У него есть атомарные проверки, все файлы, отмеченные одновременно, расположены в группе и называются наборами изменений.
  • Интеграция VisualStudio.
  • Имеет инструмент для импорта из SourceSafe, поэтому вы можете сохранить свою историю
  • Клиент связывается с сервером через HTTP, поэтому доступ к источнику вне офиса удаленно может быть очень легко настроен и выполняется хорошо, потому что они передают только дельтах представленных и полученных изменений. Вы можете использовать SSL для защиты соединения.

Я бы определенно рассматривал это как вариант.

Ответ 16

Если вам нужен полный жизненный цикл в одном пакете, вы, вероятно, захотите посмотреть на Visual Studio Team System. Для этого требуется сервер, но вы можете получить "Action Pack" из MS, который включает все лицензии, необходимые для "Team Foundation Server Workgroup Edition" из Партнерского центра.

С этим вы получите отслеживание ошибок, рисков и проблем, а также многие другие функции:)

  • Контроль источника
  • Отслеживание рабочих элементов (требования, ошибки, проблемы, риски и задачи)
  • Отчеты о ваших данных проекта (отслеживание рабочих элементов, сборка, проверка и многое другое в одном квестовом режиме)
  • Анализ кода
  • Тестирование устройств
  • Тестирование нагрузки
  • Анализ производительности
  • Автоматическая сборка