я тоже на нескольких проектах использую Subversion, и в ближайшее время переходить не собираюсь (хотя кстати всегда можно прицепить рядом git svn, и никто
ничего
не заметит даже :))
я нанимаю кучу разработчиков, и однажды у меня был показательный момент в собеседовании
я задавал человека обычный набор вопросов по (простейшим) структурам данных. хэши да деревья, совершенно ничего из ряда вон выходящего.
человек же был программистом на пыхопэ, писал какие-то говносайты, и в какой-то момент заявил мне: «зачем вообще нужны эти структуры данных, мне вот они ни разу не потребовались за всю мою карьеру.»
«ну как же», говорю я — «представьте себе, что вам придётся писать какую-нибудь реально сложную систему, например систему распознавания движущихся объектов с видеозаписи. куда там без структур данных, к тому же гораздо более сложных.»
«ну мне пока что системы видео-распознавания писать не доводилось, а когда понадобится — выучу», гордо заметил товарищ.
я уж как мог постарался до него донести, что это не ему не просто «не доводилось», а на самом деле про него и подумают-то в последнюю очередь, потому что он самостоятельно и превентивно не удосужился изучить основы computer science.
то есть подход «так как я не участвую в формуле-1, то езжу на жигулях, а как меня пригласят в команду — так я сразу подкачаю скиллы-то» — он приводит к тому, что ни в какую формулу-1 Вас не пригласят
потому что сначала скиллы
а потом уже предложение
но в принципе конечно ничего зазорного в том, чтобы не участвовать в формуле-1 — нету :)))
я подозреваю, что приблизительно четверть программистов на постсоветской территории начали пользоваться системами контроля версий так или иначе на основании моих трудов на эту тему.
Гит действительно сложная система. Если хочется сделать осознанный выбор, то придётся изучить его устройство, иначе все доводы превращаются в пустой звук.
Фундаментом Гита является устройство репозитория: а) DAG (можно считать, дерево) коммитов; б) криптографическая идентификация объектов; в) возможность создавать коммиты с более чем одним предком.
Всё остальное следует из этого, а именно:
1. Поддержка неограниченно сложной системы веток (и простая работа с частыми случаями типа «две ветки»).
2. Автоматический merge tracking. Реально когда понимаешь, что ДЕСЯТЬ ЛЕТ в Subversion не было этой фичи и когда понимаешь, насколько ЭЛЕМЕНТАРНО она сделана в Git — возникает глухая ярость за бесцельно потраченные годы :))
3. Полная функциональность локального репозитория. Вам не требуется быть постоянно подключенным к корпоративному репозиторию, и не нужно мучительно держать незакоммиченными тонны изменений только потому, что у вас нет подключения.
4. Возможно «переписать историю». Начиная от тривиального git commit --amend и заканчивая cherry-pick, позволяющий опубликовать изменения в вылизанном виде, сколь угодно отличающегося от длительной и мучительной разработки.
5. Распределенность, туды её в качель. Вообще, если пользователь Subversion говорит «зачем мне распределенность, я ею не пользуюсь» — это звучит как если пользователь Жигулей говорит «зачем мне ABS и подушка безопасности — я ими не пользуюсь». Конечно, не пользуешься, ведь у тебя их ПРОСТО НЕТУ :)))
В принципе нет ничего зазорного в том, что тошнить со скоростью 50 км/ч на своём жигулёнке. Важно только не удивляться, когда доедете, тому, насколько Вас обогнали, условно говоря, «конкуренты».
> Да, по законодательству «вы можете доставлять РАЗ В НЕДЕЛЮ (календарную)...»
Я думаю это законодательство даже работало бы в нашей стране, если бы кто-нибудь на таможне электронную базу посылок вёл. Но так как всем на всё пофигу, и учёта отправлений никто не ведёт, в Москву и Питер можете смело возить раз в день — товаров много, о вас через пару часов уже все забудут. Если в провинции живёте — уже надо быть аккуратнее, дня три перерыв делайте.
это не совсем правда
я буквально вчера попал на этом две посылки UPS'ом с амазона суммарной стоимостью около $300. Первая посылка прошла, а вторую таможня потребовала консолидировать с первой и заплатить все пошлины с суммарной стоимостью
Вы имеете в виду eval c аргументом в виде строки (который как раз вызывает парсер и интерпретатор). eval с блочным аргументом это как раз да, аналог try/catch.
строчный eval используется при низкоуровневом метапрограммировании. Я использовал, но не могу вспомнить точно задачу.
это не FUD, я лично просто нервничаю от этой идеи
мне для полного счастья ещё риска выгребания проблем от апгрейда не хватает
тошним на svnmerge :))
«Я не использую» и «я не знаю».
я тоже на нескольких проектах использую Subversion, и в ближайшее время переходить не собираюсь (хотя кстати всегда можно прицепить рядом git svn, и никто
ничего
не заметит даже :))
я задавал человека обычный набор вопросов по (простейшим) структурам данных. хэши да деревья, совершенно ничего из ряда вон выходящего.
человек же был программистом на пыхопэ, писал какие-то говносайты, и в какой-то момент заявил мне: «зачем вообще нужны эти структуры данных, мне вот они ни разу не потребовались за всю мою карьеру.»
«ну как же», говорю я — «представьте себе, что вам придётся писать какую-нибудь реально сложную систему, например систему распознавания движущихся объектов с видеозаписи. куда там без структур данных, к тому же гораздо более сложных.»
«ну мне пока что системы видео-распознавания писать не доводилось, а когда понадобится — выучу», гордо заметил товарищ.
я уж как мог постарался до него донести, что это не ему не просто «не доводилось», а на самом деле про него и подумают-то в последнюю очередь, потому что он самостоятельно и превентивно не удосужился изучить основы computer science.
то есть подход «так как я не участвую в формуле-1, то езжу на жигулях, а как меня пригласят в команду — так я сразу подкачаю скиллы-то» — он приводит к тому, что ни в какую формулу-1 Вас не пригласят
потому что сначала скиллы
а потом уже предложение
но в принципе конечно ничего зазорного в том, чтобы не участвовать в формуле-1 — нету :)))
именно автомобильную метафору я и использовал
товарищ
я подозреваю, что приблизительно четверть программистов на постсоветской территории начали пользоваться системами контроля версий так или иначе на основании моих трудов на эту тему.
ever heard of alexm.here.ru/cvs-ru/
? :)
Гит действительно сложная система. Если хочется сделать осознанный выбор, то придётся изучить его устройство, иначе все доводы превращаются в пустой звук.
Фундаментом Гита является устройство репозитория: а) DAG (можно считать, дерево) коммитов; б) криптографическая идентификация объектов; в) возможность создавать коммиты с более чем одним предком.
Всё остальное следует из этого, а именно:
1. Поддержка неограниченно сложной системы веток (и простая работа с частыми случаями типа «две ветки»).
2. Автоматический merge tracking. Реально когда понимаешь, что ДЕСЯТЬ ЛЕТ в Subversion не было этой фичи и когда понимаешь, насколько ЭЛЕМЕНТАРНО она сделана в Git — возникает глухая ярость за бесцельно потраченные годы :))
3. Полная функциональность локального репозитория. Вам не требуется быть постоянно подключенным к корпоративному репозиторию, и не нужно мучительно держать незакоммиченными тонны изменений только потому, что у вас нет подключения.
4. Возможно «переписать историю». Начиная от тривиального git commit --amend и заканчивая cherry-pick, позволяющий опубликовать изменения в вылизанном виде, сколь угодно отличающегося от длительной и мучительной разработки.
5. Распределенность, туды её в качель. Вообще, если пользователь Subversion говорит «зачем мне распределенность, я ею не пользуюсь» — это звучит как если пользователь Жигулей говорит «зачем мне ABS и подушка безопасности — я ими не пользуюсь». Конечно, не пользуешься, ведь у тебя их ПРОСТО НЕТУ :)))
В принципе нет ничего зазорного в том, что тошнить со скоростью 50 км/ч на своём жигулёнке. Важно только не удивляться, когда доедете, тому, насколько Вас обогнали, условно говоря, «конкуренты».
то есть если Вам один человек некомпетентно что-то рассказал — Вы не будете пользоваться существенно более мощным решением? :)
это в принципе даже хорошо, меньше конкуренции
если серьезно, то Git с концептуальной точки зрения делает Subversion на всех возможных уровнях.
на Svn есть очень чёткий потолок сложности
в Git его нету :)
software.complete.org/software/projects/show/offlineimap
но ведь вы туда не коммитили после создания
то есть это была не ветка
а тэг
Тэги — это пометки конкретных версий кода, например WINDOWS-98-RELEASE.
К веткам они имеют очень опосредованное отношение.
или Вам не дали tracking number, по которому можно отследить состояние посылки?
Я думаю это законодательство даже работало бы в нашей стране, если бы кто-нибудь на таможне электронную базу посылок вёл. Но так как всем на всё пофигу, и учёта отправлений никто не ведёт, в Москву и Питер можете смело возить раз в день — товаров много, о вас через пару часов уже все забудут. Если в провинции живёте — уже надо быть аккуратнее, дня три перерыв делайте.
это не совсем правда
я буквально вчера попал на этом две посылки UPS'ом с амазона суммарной стоимостью около $300. Первая посылка прошла, а вторую таможня потребовала консолидировать с первой и заплатить все пошлины с суммарной стоимостью
операторы UPS говорят, что интервал 10 дней
МАДИ тоже государственный, и чё теперь,
строчный eval используется при низкоуровневом метапрограммировании. Я использовал, но не могу вспомнить точно задачу.