Russian Qt Forum

Программирование => Общий => Тема начата: admsasha от Июнь 23, 2011, 16:22



Название: переход на svn
Отправлено: admsasha от Июнь 23, 2011, 16:22
Допустим есть уже большой проект. Нужно его перебросить в svn.

Само хранилище создано. А дальше как ?
 
Сперва делать checkout, а потом в проекте на каждом файле "add fileX.cpp" ?



Название: Re: переход на svn
Отправлено: Пантер от Июнь 23, 2011, 16:26
Переходи на Git. SVN не нужен.


Название: Re: переход на svn
Отправлено: ufna от Июнь 23, 2011, 16:32
Допустим есть уже большой проект. Нужно его перебросить в svn.

Само хранилище создано. А дальше как ?
 
Сперва делать checkout, а потом в проекте на каждом файле "add fileX.cpp"

Воспользоваться любым нормальным клиентом и сделать коммит в проект со всем содержимым.


Цитировать
Переходи на Git. SVN не нужен.

оффтоп! )


Название: Re: переход на svn
Отправлено: admsasha от Июнь 23, 2011, 16:43
Воспользоваться любым нормальным клиентом и сделать коммит в проект со всем содержимым.
Например ?


Переходи на Git. SVN не нужен.
Почему так категорично ?


Название: Re: переход на svn
Отправлено: Авварон от Июнь 23, 2011, 16:44
потому что свн действительно не нужен
по возмжностям гит и свн как комп и пишущая машинка
ну и по удобству тоже


Название: Re: переход на svn
Отправлено: Igors от Июнь 23, 2011, 16:57
потому что свн действительно не нужен
по возмжностям гит и свн как комп и пишущая машинка
Я не умею пользоваться ни тем ни другим - ну SVN неск раз пришлось, сделал все как обезьяна, результат получил, отношусь с опаской. В чем кайф "git" (Ваш столичный акцент мне недоступен)?

Вот допустим у меня есть проект > 1700 cpp файлов. Мне нередко нужно откатиться на предыдущую версию, там кое-что подправить и отослать заказчику исправленный build, а самому спокойно продолжать работу над новой версией (где уже очень многое  изменилось). Как git мне может помочь, какой soft попробовать?

Спасибо


Название: Re: переход на svn
Отправлено: kambala от Июнь 23, 2011, 16:59
Например ?
TortoiseSVN, Cornerstone


Название: Re: переход на svn
Отправлено: admsasha от Июнь 23, 2011, 17:22
Например ?
TortoiseSVN, Cornerstone
ой, забыл, что существует еще и windows =), у меня Linux.


Название: Re: переход на svn
Отправлено: Авварон от Июнь 23, 2011, 17:32
потому что свн действительно не нужен
по возмжностям гит и свн как комп и пишущая машинка
Я не умею пользоваться ни тем ни другим - ну SVN неск раз пришлось, сделал все как обезьяна, результат получил, отношусь с опаской. В чем кайф "git" (Ваш столичный акцент мне недоступен)?

Вот допустим у меня есть проект > 1700 cpp файлов. Мне нередко нужно откатиться на предыдущую версию, там кое-что подправить и отослать заказчику исправленный build, а самому спокойно продолжать работу над новой версией (где уже очень многое  изменилось). Как git мне может помочь, какой soft попробовать?

Спасибо
1й командой - git reset/git checkout
в свн откат всегда делается через какую-то ж


Название: Re: переход на svn
Отправлено: Igors от Июнь 23, 2011, 17:44
1й командой - git reset/git checkout
в свн откат всегда делается через какую-то ж
ладно, пусть с матами, но можно популярно для Mac пользователя как сделать это мышей (без отой мудистики с командной строкой)?

Спасибо


Название: Re: переход на svn
Отправлено: BRE от Июнь 23, 2011, 17:46
Вот допустим у меня есть проект > 1700 cpp файлов. Мне нередко нужно откатиться на предыдущую версию, там кое-что подправить и отослать заказчику исправленный build, а самому спокойно продолжать работу над новой версией (где уже очень многое  изменилось).
Мне страшно представить... а как ты сейчас это делаешь без систем управления версиями?  ::)

Как git мне может помочь, какой soft попробовать?
Soft и называется git.
В сети есть куча статей показывающих преимущества использования систем управления версиями.


Название: Re: переход на svn
Отправлено: Авварон от Июнь 23, 2011, 17:53
под мак есть чудная штука Gity - гуй к гиту. Сырая еще, но отличный пример как надо писать программы.
Однако ж с консоли всяко удобнее гитом пользоваться.


Название: Re: переход на svn
Отправлено: Igors от Июнь 23, 2011, 17:57
Мне страшно представить... а как ты сейчас это делаешь без систем управления версиями?  ::)
Да вот делаю - правда хреново получается, потому и интересуюсь

Soft и называется git.
В сети есть куча статей показывающих преимущества использования систем управления версиями.
Если нетрудно - более конкретные наводки?

Спасибо


Название: Re: переход на svn
Отправлено: Пантер от Июнь 23, 2011, 18:11
git gui отличный гуй к гиту (пусть даже и на Tk), хватает за глаза.


Название: Re: переход на svn
Отправлено: Denjs от Июнь 23, 2011, 18:16
В чем кайф "git" (Ваш столичный акцент мне недоступен)?

SVN - централизованная система управления версиями.
GIT - распределенная система управления версиями.

т.е. если что-то произошло с с SVN-сервером - вы получаете проблемы/неудобства.
с GIT-сервером - каждый хост по сути и есть почти что "сам-себе сервер".

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

Пути распространения изменений в GIT и варианты использования разнообразнее и удобнее.
ну где-то так...

это что я успел усвоить за очень краткое практическое введение и месяц ненавязчивого использования...


Название: Re: переход на svn
Отправлено: Авварон от Июнь 23, 2011, 18:41
Даже не касаясь внутреннего устройства гита, он удобнее (больше возможностей), быстрее, более продуман. Причем это не голые слова, возможность переключить ветку за 5 секунд  (в случае репы Qt; в случае среднего проекта несколько сотых секунды) решает, по сравнению с выкачиванием бранча в свн (допустим 20 минут)
Свн просто морально устарел, тк писался давно. Единственный его плюс - куча гуи утилит, но под маком к счастью есть гити. Гит-гуи убог:)


Название: Re: переход на svn
Отправлено: kamre от Июнь 23, 2011, 19:59
Пара вопросов знатокам git:
  - как сделать клон только части репозитория (в svn можно сделать checkout любой поддиректории)?
  - как хранить в git бинарники, если при их версионировании репозиторий (и всего его клоны) очень быстро распухает?


Название: Re: переход на svn
Отправлено: Авварон от Июнь 23, 2011, 20:30
1) никак, гит это не умеет. Да и зачем, ведь с гитом не надо держать несколько копий репо, надо заводить ветку в _одном_ локальном репозитории
2) это не проблема, смело храните. Гит не хранит диффы файлов (в отличие от всех остальных СУВ), он всегда хранит актуальное состояние файла (в случае, если файл не менялся, он хранит сим(хард?)линк). Если это вас напрягает - смотрите в сети сравнения, при прочих равных каталог с гитом занимает места меньше чем свн.


Название: Re: переход на svn
Отправлено: Пантер от Июнь 23, 2011, 20:42
Цитировать
каталог с гитом занимает места меньше чем свн
Причем намного меньше.


Название: Re: переход на svn
Отправлено: kamre от Июнь 24, 2011, 00:09
1) никак, гит это не умеет. Да и зачем, ведь с гитом не надо держать несколько копий репо, надо заводить ветку в _одном_ локальном репозитории
А причем здесь ветки? При конвертации репозитория из svn получается огромный git репозиторий, и из него нельзя клонировать только часть (поддерево директорий).

2) это не проблема, смело храните. Гит не хранит диффы файлов (в отличие от всех остальных СУВ), он всегда хранит актуальное состояние файла (в случае, если файл не менялся, он хранит сим(хард?)линк). Если это вас напрягает - смотрите в сети сравнения, при прочих равных каталог с гитом занимает места меньше чем свн.
Файлы бинарые под 10-20Мб, которые меняются периодически. При svn checkout только одна последняя актуальная версия забирается, а при клонировании в git все версии таких файлов за всю историю. Никак это занимать меньше места не может.


Название: Re: переход на svn
Отправлено: Авварон от Июнь 24, 2011, 02:50
Ветки при том что просто нет нужды выкачивать кусок репа (в конце-концов вы просто не соберете этот кусок для теста). Нужда выкачивать куски возникает когда нужен быстрый фикс и нет возможности его выполнить в основном репозитории. Это решается веткой/стэшем
Не верите - смотрите сравнения. Дело в том, что свн хоть и использует диффы, использует их неоптимально.


Название: Re: переход на svn
Отправлено: lit-uriy от Июнь 24, 2011, 05:48
>>git gui отличный гуй к гиту
и всё таки это какашка да ещё и вложенная в стандартный дистриб.
В нём даже банальные <Ctrl>+<C> не работают. Нельзя колесом мыши пользоваться в списках, только в GitTk работает да и то не везде.

Что же касается линуха и SVN-а, то мне нравился KDE SVN (пока я линём баловался)


Название: Re: переход на svn
Отправлено: lit-uriy от Июнь 24, 2011, 05:51
>>а при клонировании в git все версии таких файлов за всю историю. Никак это занимать меньше места не может.
Мой опыт:
Держал в SVNе под контролем версий одну БД, доросшей за год до 1,5 Гиг.
Переполз на Git (с помощью git svn) и обнаружил, что хранилище похудело на 30% !!!


Название: Re: переход на svn
Отправлено: Пантер от Июнь 24, 2011, 07:17
>>git gui отличный гуй к гиту
и всё таки это какашка да ещё и вложенная в стандартный дистриб.
В нём даже банальные <Ctrl>+<C> не работают. Нельзя колесом мыши пользоваться в списках, только в GitTk работает да и то не везде.
УМВР


Название: Re: переход на svn
Отправлено: lit-uriy от Июнь 24, 2011, 09:59
при русской раскладке клавиатуры пробовал?
У авторов тикля не работает, как же у тебя оно работает.

П.С.
также и у GTK+ таже болезнь.


Название: Re: переход на svn
Отправлено: lit-uriy от Июнь 24, 2011, 10:00
>> как сделать клон только части репозитория (в svn можно сделать checkout любой поддиректории)?
Можно склонировать с ограничением истории, но это получится хранилище только для чтения. (см. ключи к git clone)


Название: Re: переход на svn
Отправлено: lit-uriy от Июнь 24, 2011, 10:02
>>Гит не хранит диффы файлов
это новость для меня. Как-то читал, Гит - коллекция патчей и инструментарий для их обработки


Название: Re: переход на svn
Отправлено: Пантер от Июнь 24, 2011, 10:41
Да, гит хранит дифы. Но тоже как-то интересно. Если периодически делать git gc, то оно как-то самоочищается и размер репы уменьшается.

Кстати, только что мержил 2 бранча, в каждом было сделано множество изменений. Так вот практически все гит сам разрулил, вручную пришлось только немного поработать. В итоге за час все сделал. В свн даже не известно, сколько пришлось бы мучатся.
Недавно с свн была такая задача: из определенного коммита транка отбранчеваться, поработать и поменять транк на этот бранч (без мержа, просто заменить). На эту задачу я убил часа 3-4. Транк пришлось удалять, так как другого способа я не нашел.


Название: Re: переход на svn
Отправлено: Авварон от Июнь 24, 2011, 11:36
gc скорее всего удаляет мертвые ветки и детачед хеды (к примеру, при аменде исходный коммит для аменда не стирается, лишь выкидывается из ветви)
и гит таки не хранит диффы:) он хранит блобы - содержимое файла (именно содержимое, а не сам файл. блобы шарятся между одинаковыми файлами) +спец инфа


Название: Re: переход на svn
Отправлено: Пантер от Июнь 24, 2011, 11:36
Да, тут я не прав.
Рекомендую посмотреть http://www.youtube.com/watch?v=BtAlN4MaBr8


Название: Re: переход на svn
Отправлено: gogi от Июнь 27, 2011, 10:07
Переходи на Git. SVN не нужен.
Почему так категорично ?
svn - это по сути система предыдущего поколения. С ней можно продолжать работать, но начинать новый проект лучше с более современного git'a(или какого-нибудь mercurial'a).