metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-04-25 08:16 am

А вот как у вас модно

работать с системами контроля версий? Конкретно, с subversion, потому что в меркуриале и прочих DVCS можно хоть обкоммитится до одури - пока в другой репозиторий не закинешь, этого никто не увидит.

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

PS: В комментариях много советуют бранчи. Я почему-то никогда ими не пользовался, сначала в svn они были адом и мне лень было это осиливать, а сейчас как-то никогда не возникает надобности. Т.е. организация проекта и релизов как-то так получилась, что борьба с бранчами не стоит того.

[identity profile] dmzlj.livejournal.com 2010-04-25 01:46 pm (UTC)(link)
Много бранчей в нескольких репозиториях иметь удобнее, чем много репозиториев. Каждый репозиторий --- отдельный каталог с правами, группами, организацией доступа и т.п. Бранч в git сделать очень дешево и быстро, клонировать репозиторий --- долго.

rebase в двух словах не объяснить, но в том числе он позволяет сливать несколько коммитов в один. А также позволяет взять свои изменения относительно некоей точки там, откуда мы отбранчевались, оторвать их, подвинуть HEAD текущего бранча так, что бы он синхронизировался с HEAD исходного бранча, а потом наложить свои изменения поверх, для того, что бы они сделались относительно наиболее свежей версии удаленного репозитария, что бы было удобнее их туда потом запушить, когда придет время... Кажется у меня не получилось...


[identity profile] blacklion.livejournal.com 2010-04-25 02:08 pm (UTC)(link)
Да нет, получилось, всё ясно как раз. Хотя противоречит идеи неизменяемости истории.

[identity profile] dmzlj.livejournal.com 2010-04-25 02:10 pm (UTC)(link)
Неизменяема публичная история. Локально это неудобно, так как идея частых коммитов противоречит идее осмысленных коммитов.

[identity profile] blacklion.livejournal.com 2010-04-25 02:15 pm (UTC)(link)
Так как у меня все эти эксперименты возможны только для своих проектов, в которых по сути нет буличной истории, меня всё время мотает между этими двумя состояниями, да.

[identity profile] dmzlj.livejournal.com 2010-04-25 02:20 pm (UTC)(link)
А для себя можно rebase-ом и слиянием коммитов и не заморачиваться вообще. Как бы не особо зачем.