Это - конкретный 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
Я не совсем уверен от способа, которым формулировался вопрос, но это звучит мне как Вы, мог бы испытывать некоторую проблему при перемещении от не распределенной системы управления версиями (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] при конфигурировании сервера правильно. Необходимо, вероятно, изучить использование мерзавца этот путь, как это - то, как это было разработано, чтобы использоваться.
Правильный Способ сделать это с получением по запросу/продвижением с сервера. Вопрос, как можно автоматизировать это? Ну, с определенной работой Вы могли бросить вместе что-то, что автопродвинуло к отдельному ответвлению по серверу каждый раз, файл изменяется?