Синхронизируйте локальные файлы в удаленный репозиторий мерзавца

Это - конкретный Linux:

Обработчик событий замены в горячем режиме зарегистрируется в ядре для получения событий замены в горячем режиме или по сокету netlink или путем повторения его пути к /proc/sys/kernel/hotplug. Это затем получит информацию по сокету (netlink) или через то, чтобы быть запущенным с переменными среды (/proc.../заменять в горячем режиме).

Обычно, udev этот обработчик. Когда udev получает событие, оно продолжается через свои правила и обрабатывает то соответствие. Правила могут включать загружающиеся модули ядра, называя устройство, запуская программы, и т.д.

Если Вы хотите видеть точно, что мог бы видеть udev, можно записать короткую программу для слушания сокета netlink, или можно сделать это:

#!/bin/sh
exec 1>/tmp/hotplug.log
echo -----
env

Затем дайте файл, выполняют полномочия и повторяют путь к /proc/sys/kernel/hotplug. Вставьте и удалите некоторые устройства и проверьте журнал.

http://www.kernel.org/doc/pending/hotplug.txt

http://www.mpipks-dresden.mpg.de/~mueller/docs/suse10.2/html/opensuse-manual_en/manual/cha.udev.html

3
11.06.2012, 06:31
2 ответа

Я не совсем уверен от способа, которым формулировался вопрос, но это звучит мне как Вы, мог бы испытывать некоторую проблему при перемещении от не распределенной системы управления версиями (svn, csv, и т.д.) к распределенной как мерзавец.

Как оказалось, Вы получаете функциональность, которую Вы хотите бесплатно в Мерзавце! Просто клонируйте своего мерзавца repo к компьютеру, от которого Вы хотите работать (git clone <remote-repo>), работа как нормальная (код, мерзавец добавляет, фиксация мерзавца, промывка и повторение), и затем пододвиньте обратно к удаленному repo, когда Вы сделаны и имеете рабочее интернет-соединение (git push origin master или безотносительно Вашего удаленного / ответвление называют, если Вы не пошли со значениями по умолчанию). Мерзавец загружает полную копию repo, включая всю историю, по умолчанию; таким образом, не наличие интернет-соединения не должно иметь значения. Можно просто продолжить работу и синхронизацию с удаленной машиной, когда Интернет возвращается на.

При поиске способа автоматически продвинуть каждый раз, когда фиксация сделана, рычаги мерзавца выезда. Рычаг фиксации сообщения, вероятно, что Вы хотите. Просто перейдите к .git/hooks каталог в Вашем мерзавце repo и переименовывает файл post-commit.sample кому: post-commit, или создайте его и удостоверьтесь, что это - исполняемый файл (chmod +x post-commit) если это не существует. Теперь что-либо, что Вы помещаете в этот сценарий, будет выполняться прямо после создания фиксации, например, Вы, кажется, хотите:

#!/bin/sh
git push origin master

Вы могли также использовать post-receive зацепите удаленную машину, чтобы сделать что-то каждый раз, когда она получает нажатие от Вашего локального repo.

Править: В комментарии Вы заявили, что "продвижение вручную не будет работать"; однако, продвижение поддержек мерзавца через SSH, который является, вероятно, как Вы управляете своим сервером так или иначе. В противном случае это может также продвинуть через FTP (дрожь) и другие протоколы включая HTTP [S] при конфигурировании сервера правильно. Необходимо, вероятно, изучить использование мерзавца этот путь, как это - то, как это было разработано, чтобы использоваться.

5
27.01.2020, 21:14

Правильный Способ сделать это с получением по запросу/продвижением с сервера. Вопрос, как можно автоматизировать это? Ну, с определенной работой Вы могли бросить вместе что-то, что автопродвинуло к отдельному ответвлению по серверу каждый раз, файл изменяется?

1
27.01.2020, 21:14

Теги

Похожие вопросы