Модераторы: powerfox, ZeeLax

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чем git лучше svn? Размышления на тему 
:(
    Опции темы
JackYF
Дата 25.11.2007, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



Цитата(bilbobagginz @  25.11.2007,  03:36 Найти цитируемый пост)
a SVN, это такое же Г**но, как CVS, только немного постабильнее. 

"а мужики-то не знают"...

чем svn г**но? и чем так заруливает git?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bilbobagginz
Дата 26.11.2007, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



тем, что, вот сидишь ты в поезде/самолете/автобусе, едешь домой, с ноутом,
и можешь себе представить вот у тебя гениальная наработка в голове появилась.
ну ты ее начал реализовывать, запудрился, и приехав домой, решил делать по-другому, потому как оригинальный код ты уже изменил до неузнаваемости.
а как было бы хорошо закоммитить несколько раз в пути. правда ?мог бы сделать несколько коммитов в пути, и к ним вернуться ... но сделать этого с svn - нельзя без заморочек:
сервер то не доступен, а рабочая копия не коммитится... вот и облом:
нужно создавать свой репозиторий, в него импортировать твой код, а потом корячиться всю ветку вставлять в основной репозитарий. довольно неудобно.
svn - и в концепции и в реализации основан на централизованном сервере, будь то apache или svnserve.
есть куча - репозитарий, и все в нее кидают лопатой, когда можно.
почему так ? потому что слияние веток настолько неудобно, что никто не хочет много раз его делать.

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

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

кроме того, особое внимание там уделили легкости слияния веток и разделения на них, т.е. merge/branch.
и всё работает побыстрее svn.
ессно kernel.org уже переходит постепенно на git.

всем удачи.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
JackYF
Дата 26.11.2007, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



Цитата(bilbobagginz @  26.11.2007,  00:42 Найти цитируемый пост)
но сделать этого с svn - нельзя без заморочек:
сервер то не доступен, а рабочая копия не коммитится... вот и облом:

жёсткие аргументы... меня вот только одно интересует: х знает когда появилась cvs, потом не так давно появилась svn, в которой явно постарались убрать недостатки cvs'a... и что, никто не догадался сделать "нормальный" merge/branch? странно это всё. Жалко, я не пробовал, у меня таких задач не стояло.

Но как-нибудь на git надо посмотреть.

P.S. так чего же многие крупные проекты до сих пор используют "неудобные" cvs/svn, неужели они про git не знают? Или, всё-таки, не так уж коряво сделан merge/branch в том же svn?

Цитата(bilbobagginz @  26.11.2007,  00:42 Найти цитируемый пост)
потому что слияние веток настолько неудобно, что никто не хочет много раз его делать.

Можешь объяснить, в чём неудобность? и удобство git'a?


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bilbobagginz
Дата 26.11.2007, 06:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



Цитата(JackYF @  26.11.2007,  01:07 Найти цитируемый пост)
P.S. так чего же многие крупные проекты до сих пор используют "неудобные" cvs/svn, неужели они про git не знают? Или, всё-таки, не так уж коряво сделан merge/branch в том же svn?

потому что тулзу придумал линус торвалдс совсем недавно - 2 года назад
http://ru.wikipedia.org/wiki/Git
и нет еще родных клиентов по винду (только через cygwin или mingw ), 



Цитата(JackYF @  26.11.2007,  01:07 Найти цитируемый пост)

Можешь объяснить, в чём неудобность? и удобство git'a? 

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

читай англ. статью:
http://en.wikipedia.org/wiki/Git_(software)

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







--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
JackYF
Дата 26.11.2007, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



Цитата(bilbobagginz @  26.11.2007,  06:31 Найти цитируемый пост)
в стандартных системах визуализация истории сделана по-другому, и инструменты работают криво.
напр. cvs - у каждого файла свой номер версии. черт голову сломит. смотришь на всё это и офигеваешь.

вот я юзаю svn. Что у меня криво работает-то? Номер версии у всех файлов один и тот же.

Wtf "визуализация истории"? Всё равно я одними консольными клиентами пользуюсь...


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
nickless
Дата 26.11.2007, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 7
Всего: 181



git распределённый, svn нет, у каждого свои достоинства и недостатки, чего спорить то smile

Цитата(bilbobagginz @  25.11.2007,  22:42 Найти цитируемый пост)
менеджер - бекапится.
девелопер бекапится.
вот и создается распределенная сеть веток

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



Это сообщение отредактировал(а) ZeeLax - 27.11.2007, 04:08


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
JackYF
Дата 27.11.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



Создал тему в религиозных войнах, чтобы здесь не оффтопить smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bilbobagginz
Дата 28.11.2007, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



в клубе по внутренним правилам можно немного культурно пофлеймить.


nickless, с т.з. фирмы - 
Цитата(nickless @  26.11.2007,  23:57 Найти цитируемый пост)
И каждый должен не забывать бэкапится, а если есть сервер - бэкапится только центральный репозиторий и гемора девелоперам получается меньше smile
Так что в болъших фирмах это не такое уж и преймущество, а вот в опенсурсных проектах вроде ядра - наоборот.

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

и вообще с т.з. клиента git может изображать из себя и cvs сервер... так, для отвода глаз : )



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
nickless
Дата 28.11.2007, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 7
Всего: 181



