19

Контроль версий

Контроль версий

Уволился 2 дня назад из-за контроля версий. Много лет внедрял Git. Сделал сервер, воспитал кучу программистов, насоздавали около 30 репозиториев. И тут начальник говорит: "нашей организации больше подходит SVN".

Вы смотрите срез комментариев. Показать все
1
махровый разработчик
Автор поста оценил этот комментарий

не смотря на то, что git более современная технология, во многих случаях работает лучше и надёжнее, да и нравится он мне больше, НО есть реально случаи когда svn эффективнее. если я правильно помню, для хранения бинарников рекомендуется вместо git использовать svn.

PS: просто для справки, не уверен что это Ваш случай.

раскрыть ветку (17)
2
Автор поста оценил этот комментарий

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

раскрыть ветку (3)
1
махровый разработчик
Автор поста оценил этот комментарий

это нормально, все мы люди и не лишены субъективизма.
но только если не является единственным доводом и может быть обосновано

раскрыть ветку (2)
Автор поста оценил этот комментарий

<зануда>
"нравится он мне больше" не может быть обосновано. На то это и субъективная оценка. Выбор обосновывает всё остальное.
</зануда>

раскрыть ветку (1)
3
махровый разработчик
Автор поста оценил этот комментарий

не согласен, люди предпочитают одну технологию другой не потому что так звёзды стали в момент их рождения, а потому что:
- "удобнее делать ..."
- "красивая/удобная графическая оболочка / туллинг"
- "надёжнее" (возможно, чисто для меня, для того флоу в котором я его использую)
- в конце концов "я другого инструмента не знаю и мне лень учить" - тоже какое-никакое обоснование, пускай совсем и необъективное. и да, в споре его лучше не применять ;)

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

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

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

1
Автор поста оценил этот комментарий

SVN требует центральный сервер.

* История репозитория становится заложником сервера, который может сломаться или просто стать недоступным.

* Невозможно вести версии локально для собственного удобства вроде создания версии, чтобы что-то потестить, а потом продолжить или откатиться.

* Сложно организовать распределённый репозиторий, чтобы не гонять изменения между офисами через медленный канал.


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

раскрыть ветку (2)
0
махровый разработчик
Автор поста оценил этот комментарий

и как это противоречит с тем что я написал?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А я не писал, что это противоречия. Это дополнение.

0
Автор поста оценил этот комментарий
Я прочитал пару коментов, и у меня возник вопрос. А зачем хранить бинарники в гите, когда для этого существует отдельное ПО для этого (я про CI). Или я что-то путаю?
раскрыть ветку (7)
0
Автор поста оценил этот комментарий

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

0
Автор поста оценил этот комментарий

У меня гора растров. Прям гора. И на эти растры завязаны тесты. Тесты храняться в git, тестовые растры тоже запихал в git но с финтом ухом. А вся суть того ради чего я храню их вместе - потому что они должны быть завязаны на один коммит - тестовые растры и история их изменений с программными тестами.
// система распознавания образов

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

раскрыть ветку (2)
1
Автор поста оценил этот комментарий

man git-annex, man git LFS

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Серьёзно? Не знал!
"тестовые растры тоже запихал в git но с финтом ухом".

0
махровый разработчик
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

// или для того стека технологий просто не предусмотрено такого (какой-то ужасный ужас я только что обрисовал)
С плюсами до сих пор существуют проблемы... В вопросе стандартизации (а мне нравился biicode). Только один выход - тащить исходники и компилировать все зависимости на месте. Пипец веселье по времени. Ну или, как вы и говорите - хранить бинарники в репозитории. Есть третий вариант - предполагать, что система на которой будет сборка, заранее подготовлена - и все тяжёлые бинарники сторонних проектов куда-то установлены и прописаны переменные окружения... Но это пипец веселье когда надо сборку настраивать на левых серверах.

Автор поста оценил этот комментарий

А еще для разных типов бинарников есть специализорованный софт, который позволяет не просто сохранять, но и делать дифы и мерджить.

Автор поста оценил этот комментарий

Есть git lfs. И есть божественный git annex, который заменил мне облака и бекапы. Все файлы (например музыку и фотоархив) храню, синхронизирую и бекапирую с помощью git annex.

раскрыть ветку (1)
0
махровый разработчик
Автор поста оценил этот комментарий
ок, буду иметь в виду. спасибо.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества