영어프랑스어스페인어

Ad


온웍스 파비콘

irkerhook - 클라우드의 온라인

Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터를 통해 OnWorks 무료 호스팅 제공업체에서 irkerhook 실행

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 irkerhook입니다.

프로그램:

이름


irkerhook - irker 알림을 발행하는 저장소 후크 스크립트

개요


irkerhook.py [-n] [-V] [[--변수=값...]] [[커밋 ID...]]

기술


irkerhook.py는 커밋 후 훅에서 호출되도록 의도된 Python 스크립트입니다.
버전 관리 저장소. 그 임무는 실행된 커밋에 대한 정보를 수집하는 것입니다.
후크(및 저장소 소유자가 설정한 기본 설정) 및 해당 정보 전달
다양한 발표 채널로 전달하기 위해 irkerd의 인스턴스에.

irkerhook.py의 적절한 호출과 동작은 VCS에 따라 다릅니다.
(버전 제어 시스템)이 호출합니다. XNUMX가지 다른 장소가 있습니다.
정보 추출:

1. VCS 유틸리티에 대한 호출.

2. 사용자가 설정할 수 있는 구성 변수를 지원하는 git과 같은 VCS에서
접두사 "irker.".

3. 다른 VCS에서 저장소 내부의 구성 파일 "irker.conf"
디렉토리.

4. --variable=value 형식의 명령줄 인수.

다음 변수는 지원되는 모든 VCS에 일반적입니다.

프로젝트
프로젝트의 이름입니다. 비교적 짧은 식별자여야 합니다. 일반적으로 나타납니다
알림의 맨 처음에.

REPO
저장소 최상위 디렉토리의 이름입니다. 지정하지 않으면 기본값은
프로젝트 이름의 소문자 사본.

채널
IRC 채널 URL 또는 쉼표로 구분된 동일한 목록으로, 해당 채널을 식별합니다.
알림이 전송됩니다. 지정하지 않으면 기본값은 freenode #commits입니다.
.

섬기는 사람
알림 중계 irker 데몬이 상주할 것으로 예상되는 호스트입니다.
기본값은 "localhost"입니다.

이메일
설정된 경우 TCP 또는 UDP 대신 이메일을 통신에 사용합니다. 값은 다음과 같이 사용됩니다.
대상 메일 주소.

TCP
"true"인 경우 통신에 TCP를 사용합니다. "거짓"이면 UDP를 사용합니다. 기본값은 "거짓"입니다.

URL 접두사
리포지토리에 대한 변경 집합 URL 접두사. 커밋 ID가 여기에 추가되면
cgit, gitweb 또는 이와 유사한 것을 통해 커밋을 표시할 CGI를 가리킵니다.
일반적인 gitweb/cgit 설정이 있는 경우 기본값이 작동할 것입니다.

이 변수의 값이 "None"이면 커밋에서 URL 필드 생성
알림이 표시되지 않습니다. 다른 마법 값은 "cgit", "gitweb" 및
"viewcvs"는 일반적으로 해당 시스템에서 작동하는 URL 템플릿으로 확장됩니다.

매직 쿠키 "%(host)s" 및 %(repo)s"가 이 URL에서 발생할 수 있습니다. 전자는
irkerhook.py가 실행 중인 호스트의 FQDN으로 확장됩니다. 후자는
"repo" 변수의 값으로 확장됩니다.

소형화기
URL 압축을 위한 서비스를 가리키는 URL 템플릿으로 덜 차지합니다.
알림 줄의 공백. 이 변수의 값이 "None"이면 no
압축을 시도합니다.


"mIRC"인 경우 mIRC 색상 코드로 알림 필드를 강조 표시합니다. "ANSI"인 경우 강조 표시
ANSI 색상 이스케이프 시퀀스가 ​​있는 알림 필드. 기본값은 "없음"(색상 없음)입니다.
ANSI 코드는 Chatzilla, irssi, ircle 및 BitchX에서 지원됩니다. mIRC 코드만
mIRC, XChat, KVirc, Konversation 또는 weechat에서 인식됩니다.

