Как я делаю Подверсию (SVN), посылают электронное письмо на checkins?

Как отметил @FelixKling, наиболее вероятным сценарием является то, что узлы, которые вы ищете, еще не существуют.

Однако современные методы разработки часто могут манипулировать элементами документа за пределами дерева документов либо с DocumentFragments, либо просто отсоединением / повторным подключением текущих элементов напрямую. Такие методы могут использоваться как часть шаблонов JavaScript или для предотвращения чрезмерных операций перерисовки / переплавки, в то время как элементы, о которых идет речь, сильно изменяются.

Аналогично, новая функциональность «Теневой DOM» развертывается в современных браузерах позволяет элементам быть частью документа, но не обрабатываться запросом document.getElementById и всеми его методами sibling (querySelector и т. д.). Это делается для инкапсуляции функциональных возможностей и, в частности, скрыть его.

Опять же, скорее всего, элемент, который вы ищете, просто (пока) в документе, и вы должны сделать, как предлагает Феликс , Тем не менее, вы также должны знать, что это все чаще является не единственной причиной того, что элемент может быть необоснованным (временно или постоянно).

52
задан Peter Mortensen 17 September 2016 в 05:33
поделиться

11 ответов

Вы используете рычаги постфиксации . Вот руководство .

Вот демонстрационный сценарий Ruby, который посылает электронное письмо после каждой фиксации: фиксация-email.rb

31
ответ дан bahrep 7 November 2019 в 09:31
поделиться

Существует (большой) пример, записанный в Perl, включенном в источник Подрывной деятельности (это может быть просмотрено здесь ).

0
ответ дан Sean Carpenter 7 November 2019 в 09:31
поделиться

Какая платформа?

На Mac OS X я установил msmtp и создал сценарий постфиксации под рычагами в репозитории. .msmtprc файл должен быть установкой для svn (или www) пользователь.

REPOS="`echo $1 | sed 's/\/{root of repository}//g'` "
REV="$2"
MSG=`/usr/local/bin/svn log -v -r HEAD https://localhost$REPOS`

/usr/local/bin/msmtp {list of recipients} <<EOF
Subject: SVN-Commit $REPOS#$REV
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8Bit

$MSG
EOF

Делают {root of repository} и {list of recipients} специфичный для Ваших потребностей. Обратите внимание, что я использовал UTF-8, потому что у нас есть некоторые специальные символы здесь в Швеции (åäà ¶).

1
ответ дан Peter Mortensen 7 November 2019 в 09:31
поделиться

Я использую сценарий постфиксации, подобный этому один .

Это, посылает хорошее электронное письмо HTML. Я обновил его некоторые, где это выделяет код, который был удален в красном и коде выделений, который был включен синий.

1
ответ дан bahrep 7 November 2019 в 09:31
поделиться

Поскольку кто-то еще сказал, 'что платформа'. В Windows I использовали, 'блеют', который является бесплатной почтовой программой SMTP командной строки, чтобы сделать это, наряду с постфиксацией и другим пакетным файлом.

фиксация сообщения похожа на это: (Просто вызовы другой пакетный файл)

 call d:\subversion\repos\rts\hooks\mail %1 %2

И mail.bat был похож на это:

copy d:\subversion\repos\RTS\hooks\Commitmsg.txt %temp%\commit.txt
copy d:\subversion\repos\RTS\hooks\subjbase.txt %temp%\subject.txt
svnlook info -r %2 %1 >> %temp%\commit.txt
echo Revision %2 >> %temp%\commit.txt
svnlook changed -r %2 %1 >> %temp%\commit.txt
svnlook author -r %2 %1 >> %temp%\subject.txt
c:\utils\blat %temp%\commit.txt -t <me@my.email.com> -sf %temp%\subject.txt -server ServerName -f "SVN Admin <svn@my.email.com>" -noh2

самый большой глюк в письменной форме, который сцепляет SVN, - то, что у Вас не могло бы быть в основном установки среды - никакой путь exe, никакой временный путь, и т.д. Хотя, возможно, это улучшено в более свежих сборках SVN.

1
ответ дан Will Dean 7 November 2019 в 09:31
поделиться

Seconding Matt Miller на каналах RSS.

существует полезный инструмент, названный WebSVN, который предлагает каналы RSS каждого репозитория и отдельных ответвлений/тегов/папок с полными сообщениями о фиксации. Это - также большой веб-интерфейс для того, чтобы быстро посмотреть на истории файла и commits/diffs, не имея необходимость выполнять обновление и открывать Вашего предпочтительного редактора.

1
ответ дан Community 7 November 2019 в 09:31
поделиться

Существует связанный вопрос здесь на рычагах постфиксации. Лично, я предпочитаю отправлять сообщение во что-то, от чего я могу получить канал RSS, поскольку электронное письмо на фиксацию перегрузило бы мой ящик входящих сообщений довольно быстро.

1
ответ дан Community 7 November 2019 в 09:31
поделиться

Вы захотите ознакомить себя с рычаги репозитория , особенно рычаг постфиксации .

3
ответ дан jxh 7 November 2019 в 09:31
поделиться

Взгляните на автономное инструмент Subversion Notify (Windows только!) Это может сделать пользование электронной почтой на фиксации и также намного больше!

19
ответ дан bahrep 7 November 2019 в 09:31
поделиться

Вы могли использовать buildbot. Это - инструмент, который может принять произвольные меры каждый раз, когда регистрация происходит. Это - полнофункциональная непрерывная система интеграции, но если Вы просто хотите электронные письма, это может, конечно, обработать это. Это имеет плагины для множества SCMs включая SVN.

1
ответ дан whitney 7 November 2019 в 09:31
поделиться

В каталоге "hooks" вашей конкретной ветки Subversion есть 9 файлов шаблонов, которые помогут вам начать работу.

Ключевой момент: Subversion не будет запускать какие-либо файлы, пока они не будут переименованы. Чтобы post-commit.tmpl запускался под unix, переименуйте его в post-commit. В Windows переименуйте его в post-commit.bat или post-commit.exe. Subversion не выполняет файл, если он назван «post-commit.tmpl» или «post-commit.sh» или подобное.

Также убедитесь, что файл запускается тем же пользователем, который запускает Subversion.

1
ответ дан 7 November 2019 в 09:31
поделиться
Другие вопросы по тегам:

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