реклама на сайте
подробности

 
 
20 страниц V  « < 10 11 12 13 14 > »   
Reply to this topicStart new topic
> Тупой вопрос - как объяснить 50-летнему чайнику про SVN?
dxp
сообщение Oct 28 2014, 14:24
Сообщение #166


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Сергей Борщ @ Oct 28 2014, 19:10) *
Ха, теперь я занял позицию: не нужен мне этот ваш git, меня и в svn все устраивает sm.gif

sm.gif Это потому что ты feature branches не используешь. В svn с ветками и слиянием всё достаточно печально. Они годятся для крупных ответвлений, но для оперативной работы в параллельных направлениях они слишком тяжелы, а слияние по сути делается на сервере. В git же этот момент реализован очень эффективно - ветка есть указатель на конкретный коммит (коммит в гите - это объект-слепок какого-либо состояния проекта), т.е. ничего не весит, работает это мгновенно. Слияние тоже реализовано хорошо (есть несколько стратегий). А слияние результата работы в ветке (я имею в виду feature branch) со сквошем позволяет не замусоривать историю релизной ветки подробностями о мелких "технологических" коммитах - в истории главной ветки только значимые коммиты с соответствующими внятными сообщениями.

Именно возможность легко, быстро и прозрачно заводить экспериментальные коммиты (ветки), которые не будут потом мозолить глаза в истории релиза, и подвигла меня смотреть в сторону гита. sm.gif

Кстати, практика (которую ты описал) фиксации каждый вечер проекта в реп только потому, что это может понадобиться завтра на другой локации, имхо, не очень хороша именно по причине замусоривания центрального репозитория сырыми недоделанными коммитами, которые сами по себе интереса не представляют - зафиксировано на полуслове (интересно, какими сообщениями ты снабжаешь такие коммиты? sm.gif). Уж лучше копировать проект в недоделанном состоянии на доступный из разных локаций хост (на облако, например), а в реп фиксировать всё-таки какие-то более-менее логически и технически законченные версии.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 28 2014, 14:34
Сообщение #167


Ally
******

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



Цитата(AHTOXA @ Oct 28 2014, 15:50) *
Минуточку! sm.gif Там в списке достоинств гита был ещё пункт "быстрое, удобное ветвление и слияние". А это очень крутая штука.
Всё же git vs svn гораздо лучше, чем "крутым ымбеддерам системы контроля версий не нужны" sm.gif


Очень кривая технология.
Поскольку "быстренько занычиваю" не что иное как переписывание файлов туда-сюда.
При этом не имеете одновременно двух копий сразу. А главное это все из командной строки! Жесть.

Цитата(dxp @ Oct 28 2014, 16:24) *
а в реп фиксировать всё-таки какие-то более-менее логически и технически законченные версии.


Как это у вас получаются незаконченные версии.
Тестирую после каждых нескольких десятков строк, никогда заканчивая работу не остается незаконченных версий.
С другой точки зрения законченных версий вообще не бывает, всегда идет развитие.




Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Oct 28 2014, 14:36
Сообщение #168


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



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

Я раньше в этой ветке приводил список команд, которые нужны для начала работы. Так вот, 95% пользователей VCS нуждаются исключительно в этих командах в 99% случаев.
Go to the top of the page
 
+Quote Post
ZASADA
сообщение Oct 28 2014, 18:31
Сообщение #169


Знающий
****

Группа: Свой
Сообщений: 738
Регистрация: 13-01-11
Из: Минск
Пользователь №: 62 210



Цитата(AHTOXA @ Oct 28 2014, 16:50) *
Скажем, сижу я, работаю над одной новой функцией. Тут является начальник, и говорит мне:
"Сейчас приедут заказчики, нужно срочно показать прибор."
Тогда я быстренько занычиваю текущее состояние проекта, переключаюсь на стабильную ветку (git checkout master), компилирую прошиваю, демонстрирую. После этого возвращяюсь к отложенному состоянию, и продолжаю работать как ни в чём не бывало.

а просто хранить на случай таких гостей готовую стабильную откомпилированную прошивку и прошивать ее по необходимости - не вариант?
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Oct 28 2014, 18:39
Сообщение #170


фанат дивана
******

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



Цитата(ZASADA @ Oct 28 2014, 23:31) *
а просто хранить на случай таких гостей готовую стабильную откомпилированную прошивку и прошивать ее по необходимости - не вариант?