Цитата(bilbobagginz @  27.11.2007,  23:47 Найти цитируемый пост)
следовательно git приносит новую концепцию, не теряя старого функционала.

Да, можно это обойти, но зачем если и так уже всё работает? smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
bilbobagginz
Дата 29.11.2007, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



Цитата

Да, можно это обойти, но зачем если и так уже всё работает?

масштабирование - это планирование на будущее: если ты сейчас погемороешься и настроишь систему к-рая будет тикать 5 лет, вместо ежегодного апгрейда нового svn, то тут имеет место быть экономия ресурсов и эффективность.

вот у есть NFS сервер, все расхваливают нфс, так мол прикольно, а у может столько компутеров сидят на этом нфсе, что уже догнали границу, и надо искать другие решения, которые нас бы удовлетворяли. на afs поглядываем, на lustre, и т.д. хотя вроде бы nfs еще работает... 
а ведь могли изначально настроить openafs cell и не парились бы уже сегодня.
мысль просекаем ?



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
nickless
Дата 29.11.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 7
Всего: 181



Цитата(bilbobagginz @  29.11.2007,  06:23 Найти цитируемый пост)
мысль просекаем ?

Угу smile  Я что собственно и говорю, взвешиваем за и против (потому что есть что взвешивать - у git и svn практически одинаковых набор фич) и что удобно то и берём. 

Кстати, а чего мы собственно спорим? smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
smartov
Дата 2.1.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 3
Всего: 259



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

PM MAIL   Вверх
bilbobagginz
Дата 2.1.2008, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 14
Всего: 317



Цитата(smartov @  2.1.2008,  14:37 Найти цитируемый пост)
Всегда хотел знать, а кто и когда разрешает конфликты в таких вот распределенных репозиториях.
То что там кодеры накодили себе это хорошо, кучу веток понаплодили, а совмещать кто будет?

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



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
smartov
Дата 2.1.2008, 18:25 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 3
Всего: 259



bilbobagginz, Ясно. Ну в обшем то я так и думал что оно именно так. 
Сочувствую тому самому PM или хозяину репозитория
PM MAIL   Вверх
powerfox
Дата 12.3.2008, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 20
Всего: 97



По теме:
http://alumnit.ca/~apenwarr/log/?m=200801#31
Ссылка на лекцию Торвальдса: http://www.youtube.com/watch?v=4XpnKHJAok8

Начал хакать с помощью гита... Это вещь!!! Я очень и очень быстро (минут за 7, наверное) на Celeron M 1.6 c 1 Гб памяти сделал свою ветку мозиллы, чтобы потестить чужой патч. А там файлов до фига! Исходники + объектные файлы. Ветки мержаться без проблем. Причём всё удобно.
Так я не хакал много. А в случае:

Цитата(bilbobagginz @  26.11.2007,  01:42 Найти цитируемый пост)
тем, что, вот сидишь ты в поезде/самолете/автобусе, едешь домой, с ноутом,
и можешь себе представить вот у тебя гениальная наработка в голове появилась.
ну ты ее начал реализовывать, запудрился, и приехав домой, решил делать по-другому, потому как оригинальный код ты уже изменил до неузнаваемости.
а как было бы хорошо закоммитить несколько раз в пути. правда ?мог бы сделать несколько коммитов в пути, и к ним вернуться ... но сделать этого с svn - нельзя без заморочек:
сервер то не доступен, а рабочая копия не коммитится... вот и облом:


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



--------------------
user posted image
PM WWW   Вверх
JackYF
Дата 13.3.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



Цитата(powerfox @  12.3.2008,  22:40 Найти цитируемый пост)
К тому же столкнулся с ситуацией, когда хотят заCVSить патчи, которые, возможно, будут убраны. Лишь с тем, чтобы у переводчиков была лишняя неделя (а то и 2-3) для тестов.

Кто/что мешает коммитить не в trunk, а в branches? Главная ветка не тронута, тестируй сколько угодно. Оттестировал - мержи.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
powerfox
Дата 13.3.2008, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 20
Всего: 97



Цитата(JackYF @  13.3.2008,  22:29 Найти цитируемый пост)
Кто/что мешает коммитить не в trunk, а в branches? Главная ветка не тронута, тестируй сколько угодно. Оттестировал - мержи. 

