|
|
  |
Тупой вопрос - как объяснить 50-летнему чайнику про SVN? |
|
|
|
Oct 27 2014, 19:42
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(ViKo @ Oct 28 2014, 00:26)  После не очень радостного пользования распределенной Mercurial (TortoiseHg) хочу попробовать централизованную. Не хочу работать в команде, с командой, под команду. Поэтому и распределять, выходит, нечего. Всё моё. В отдельном каталоге хорошо и просто, но логично иметь доступ и из дома и с работы. Поэтому лучше бесплатный svn-хостинг. Так и не надо с командой. Просто используйте свой локальный репозиторий, и изредка отправляйте изменения на удалённый. По сути, в этом и заключается разница между распределённой и централизованной системами контроля версий - в наличии в распределённой системе локальной копии главного репозитория. Насчёт бесплатных svn-хостингов много не насоветую. Слышал про www.assembla.com. Сам не пробовал.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Oct 28 2014, 06:38
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(AHTOXA @ Oct 27 2014, 21:42)  По сути, в этом и заключается разница между распределённой и централизованной системами контроля версий - в наличии в распределённой системе локальной копии главного репозитория. Почему бы GIT просто не назвать избыточным локальным архивом вместо 'распределенный'? Это было бы правильнее. По сути GIT всегда локальный. Сделайте SVN локальным и приделайте backup от него на сервер и получите GIT. Но GIT еще и избыточен поскольку всегда сохряняет версии файлов целиком, а не изменения как в SVN. Вообщем полное недоразумение. Хотя GIT наиболее близок по духу к обычным архивам чем все остальные контроли версий. В этом смысле, да, он более прогрессивен.  Но с другой стороны современные среды разработки и так создает папку history где автоматом сохраняют все старые версии.
|
|
|
|
|
Oct 28 2014, 09:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(AHTOXA @ Oct 27 2014, 22:16)  - Можно просто в отдельном каталоге на локальном диске.
- Можно поднять сервачок с линуксом и запустить svn там.
- Можно найти бесплатный svn-хостинг.
- Можно найти платный svn-хостинг.
А вообще я советую использовать git. Это распределённая система контроля версий, поэтому с ней не нужно обращаться к серверу на каждый чих. Мне лично она больше понравилась, чем svn. И с хостингами под git попроще. Зачем на каждый чих? В этом и прелесть SVN - она лезет в репозиторий, только когда ее попросишь, а иначе все локально. Я на все эти бесплатные хостеры давно забил и всем советую. Правильный фрилансер ставит дома NAS - например у меня Synology DSXXX. На нем же крутятся фильмы, фотки, музыка и другая фигня. SVN-сервер там - стандартная приблуда и настраивается прямо из коробки. На домашнем роутере пробрасываем порты и на NAS запускаем родную службу DDNS, которая кстати работает чотко и денег не просит, бо за оборудование уже заплачено. Вот вам и доступ откуда угодно. Бекапы опять же делаются каждую неделю средствами NAS вместе с фотками, SVN репозиторием и прочей фигней на один фирменный сервак за 2000 км, к которому я по счастливой случайности имею доступ по rsync и VPN. Очень медленно, но верно. Но можно и на флешку. Клиент - TortoiseSVN - простенько и со фкусом.
|
|
|
|
|
Oct 28 2014, 10:23
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(AHTOXA @ Oct 28 2014, 12:49)  "Всё локально" - что входит в это "всё"? Можете перечислить операции, для которых svn не требуется доступ к серверу? Чтение,запись изменение файлов. Компиляция кода. Работа с проектом. Если не ошибаюсь откат к репозитарной версии тоже локален, так как загруженные из репозитория файлы тоже хранятся локально, только скрытно. Цитата Или SVN у вас вхолостую работает на домашней NAS "шоб було"? Да, это Вас удивляет? Цитата А это как? DDNS в пределах вашей квартиры? Где DNS resolver находится? адрес доступа, не иначе, balabol.myhomenas.cool Зачем язвить? Мне что, есть смысл балаболить? DNS ресолвер предоставляет сама Synology http://myds.synology.com/, раньше пользовался бесплатным no-ip, но задолбали они меня своими мылами.
|
|
|
|
|
Oct 28 2014, 13:12
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(AHTOXA @ Oct 28 2014, 14:31)  Ну, собственно вот про это я и говорил - "на каждый чих"  В случае с гит доступ к удалённому репозиторию требуется только для отправки изменений туда и закачки изменений оттуда. Остальное можно локально. В этом я вижу большой плюс гита. ИМХО этот плюс важен для больших проектов или большой команды/частых изменений извне и медленного интернетв. Для эмбеддерских проектов или пары человек мне кажется, это не сильно важно. Я вообще распределенки не рассматривал, так как дотрагивался к большим фирмам и у них был SVN или Subversion, у меня SVN установился и заработал сразу и в конце концов все понятно с бэкапами. Неудобств, кроме длительного времени синхронизации изменений в случае больших файлов и медленного канала, да и то только в разовых случаях, я не увидел.
|
|
|
|
|
Oct 28 2014, 13:50
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Сергей Борщ @ Oct 28 2014, 17:10)  Ха, теперь я занял позицию: не нужен мне этот ваш git, меня и в svn все устраивает  Минуточку!  Там в списке достоинств гита был ещё пункт "быстрое, удобное ветвление и слияние". А это очень крутая штука. Скажем, сижу я, работаю над одной новой функцией. Тут является начальник, и говорит мне: "Сейчас приедут заказчики, нужно срочно показать прибор." Тогда я быстренько занычиваю ( git stash) текущее состояние проекта, переключаюсь на стабильную ветку (git checkout master), компилирую прошиваю, демонстрирую. После этого возвращяюсь к отложенному состоянию, и продолжаю работать как ни в чём не бывало. Ещё очень удобно иметь при разработке ветки для каждой новой фичи. Устал работать над одной - переключился на другую. Закончил фичу - переключился на мастер-ветку, влил в неё изменения из фичеветки, и удалил её. Можно при этом упорядочить историю, поменяв местами коммиты из фичеветки или объединив часть их в один коммит. ЗЫ. Мне нравится развитие темы. Всё же git vs svn гораздо лучше, чем "крутым ымбеддерам системы контроля версий не нужны"
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|