То есть, вы предлагаете мне в процессе разработки программы для каждой получившейся рабочей версии (после добавления каждой новой функции) создавать откомпилированную прошивку и где-то её хранить? Может ещё и исходники заодно рядышком архивировать? Так это вы не по адресу, это вам к AlexandrY sm.gif.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Oct 28 2014, 19:04
Сообщение #171


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(AHTOXA @ Oct 28 2014, 16:50) *
...Тут является начальник, и говорит мне:...


ну как бы SVN это на ура делает...


Цитата(AHTOXA @ Oct 28 2014, 21:39) *
... предлагаете...для каждой получившейся рабочей версии...


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

короче говоря потуги сезонные. кто весною решил круто всё упорядочить, кто осенью...разные обострения и взгляды sm.gif
причём ослинные уши начинают сильно задевать за лодыжки в момент интеграции с другим софтом процесса разработки.
от тут косяки упорядочивания стаями слетаются..

Сообщение отредактировал kolobok0 - Oct 28 2014, 19:07
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Oct 28 2014, 19:13
Сообщение #172


фанат дивана
******

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



Цитата(kolobok0 @ Oct 28 2014, 23:57) *
ну как бы SVN это на ура делает...

Что именно svn делает на ура? Позволяет без доступа к серверу вести параллельную разработку в нескольких ветках, сливая результаты в стабильную ветку? Позволяет (опять же без доступа к серверу) в произвольный момент времени переключиться из рабочей ветки в стабильную без коммита/потери промежуточного результата?
Позволяет без доступа к серверу сдеолать дифф с любой версией?
Нет, svn этого не делает. Ни на ура, ни как либо иначе. С доступом к серверу часть этих функций можно реализовать на svn. Но это уж точно не будет так легко и непринуждённо, как с git.
Цитата(kolobok0 @ Oct 29 2014, 00:04) *
хачу заметить что система хранения версий - это инструментарий. Им можно пользоваться по разному.

Спасибо, Кэп! sm.gif
Как вы наверное догадались, я описывал лишь один из способов использования данного инструментария - тот, который использую сам.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 28 2014, 19:17
Сообщение #173


Ally
******

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



Цитата(AHTOXA @ Oct 28 2014, 20:39) *
То есть, вы предлагаете мне в процессе разработки программы для каждой получившейся рабочей версии (после добавления каждой новой функции) создавать откомпилированную прошивку и где-то её хранить? Может ещё и исходники заодно рядышком архивировать? Так это вы не по адресу, это вам к AlexandrY sm.gif.


Это называется сеять самому себе грабли.
Ну какие вы там функции то себе придумываете ради которых надо создавать отдельные ветки (версии)?
И что потом помните в какой версии какая функция?
Не забываем, что согласно вашей легенде вам чтобы посмотреть просто исходники какой-нибудь версии с новой функцией нужно лезть в командную стороку, вполнять checkout .
Потом открывать редактор и т.д.

Далее ИМХО.

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





Go to the top of the page
 
+Quote Post
kolobok0
сообщение Oct 28 2014, 19:23
Сообщение #174


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(AHTOXA @ Oct 28 2014, 22:13) *
Что именно svn делает на ура?...


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

я не буду утверждать что лучше что хуже. вполне гит востребован для создании локальной аля системы хранения. не юзал его.
но с кочки зрения процесса разработки, в плане организации на предприятии, централизованное хранение исходников - есть выигрышная вещь.
например разбивая общую задачу на составный подзадачи, и распаралеливая их выполнение, мы можем обеспечить отдельное "кусочное" тестирование
под каким нить серваком непрерывной разработки. тем самым получая ОБЪЕКТИВНО количественный результат для оценки текущего состояния дел.
или немного по другому - фидбэк быстрее, оценка быстрее, подправление процесса(если не туда ползёт) быстрее, обнаружение ошибок быстрее.

возможно гит хорош когда команда разработчиков вылетает на самолёте и надо срочно что то создать на коленке - хз...я скорее всего не чувствую
этот момент и соответственно плюсы такого подхода...

Сообщение отредактировал kolobok0 - Oct 28 2014, 19:30
Go to the top of the page
 
+Quote Post
syoma
сообщение Oct 28 2014, 20:09
Сообщение #175


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Я тоже про начальника не сильно согласен.
Достаточно просто локально сделать чекаут стабильной ветки и своей ветки разработки. Переключение между ними - просто переход в другую папку в експлорере.
Стабильный чекаут - пусть себе лежит на диске на всякий выездной случай. Если анонсировали новую версию - можно его апдейтить время от времени.
По поводу с сервером или без - это как кому нравится имхо
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Oct 29 2014, 05:39
Сообщение #176