Накладные проблемы и т.д. Никто не станет создавать отдельную ветку ради 1 патча. 
Я ещё не полностью въехал в DVCS. Но Линус говорил об этом.


--------------------
user posted image
PM WWW   Вверх
JackYF
Дата 14.3.2008, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



Цитата(powerfox @  13.3.2008,  22:20 Найти цитируемый пост)
Никто не станет создавать отдельную ветку ради 1 патча. 

да-а? то есть то, что ты создавал 7 минут свой отпечаток репозитория - нормально. А ветку жалко, да?
Да и потом. Если надо всего лишь 1 патч - нафиг тогда ветка - слил, действительно, последнюю ревизию себе, у себя проверил, доложился.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
kamre
Дата 30.3.2008, 07:20 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 330
Регистрация: 24.3.2006

Репутация: 1
Всего: 13



Посмотрел выступление Линуса. Вот такие преимущества DVCS он называл:

 - offline working:
т.е. когда нет доступа в сеть (к главному репозиторию) можно продолжать работать: смотреть историю, коммитить,...

 - branching and merging:
всякий локальный репозиторий фактически является веткой (по отношению к любому другому), возможно слияние с другим репозиторием с сохранением полной истории изменений из обоих, что позволяет постоянно держать локальную ветку в актуальном состоянии; в отличии от веток в централизованных системах локальные изменения никто не видит до той поры, когда нужно протащить изменения в другой репозиторий; 

 - commit access:
нет проблемы с выбором тех, кому позволено коммитить в репозиторий, т.к. фактически у каждого свой личный репозиторий (особенно для open source проектов актуально);

 - strict commiting rule:
почти всегда, чтобы закоммитить код, нужно его сначала хорошо оттестировать; получается, что невозможно коммитить малые изменения, логически связанные куски, а вместо этого происходит допиливание кода до приемлемого состояния и затем делается один большой коммит, в котором потом будет сложно разобраться;

- network of trust:
основной разработчик (project leader, maintainer,...) работает непосредственно с несколькими другими, которым он доверяет; изменения он берет только у них, а они в свою очередь таким же образом работают; когда возникают кофликты при слиянии изменений, то их не обязательно разрешать основному разработчику, синхронизацию могут делать непосредственно те, кто вносил изменения, приведшие к конфликту (nobody is special);

- performance,
так как весь репозиторий существует локально и нет необходимости что-то пересылать по сети, то все работает очень быстро; например, полное сравнение рабочей копии исходников с любой версией в репозитории происходит очень быстро даже когда в проекте тысячи файлов;

- consistency check (security):
все ревизии подписаны SHA1 и проверяются при работе с файлами; если известна подпись ревизии, то вся история изменения вплоть до этой ревизии может быть получена из любого источника и можно быть уверенным, что никто ничего не подменил.

PM MAIL   Вверх
JackYF
Дата 30.3.2008, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 8
Всего: 162



kamre, спасибо, добротный обзор smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
powerfox
Дата 31.3.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 20
Всего: 97



http://video.google.com/videoplay?docid=-7724296011317502612
О меркулар. Оффтоп, но интересное видео. Посмотреть в спокойной обстановке не смог, пересмотрю на выходных.


--------------------
user posted image
PM WWW   Вверх
Lazin
Дата 31.3.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 1
Всего: 154



для mercurial есть клиент под винду - tortoisehg
PM MAIL Skype GTalk   Вверх
belonesox
  Дата 3.5.2009, 13:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 21.4.2006
Где: Moscow

Репутация: 1
Всего: 1



Цитата

Ссылка на лекцию Торвальдса: http://www.youtube.com/watch?v=4XpnKHJAok8

 Для тех кто не осилил этот доклад (лень/долго смотреть/не идет английский на слух) предлагаю 
перевод-стенограмму  (по переводу — претензии мне) доклада вместе с слайдами и другими кадрами видео. 
Посмотрите/проникнитесь/посмейтесь…
PM MAIL WWW   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Клуб юнуксоидов"
powerfox
ZeeLax
nickless

Что такое клуб юнуксоидов?

Это место более свободного общения специалистов и любителей *NIX систем.


Новичкам: Этот раздел предназначен в основном именно для общения а не решения проблем.


Правила всего раздела Linux/UNIX сюда не распространяются, но здесь имеются свои правила:


  • Оскорбления запрещены.
  • Holy wars разрешены, но в небольших размерах. Если вы создаёте что-то уровня Windows vs. Linux, то постите это в Религиозных войнах, пожалуйста.
  • Если вы хотите выставить здесь какое-либо своё творение - милости просим.
  • За интересные новости, интересные статьи, высказывания и юмор (в тему) + в репу.

Короче, по репе получите по полной программе ;-) Happy hacking!



Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Клуб юнуксоидов | Следующая тема »


 




[ Время генерации скрипта: 0.1030 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.