참고: 이 기능을 켜고 채널에 알림이 표시되지 않는 경우 다음이 필요합니다.
해당 채널에서 IRC의 컬러 필터를 끕니다. 이렇게하려면 op가 필요합니다
특권; "/ 모드" 명령을 실행 -c"와 함께 당신으로 대체
채널 이름. 먼저 "/msg chanserv set" 명령을 실행해야 할 수도 있습니다.
MLOCK +nt-slk".

최대 채널
정수로 해석됩니다. XNUMX이 아니면 후크가 수행할 채널 수를 제한합니다.
"channels" 변수에서 해석합니다.

이 변수는 VCS 구성 변수 또는 irker.conf를 통해 설정할 수 없습니다. 그것은 할 수있다
명령줄 인수로만 설정하십시오. 따라서 저장소가 있는 단조 사이트에서
소유자는 커밋 후 스크립트를 수정할 수 없으며 사이트 관리자는
악의적인 프로젝트 소유자의 샷건 스팸을 방지하도록 설정합니다. 값으로 설정
그러나 2보다 작으면 아마도 현명하지 않을 것입니다.

시아라이크
비어 있지 않고 "None"(기본값)이 아니면 이전 CIA 동작을 에뮬레이트합니다.
형식 요약을 위해 긴 파일 목록 삭제(M의 N 파일
디렉토리). 값은 길이에 대한 임계값을 제공하는 숫자여야 합니다.
문자로 된 파일 목록.

자식
git에서 이 후크를 호출하는 일반적인 방법(업데이트 후크 내에서)이 후크를 전달합니다.
refname 뒤에 커밋 목록이 나옵니다. 때문에 자식 개정 목록 일반적으로 대부분의 목록
최근에서 가장 오래된 것으로 알림을 생략하려면 --reverse를 사용하고 싶을 것입니다.
시간 순서. 일반 업데이트 스크립트에서 호출은 다음과 같아야 합니다.

참조 이름=$1
오래된=$2
신규=$3
irkerhook.py --refname=${refname} $(git rev-list --reverse ${old}..${new})

irkerhook.py에 대한 절대 경로가 필요하다는 점을 제외하고.

테스트 목적 및 이전 버전과의 호환성을 위해 irkerhook.py를
인수(포스트 커밋 후크에서와 같이)는 다음과 같이 호출된 것처럼 동작합니다.
이:

irkerhook.py --refname=refs/heads/master HEAD

그러나 이것은 기본이 아닌 분기로 푸시할 때 올바른 결과를 제공하지 않습니다.
베어 레포.

이 후크를 설치하는 일반적인 방법은 실제로 수신 후 후크에 있습니다.
필요한 모든 세부 정보를 제공하고 실패 시 푸시를 중단하지 않습니다. 다음을 사용하십시오
스크립트:

#!/ 빈 / SH

echo "IRC 알림 보내기"
이전 새 참조 이름을 읽는 동안; ~하다
irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new})


편의상 이는 irkerhook-git 도우미 스크립트로 구현됩니다.

환경 설정은 [irker] 섹션의 repo 구성 파일에서 설정할 수 있습니다. 다음은 예입니다.
다음과 같이 보일 수 있습니다.

[이커]
프로젝트 = GPS
색상 = ANSI
채널 = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

"repository" 변수를 설정하면 안 됩니다(동등한 값이 계산됨). 시도 없음
irker.conf 파일을 해석하도록 만들어졌습니다.

"project" 변수의 기본값은 저장소 디렉토리의 기본 이름입니다.
"urlprefix" 변수의 기본값은 "cgit"입니다.

커밋 형식을 제어하는 ​​git 전용 변수 "revformat"이 있습니다.
알림의 식별자입니다. 다음 값을 가질 수 있습니다.

살갗이 벗어 진
커밋의 전체 XNUMX진수 ID

짧은
12진수 ID의 처음 XNUMX자

설명
마지막 태그를 기준으로 설명, 다시 짧게

기본값은 '설명'입니다.

파괴
Subversion에서 irkerhook.py는 값이 있는 --repository 옵션을 허용합니다(절대
Subversion 저장소의 경로 이름) 및 커밋 인수(숫자 개정 수준
커밋). 기본값은 각각 현재 작업 디렉토리와 HEAD입니다.