фанат дивана
******

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



Цитата(kolobok0 @ Oct 29 2014, 00:23) *
я не буду утверждать что лучше что хуже. вполне гит востребован для создании локальной аля системы хранения. не юзал его.

Вот в этом-то всё и дело : "не юзал, но мнение имею". Гит даёт всё то же, что и свн, плюс много больше, за счёт локального репозитория, быстрых веток и возможности синхронизации с несколькими удалёнными серверами. То есть, централизованное хранение исходников - очень даже присутствует, а распараллеливание задач - вообще родная стихия гита.

Цитата(syoma @ Oct 29 2014, 01:09) *
Достаточно просто локально сделать чекаут стабильной ветки и своей ветки разработки. Переключение между ними - просто переход в другую папку в експлорере.

Ага. Скачать мегабайты, сейчас, положим, можно быстро. А перенастроить среду разработки и сборки на другую папку?
Цитата(syoma @ Oct 29 2014, 01:09) *
Стабильный чекаут - пусть себе лежит на диске на всякий выездной случай. Если анонсировали новую версию - можно его апдейтить время от времени.

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

Короче, друзья. Почитайте про гит, попробуйте, и уже потом выносите суждение.
Вот, например, неплохое начало. Пара-тройка вечеров, и вы уже в теме.
Ну или классическая книжка про гит (или её версия в pdf).


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 29 2014, 06:35
Сообщение #177


Ally
******

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



Цитата(AHTOXA @ Oct 29 2014, 07:39) *
Ага. Скачать мегабайты, сейчас, положим, можно быстро. А перенастроить среду разработки и сборки на другую папку?


Это интересно. Какая у вас среда разработки? И почему ее надо перенастроить?
Не знаете конфигурационных файлов своей среды?
Среда не поддерживает относительных путей?

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

Пока сценарии приводимые для использования с GIT малореалистичны. Как будто придуманы. Либо присутствуют больее серьезные вынуждающие обстоятельства (например тот самый начальник).

Многие уже честно признались, что контроль версий используют просто для синхронизации между рабочими местами. В принципе можно понять если нет другого варианта.
Go to the top of the page
 
+Quote Post
syoma
сообщение Oct 29 2014, 13:40
Сообщение #178


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Кстати, хотел спросить по SVN - и использование externals.
Допустим у меня есть trunk-и для разных проектов со своими папками, но, допустим, один человек хочет иметь у себя только папки models из всех этих транков в одной локальной папке. Чтобы не лазить по репозиторию и не делать индивидуальные чекауты, можно ли просто создать в репозитории пустую папку с названием all_models, например, у которой в свойствах externals были бы заданы все нужные папки? Чтобы при ее чекауте все они вытаскивались автоматом.
В принципе коммиты в этом случае не требуются - в основном это для быстрого обзора.

Существует такая практика?
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 29 2014, 14:47
Сообщение #179


Ally
******

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



Цитата(syoma @ Oct 29 2014, 15:40) *
Существует такая практика?


Конечно существует. wink.gif
Ручками пишутся скрипты для SVN сервера с использованием svnsync.
Создавайте еще один программный проект, учитесь писать скрипты, потом заниматься поддержкой, привыкайте к командной строке... Не ленитесь короче wink.gif
Go to the top of the page
 
+Quote Post
dxp
сообщение Oct 29 2014, 14:50
Сообщение #180


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (syoma @ Oct 29 2014, 20:40) *
Кстати, хотел спросить по SVN - и использование externals.
Допустим у меня есть trunk-и для разных проектов со своими папками, но, допустим, один человек хочет иметь у себя только папки models из всех этих транков в одной локальной папке. Чтобы не лазить по репозиторию и не делать индивидуальные чекауты, можно ли просто создать в репозитории пустую папку с названием all_models, например, у которой в свойствах externals были бы заданы все нужные папки? Чтобы при ее чекауте все они вытаскивались автоматом.
В принципе коммиты в этом случае не требуются - в основном это для быстрого обзора.

Существует такая практика?

Да, всё можно. Создаёте свою директорию all_models, в её свойствах задаёте svn:externals, где для каждого external'са будет пара <dir_name> - <url_path> (dir_name - название местной директории, url_path - полный путь до директории в стороннем репе). Затем svn update, и вуаля. Если есть доступ по записи в те репы, то можно вносить правки и коммитить.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post

20 страниц V  « < 10 11 12 13 14 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 12:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01505 секунд с 7
ELECTRONIX ©2004-2016