![]() |
#1
|
|||
|
|||
![]()
Alexey Vissarionov написал(а) к All в May 17 14:44:44 по местному времени:
Доброго времени суток, All! Коллеги, большая просьба в ближайшее время (пару дней) ничего не коммитить в репу на SF - я создал git.huskyproject.org с зеркалом на github.com, а теперь попробую перетащить туда все наше хозяйство, в том числе генератор отчетов по коммитам и автоматическую сборку эхотага для GNU/Linux систем по git-тегам. Как бы маловероятно это ни было, но по закону подлости именно в процессе переезда кто-то обязательно выловит какую-нибудь корякву и посчитает нужным исправить ее самым срочным образом. Большая просьба: все такие исправления никуда не коммитить, а вместо этого пока публиковать `diff -burN` в эхе. Итак, сабж. Как только переезд завершится (или, что тоже не исключено, если попытка переезда окажется неудачной), я об этом объявлю. А пока прошу всех участников прислать мне нетмылом свои открытые ключи для SSН (рекомендую RSA 8192 bit). З.Ы. (Замечу Ышо): ключ 2:5053/58 у меня уже есть, ключ 2:5057/77 хорошо бы обновить до 8192-битного. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Опыт и алкоголизм всегда победят молодость и энтузиазм --- /bin/vi |
#2
|
|||
|
|||
![]()
Michael Dukelsky написал(а) к Alexey Vissarionov в May 17 17:16:10 по местному времени:
Привет, Alexey! 15 May 17 14:44, Alexey Vissarionov послал(а) письмо к All: AV> Коллеги, большая просьба в ближайшее время (пару дней) ничего не AV> коммитить в репу на SF - я создал git.huskyproject.org с зеркалом на AV> github.com А на SF всё останется? Желаю успехов, Alexey! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20151128 |
#3
|
|||
|
|||
![]()
Alexey Vissarionov написал(а) к Michael Dukelsky в May 17 17:30:30 по местному времени:
Доброго времени суток, Michael! 15 May 2017 17:16:10, ты -> мне: AV>> Коллеги, большая просьба в ближайшее время (пару дней) ничего не AV>> коммитить в репу на SF - я создал git.huskyproject.org с зеркалом AV>> на github.com MD> А на SF всё останется? До запуска git-репы - однозначно да. Если таковой окажется успешным - думаю, какое-то время оно будет выполнять функции "старой" резервной копии, а потом можно будет попросить Стаса почистить там все (благо, особой оперативности данное действие не требует). -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... god@universe:~ # cvs up && make world --- /bin/vi |
#4
|
|||
|
|||
![]()
Michael Dukelsky написал(а) к Alexey Vissarionov в May 17 17:58:34 по местному времени:
Привет, Alexey! 15 May 17 17:30, Alexey Vissarionov послал(а) письмо к Michael Dukelsky: AV>>> Коллеги, большая просьба в ближайшее время (пару дней) ничего не AV>>> коммитить в репу на SF - я создал git.huskyproject.org с AV>>> зеркалом на github.com MD>> А на SF всё останется? AV> До запуска git-репы - однозначно да. Если таковой окажется успешным - AV> думаю, какое-то время оно будет выполнять функции "старой" резервной AV> копии, а потом можно будет попросить Стаса почистить там все (благо, AV> особой оперативности данное действие не требует). Я имел в виду не старую резервную копию, а синхронизированную. Как Гульчук сделал синхронизированную копию гитхаба и своего cvs сервера для binkd. Это позволит сделать переход для разработчиков безударным. Кстати, разработчики есть не только здесь, но и в FIDOSOFT.НUSKY. Желаю успехов, Alexey! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20151128 |
#5
|
|||
|
|||
![]()
Alexey Vissarionov написал(а) к Michael Dukelsky в May 17 20:00:00 по местному времени:
Доброго времени суток, Michael! 15 May 2017 17:58:34, ты -> мне: AV>>>> Коллеги, большая просьба в ближайшее время (пару дней) ничего AV>>>> не коммитить в репу на SF - я создал git.huskyproject.org с AV>>>> зеркалом на github.com MD>>> А на SF всё останется? AV>> До запуска git-репы - однозначно да. Если таковой окажется AV>> успешным - думаю, какое-то время оно будет выполнять функции AV>> "старой" резервной копии, а потом можно будет попросить Стаса AV>> почистить там все (благо, особой оперативности данное действие AV>> не требует). MD> Я имел в виду не старую резервную копию, а синхронизированную. Хм... Теоретически можно, но в этом случае в CVS-репу пойдет всего одна ветка (например, master), а саму CVS-репу придется делать read-only, ибо я с трудом представляю себе, как сделать двусторонний обмен (пока вырисовывается какая-то совсем уж аццкая скриптопись). MD> Как Гульчук сделал синхронизированную копию гитхаба и своего cvs MD> сервера для binkd. Могу предположить, что у него первична CVS-репа, а на гитхабе публикуется единственная ветка master. Соответственно, merge в этом случае скорее всего приходится делать на стороне CVS, то есть все изменения должны идти по пути git/proposal - cvs - git/master, а то и просто diff - cvs - git/master. Сейчас у меня примерно то же самое, только с обеих сторон git. Как к этой (довольно простой и изящной) конструкции прикрутить работу с CVS, и есть ли вообще смысл это делать - надо думать. Ну и сначала надо все-таки полностью перейти на git, а до тех пор CVS вообще нехрен трогать. MD> Это позволит сделать переход для разработчиков безударным. Ээээ... каким? :-) MD> Кстати, разработчики есть не только здесь, но и в FIDOSOFT.НUSKY. Там еще кто-то жив??? -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... Компетентный орган - это тот самый %уй, который все знает --- /bin/vi |
#6
|
|||
|
|||
![]()
Michael Dukelsky написал(а) к Alexey Vissarionov в May 17 20:50:40 по местному времени:
Привет, Alexey! 15 May 17 20:00, Alexey Vissarionov послал(а) письмо к Michael Dukelsky: AV>>>>> Коллеги, большая просьба в ближайшее время (пару дней) ничего AV>>>>> не коммитить в репу на SF - я создал git.huskyproject.org с AV>>>>> зеркалом на github.com MD>>>> А на SF всё останется? AV>>> До запуска git-репы - однозначно да. Если таковой окажется AV>>> успешным - думаю, какое-то время оно будет выполнять функции AV>>> "старой" резервной копии, а потом можно будет попросить Стаса AV>>> почистить там все (благо, особой оперативности данное действие AV>>> не требует). MD>> Я имел в виду не старую резервную копию, а синхронизированную. AV> Хм... Теоретически можно, но в этом случае в CVS-репу пойдет всего AV> одна ветка (например, master), а саму CVS-репу придется делать AV> read-only, ибо я с трудом представляю себе, как сделать двусторонний AV> обмен (пока вырисовывается какая-то совсем уж аццкая скриптопись). MD>> Как Гульчук сделал синхронизированную копию гитхаба и своего cvs MD>> сервера для binkd. AV> Могу предположить, что у него первична CVS-репа, а на гитхабе AV> публикуется единственная ветка master. Соответственно, merge в этом AV> случае скорее всего приходится делать на стороне CVS, то есть все AV> изменения должны идти по пути git/proposal - cvs - git/master, а то и AV> просто diff - cvs - git/master. Надо спросить у Павла. MD>> Кстати, разработчики есть не только здесь, но и в FIDOSOFT.НUSKY. AV> Там еще кто-то жив??? Да. Желаю успехов, Alexey! За сим откланиваюсь, Michael. ... node (at) f1042 (dot) ru --- GoldED+/LNX 1.1.5-b20151128 |
#7
|
|||
|
|||
![]()
Dmitriy Lyalyuev написал(а) к Alexey Vissarionov в May 17 21:28:20 по местному времени:
Привет, Alexey! 15 май 17 20:00, Alexey Vissarionov -> Michael Dukelsky: AV> Могу предположить, что у него первична CVS-репа, а на гитхабе AV> публикуется единственная ветка master. Соответственно, merge в этом AV> случае скорее всего приходится делать на стороне CVS, то есть все AV> изменения должны идти по пути git/proposal - cvs - git/master, а то и AV> просто diff - cvs - git/master. AV> Сейчас у меня примерно то же самое, только с обеих сторон git. Как к AV> этой (довольно простой и изящной) конструкции прикрутить работу с CVS, AV> и есть ли вообще смысл это делать - надо думать. Я когда-то делал миграцию CVS -> SVN -> GIT. То еще удовольствие было. Но все вроде даже смигрировалось. На регулярной основе я бы так не делал. AV> Ну и сначала надо все-таки полностью перейти на git, а до тех пор CVS AV> вообще нехрен трогать. Правильное решение. IMНO. С наилучшими пожеланиями, Dmitriy. --- -Пиши, старик, пиши! Мы тебя не покинем. |
#8
|
|||
|
|||
![]()
Pavel Gulchouck написал(а) к Alexey Vissarionov в May 17 14:43:08 по местному времени:
Нi Alexey! 15 May 17, Alexey Vissarionov ==> Michael Dukelsky: AV>>>>> Коллеги, большая просьба в ближайшее время (пару дней) ничего AV>>>>> не коммитить в репу на SF - я создал git.huskyproject.org с AV>>>>> зеркалом на github.com MD>>>> А на SF всё останется? AV>>> До запуска git-репы - однозначно да. Если таковой окажется AV>>> успешным - думаю, какое-то время оно будет выполнять функции AV>>> "старой" резервной копии, а потом можно будет попросить Стаса AV>>> почистить там все (благо, особой оперативности данное действие AV>>> не требует). MD>> Я имел в виду не старую резервную копию, а синхронизированную. AV> Хм... Теоретически можно, но в этом случае в CVS-репу пойдет всего одна ветка (например, master), а саму CVS-репу придется AV> делать read-only, ибо я с трудом представляю себе, как сделать двусторонний обмен (пока вырисовывается какая-то совсем уж AV> аццкая скриптопись). MD>> Как Гульчук сделал синхронизированную копию гитхаба и своего cvs MD>> сервера для binkd. AV> Могу предположить, что у него первична CVS-репа, а на гитхабе публикуется единственная ветка master. Соответственно, merge AV> в этом случае скорее всего приходится делать на стороне CVS, то есть все изменения должны идти по пути git/proposal - cvs AV> - git/master, а то и просто diff - cvs - git/master. Там нет первичных/авторичных, там "master-master", т.е. все коммиты реплицируются в обе стороны, включая ветвление. Предпочтение, конечно, отдаётся гиту, cvs поддерживается исключительно для обратной совместимости, но коммитить в cvs тоже можно. Скрипты совсем небольшие, всего около сотни строк, хотя попариться с их отладкой какое-то время пришлось. Используются "git cvsexportcommit" и "git cvsimport". Если интересно, могу поделиться. Ещё с изначальной конвертацией репозитория (история, ветки и т.п.) был какой-то головняк, уже не помню точно, какой именно и как решил. Там есть несколько вариантов конвертации, и у каждого свои приколы. Lucky carrier, Паша aka gul@gul.kiev.ua --- GoldED+/LNX 1.1.5-b20160827 |
#9
|
|||
|
|||
![]()
Alexey Vissarionov написал(а) к Pavel Gulchouck в May 17 18:52:00 по местному времени:
Доброго времени суток, Pavel! 23 May 2017 14:43:08, ты -> мне: MD>>> Как Гульчук сделал синхронизированную копию гитхаба и своего cvs AV>> Могу предположить, что у него первична CVS-репа PG> Там нет первичных/авторичных, там "master-master", т.е. все коммиты PG> реплицируются в обе стороны, включая ветвление. Предпочтение, PG> конечно, отдаётся гиту, cvs поддерживается исключительно для обратной PG> совместимости, но коммитить в cvs тоже можно. PG> Скрипты совсем небольшие, всего около сотни строк, хотя попариться с PG> их отладкой какое-то время пришлось. Используются "git PG> cvsexportcommit" и "git cvsimport". Если интересно, могу поделиться. Интересно. Делись :-) PG> Ещё с изначальной конвертацией репозитория (история, ветки и т.п.) PG> был какой-то головняк, уже не помню точно, какой именно и как решил. PG> Там есть несколько вариантов конвертации, и у каждого свои приколы. Если вспомнишь - будет очень хорошо. -- Alexey V. Vissarionov aka Gremlin from Kremlin gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii ... .. _ .__. ._.. . __ ___ ._. ... . _._. ___ _.. . _ ._ __. ._.. .. . . --- /bin/vi |
#10
|
|||
|
|||
![]()
Pavel Gulchouck написал(а) к Alexey Vissarionov в May 17 09:46:40 по местному времени:
Нi Alexey! 23 May 17, Alexey Vissarionov ==> Pavel Gulchouck: MD>>>> Как Гульчук сделал синхронизированную копию гитхаба и своего cvs AV>>> Могу предположить, что у него первична CVS-репа PG>> Там нет первичных/авторичных, там "master-master", т.е. все коммиты PG>> реплицируются в обе стороны, включая ветвление. Предпочтение, PG>> конечно, отдаётся гиту, cvs поддерживается исключительно для обратной PG>> совместимости, но коммитить в cvs тоже можно. PG>> Скрипты совсем небольшие, всего около сотни строк, хотя попариться с PG>> их отладкой какое-то время пришлось. Используются "git PG>> cvsexportcommit" и "git cvsimport". Если интересно, могу поделиться. AV> Интересно. Делись :-) Все модули проекта конвертнул и выложил на github (с историей и ветками): https://github.com/pgul/husky Решил не объединять их все в один репозиторий, а сделать сабмодулями. Впрочем, объединить всегда можно, если это покажется удобным. История при этом не потеряется, но ветки и тэги в этом случае будут относиться ко всему проекту husky - собственно, из-за этого я и не стал их объединить. Получить всё можно так: git clone git@github.com:pgul/husky.git cd husky git submodule update --init --recursive Потом обновлять можно командой git pull --recurse-submodules Можете клонировать, форкать и т.п. Зачем это нужно - потому что мне не нравится то, как это делаешь ты. А именно - хочешь забрать проект из общественного доступа с несколькими разработчиками на личный сервак и личный домен, где патчи сможешь принимать или не принимать только ты лично, да ещё и с потерей истории и веток. По той же причине ты оставляешь его на гитхабе в read-only - чтобы не потерять единоличный контроль. А объяснение о том, что патчи должны присылаться только по фидо - нелепая отговорка, ведь полезность патча совсем нетрудно оценить независимо от того, каким путём он пришёл. Попутно тебе пришлось отказаться от гитхаба как от удобного инструмента (пул-реквесты, ревью, доработки, обсуждения и т.п.). Такое усложнение развития убьёт проект, а мне бы этого не хотелось. И не хотелось бы перевода проекта из общественной собственности в личную. Подключение jenkins и всякого прочего не зависит от того, на каком из серверов находится корневой репозиторий. Кроме того, на гитхабе есть веб-хуки. Автоматическую синхронизацию между github и sf настрою позже. Готов переместить репозиторий из github.com/pgul в github.com/huskyproject, если там будут даны права коммитить всем разработчикам husky (т.е. тем, которые имеют права коммитить в husky на sf.net). Впрочем, если кто желает настроить репликацию между cvs и github у себя - you're welcome. Вот скрипты: cvs2git.sh: ===== #! /bin/sh set -e set -o pipefail НOME="/usr/local/git-repos" REPO="$1" cd "$НOME/$REPO" git checkout -q master git cvsimport -a -d /usr/local/cvsroot -r cvs -k -i "$REPO" | { grep -v '^Already' || true; } git fetch -q origin for branch in `git branch | sed 's/^. //' | grep -v ^_`; do git checkout -q $branch git merge -q --ff-only origin/$branch COMMITS=`git log --format="tformat:%Н" --reverse --author='<([^g]|g[^i]|gi[^t]|git[^>])' -E _cvs/$branch..cvs/$branch` NEED_PUSН="" if [ -n "$COMMITS" ]; then for commit in $COMMITS; do git cherry-pick $commit NEED_PUSН=1 done fi git checkout -q _cvs/$branch git merge -q --ff-only cvs/$branch [ -z "$NEED_PUSН" ] || git push -q origin $branch && git push -q --tags origin $branch done git checkout -q master ===== git2cvs.sh: ===== #! /bin/sh set -e set -o pipefail НOME="/usr/local/git-repos" REPO="$1" cd "$НOME/$REPO" # Fetch new commits from github git fetch -q origin # export all new commits to cvs export GIT_DIR=`pwd`/.git for branch in `git branch | sed 's/^. //' | grep -v ^_`; do git checkout -q $branch COMMITS=`git log --no-merges --format="tformat:%Н" --reverse ..origin/$branch` if [ -n "$COMMITS" ]; then cd "../${REPO}.cvs" cvs -q update -C if [ "$branch" = "master" ]; then cvs update -kk -A else cvs update -kk -r $branch fi for commit in $COMMITS; do git cvsexportcommit -c -p $commit done cvs -q update cd "$НOME/$REPO" git merge --ff-only origin/$branch fi done git checkout -q master ===== Lucky carrier, Паша aka gul@gul.kiev.ua --- GoldED+/LNX 1.1.5-b20160827 |