그러나 다음 사항에 유의하십시오. Subversion 내부의 저장소 인수를 기본값으로 설정
커밋 후 훅; 이것은 Subversion의 한계 때문입니다.
현재 디렉토리는 이러한 후크 내에서 신뢰할 수 없습니다. 대신 값은 두 가지여야 합니다.
Subversion이 해당 후크에 인수로 전달하는 인수. 따라서 일반적인 호출
커밋 후 스크립트는 다음과 같습니다.

REPO=$1
수익=$2
irkerhook.py --repository=$REPO $REV

다른 --variable=value 설정도 명령줄에 지정할 수 있으며 재정의됩니다.
irker.conf 파일의 모든 설정.

프로젝트 변수의 기본값은 저장소의 기본 이름입니다. 기본값
"urlprefix" 변수는 "viewcvs"입니다.

irker.conf 파일이 저장소 루트 디렉토리(체크아웃 디렉토리가 아닌
그러나 "형식" 파일과 같은 내부가 있는 경우) 후크는 변수를 해석합니다.
그것에서 설정. 다음은 이러한 파일의 모양에 대한 예입니다.

# irker 프로젝트에 대한 irkerhook 변수 설정
프로젝트 = irker
채널 = irc://chat.freenode/irker,irc://chat.freenode/commits
TCP = 거짓

이 파일에 "repository" 또는 "commit" 변수를 설정하지 마십시오. 그것은 불행했을 것입니다
결과.

Subversion 전용 변수는 없습니다.

수은제
Mercurial에서 irkerhook.py는 두 가지 방법으로 호출할 수 있습니다.
(선호) 또는 스크립트로.

Python 후크로 호출하려면 "commit" 또는 "incoming" 후크에 collowing을 추가하십시오.
Mercurial 저장소의 선언:

[후크]
Incoming.irker = 파이썬:/경로/to/irkerhook.py:hg_hook

스크립트로 호출될 때 후크는 값과 함께 --repository 옵션을 허용합니다(절대
Mercurial 저장소의 경로 이름) 및 커밋 인수(Mercurial 해시
커밋의 ID 또는 참조). 저장소 인수의 기본값은
현재 디렉토리. 기본 커밋 인수는 현재 팁을 지정하는 '-1'입니다.
범하다.

git의 경우 두 경우 모두 [irker]의 repo hgrc 파일에 모든 변수를 설정할 수 있습니다.
부분. 명령줄 변수=값 인수는 허용되지만 스크립트에는 필요하지 않습니다.
기도. irker.conf 파일을 해석하려는 시도가 없습니다.

"project" 변수의 기본값은 저장소 디렉토리의 기본 이름입니다.
"urlprefix" 변수의 기본값은 "web.baseurl" 구성의 값입니다.
값(있는 경우).

필터링
커밋을 irkerd로 보내기 전에 필터링할 수 있습니다.

를 지정해야 합니다. 필터 cmd irkerhook.py 명령이 실행될 옵션입니다.
이 명령은 커밋의 JSON 표현인 하나의 인수를 수락해야 합니다.
추출기 메타데이터(channels 변수 포함). 명령은 표준으로 내보내야 합니다.
(변경될 가능성이 있는) 메타데이터의 JSON 표현을 출력합니다.

다음은 필터의 예입니다.

#!/usr/빈/환경 파이썬
# 이것은 메타데이터 필터의 간단한 예입니다.
# 커밋 작성자의 이름만 변경하면 됩니다.
#
시스템, json 가져오기
메타데이터 = json.loads(sys.argv[1])

metadata['author'] = "위대하고 강력한 오즈"

인쇄 json.dumps(메타데이터)
# 끝

진행률 및 오류 메시지에 대한 후크에 표준 오류를 사용할 수 있습니다.

옵션


irkerhook.py는 다음 옵션을 사용합니다.

-n
데몬으로의 전송을 억제합니다. 대신 생성된 JSON 요청을 다음으로 덤프하십시오.
표준 출력. 디버깅에 유용합니다.

-V
프로그램 버전을 stdout에 쓰고 종료합니다.

onworks.net 서비스를 사용하여 irkerhook 온라인 사용


무료 서버 및 워크스테이션

Windows 및 Linux 앱 다운로드

Linux 명령

Ad