forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.HUSKY

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 15.05.2017, 16:00
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 15.05.2017, 18:30
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 15.05.2017, 18:50
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 15.05.2017, 19:10
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 15.05.2017, 21:10
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 15.05.2017, 22:00
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 15.05.2017, 22:50
Dmitriy Lyalyuev
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 23.05.2017, 16:12
Pavel Gulchouck
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 23.05.2017, 20:11
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию freeze

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  
Старый 24.05.2017, 13:01
Pavel Gulchouck
Guest
 
Сообщений: n/a
По умолчанию freeze

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
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 03:26. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot