āĻ‡āĻ‚āĻ°ā§‡āĻœāĻŋāĻĢāĻ°āĻžāĻ¸āĻŋāĻ¸ā§āĻĒā§āĻ¯āĻžāĻ¨āĻŋāĻļ

Ad


āĻ…āĻ¨āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ āĻĢā§‡āĻ­āĻŋāĻ•āĻ¨

irkerhook - āĻ•ā§āĻ˛āĻžāĻ‰āĻĄā§‡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨

āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻž MAC OS āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ°ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ¤ā§‡ irkerhook āĻšāĻžāĻ˛āĻžāĻ¨

āĻāĻŸāĻŋ āĻšāĻ˛ irkerhook āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨ āĻ¯ā§‡āĻŽāĻ¨ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻĢā§‡āĻĄā§‹āĻ°āĻž āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦāĻž MAC OS āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ OnWorks āĻĢā§āĻ°āĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ¤ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻžāĻ°ā§āĻ¯āĻ•ā§āĻ°āĻŽ:

NAME āĻāĻ°


irkerhook - āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻšā§āĻ• āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ irker āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻœāĻžāĻ°āĻŋ āĻ•āĻ°ā§‡

āĻ¸āĻžāĻ‡āĻ¨ā§‹āĻĒāĻŋāĻ¸āĻŋāĻ¸


irkerhook.py [-n][-V] [[--āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛=āĻŽāĻžāĻ¨...]] [[āĻ•āĻŽāĻŋāĻŸ-āĻ†āĻ‡āĻĄāĻŋ...]]

āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻƒ


irkerhook.py āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĒā§‹āĻ¸ā§āĻŸ-āĻ•āĻŽāĻŋāĻŸ āĻšā§āĻ• āĻĨā§‡āĻ•ā§‡ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡
āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ-āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛āĨ¤ āĻāĻ° āĻ•āĻžāĻœ āĻšāĻ˛ āĻŦāĻ°āĻ–āĻžāĻ¸ā§āĻ¤ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž
āĻšā§āĻ• (āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻŽāĻžāĻ˛āĻŋāĻ• āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻĒāĻ›āĻ¨ā§āĻĻ) āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ āĻ¤āĻĨā§āĻ¯ āĻĒāĻžāĻ āĻžāĻ¨
āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ˜ā§‹āĻˇāĻŖāĻž āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ āĻĢāĻ°āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ irkerd-āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤

āĻ•ā§‹āĻ¨ VCS āĻāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡ irkerhook.py āĻāĻ° āĻ¸āĻ āĻŋāĻ• āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻŦāĻ‚ āĻ†āĻšāĻ°āĻŖ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧ
(āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ-āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ) āĻāĻŸāĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻ›ā§‡āĨ¤ āĻšāĻžāĻ°āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ†āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻŸāĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ¤āĻĨā§āĻ¯ āĻ¨āĻŋāĻˇā§āĻ•āĻžāĻļāĻ¨:

1. āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ•āĻ˛āĨ¤

2. Git-āĻāĻ° āĻŽāĻ¤ VCS-āĻ āĻ¯āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻ¸ā§‡āĻŸā§‡āĻŦāĻ˛ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡, āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛
āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— "irkerāĨ¤"

3. āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ­āĻŋāĻ¸āĻŋāĻāĻ¸ā§‡, āĻāĻ•āĻŸāĻŋ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛, "irker.conf", āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻ…āĻ‚āĻļā§‡
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ.

4. āĻĢāĻ°ā§āĻŽā§‡āĻ° āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ --variable=value.

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ VCS-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ:

āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ
āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻžāĻ•ā§ƒāĻ¤ āĻ›ā§‹āĻŸ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤; āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡
āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡ āĻļā§āĻ°ā§āĻ¤ā§‡āĨ¤

āĻ°ā§‡āĻĒā§‹
āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§‡āĻ° āĻļā§€āĻ°ā§āĻˇ-āĻ¸ā§āĻ¤āĻ°ā§‡āĻ° āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻ¨āĻžāĻŽāĨ¤ āĻ¯āĻĻāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻāĻ•āĻŸāĻŋ
āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻ¨āĻžāĻŽā§‡āĻ° āĻ›ā§‹āĻŸ āĻšāĻžāĻ¤ā§‡āĻ° āĻ•āĻĒāĻŋāĨ¤

āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛
āĻāĻ•āĻŸāĻŋ āĻ†āĻ‡āĻ†āĻ°āĻ¸āĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛, āĻŦāĻž āĻāĻ•āĻ‡ āĻ•āĻŽāĻž-āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž, āĻ¯ā§‡ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°ā§‡
āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻž āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĢā§āĻ°āĻŋāĻ¨ā§‹āĻĄ #commits
āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛.

āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°
āĻ¯ā§‡ āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ¨ā§‹āĻŸāĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨-āĻ°āĻŋāĻ˛ā§‡āĻ¯āĻŧāĻŋāĻ‚ irker āĻĄā§‡āĻŽāĻ¨ āĻĨāĻžāĻ•āĻŦā§‡ āĻŦāĻ˛ā§‡ āĻ†āĻļāĻž āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤
āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ "āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻšā§‹āĻ¸ā§āĻŸ"āĨ¤

āĻ‡āĻŽā§‡āĻ‡āĻ˛
āĻ¸ā§‡āĻŸ āĻĨāĻžāĻ•āĻ˛ā§‡, āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ TCP āĻŦāĻž UDP āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ‡āĻŽā§‡āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧ
āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻŽā§‡āĻ‡āĻ˛ ​​āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĨ¤

TCP
āĻ¯āĻĻāĻŋ "āĻ¸āĻ¤ā§āĻ¯", āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ TCP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨; āĻ¯āĻĻāĻŋ "āĻŽāĻŋāĻĨā§āĻ¯āĻž" āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ UDP āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĨā§‡āĻ•ā§‡ "āĻŽāĻŋāĻĨā§āĻ¯āĻž"āĨ¤

urlprefix
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ°ā§‡āĻĒā§‹āĻ° āĻœāĻ¨ā§āĻ¯ URL āĻ‰āĻĒāĻ¸āĻ°ā§āĻ— āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻ–āĻ¨ āĻ•āĻŽāĻŋāĻŸ āĻ†āĻ‡āĻĄāĻŋ āĻāĻŸāĻŋ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻāĻ•āĻŸāĻŋ CGI-āĻ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯āĻž cgit, gitweb āĻŦāĻž āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ•āĻŋāĻ›ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻŽāĻŋāĻŸ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤
āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ gitweb/cgit āĻ¸ā§‡āĻŸāĻ†āĻĒ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻŦā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ "āĻ•ā§‹āĻ¨āĻŸāĻŋāĻ‡ āĻ¨āĻ¯āĻŧ" āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ•āĻŽāĻŋāĻŸ-āĻ URL āĻĢāĻŋāĻ˛ā§āĻĄā§‡āĻ° āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻļāĻ¨
āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĻāĻŽāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡. āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻœāĻžāĻĻā§ āĻŽāĻžāĻ¨ āĻšāĻ˛ "cgit", "gitweb", āĻāĻŦāĻ‚
"viewcvs", āĻ¯āĻž āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻ¯āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ¸ā§‡āĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻŽā§āĻ¯āĻžāĻœāĻŋāĻ• āĻ•ā§āĻ•āĻŋāĻœ "%(āĻšā§‹āĻ¸ā§āĻŸ)s" āĻāĻŦāĻ‚ %(āĻ°ā§‡āĻĒā§‹)s" āĻāĻ‡ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ā§‡ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ āĻ†āĻ—ā§‡āĻ°āĻŸāĻŋ āĻšāĻ˛
āĻšā§‹āĻ¸ā§āĻŸā§‡āĻ° FQDN-āĻ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ irkerhook.py āĻšāĻ˛āĻ›ā§‡; āĻĒāĻ°ā§‡āĻ°āĻŸāĻŋ āĻšāĻ¯āĻŧ
"āĻ°ā§‡āĻĒā§‹" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤āĨ¤

tinyifier
āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ‡āĻ‰āĻ†āĻ°āĻāĻ˛ āĻ¸āĻ‚āĻ•ā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻ¤āĻžāĻ°āĻž āĻ•āĻŽ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŦā§‡
āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĨ¤ āĻ¯āĻĻāĻŋ āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻšāĻ¯āĻŧ "āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ¨āĻ¯āĻŧ", āĻ¨āĻž
āĻ¸āĻ‚āĻ•ā§‹āĻšāĻ¨ā§‡āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ°āĻ™
āĻ¯āĻĻāĻŋ "mIRC" āĻšāĻ¯āĻŧ, āĻāĻŽāĻ†āĻ‡āĻ†āĻ°āĻ¸āĻŋ āĻ°āĻ™ā§‡āĻ° āĻ•ā§‹āĻĄ āĻ¸āĻš āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯āĻĻāĻŋ "ANSI", āĻšāĻžāĻ‡āĻ˛āĻžāĻ‡āĻŸ āĻ•āĻ°ā§āĻ¨
ANSI āĻ•āĻžāĻ˛āĻžāĻ° āĻāĻ¸ā§āĻ•ā§‡āĻĒ āĻ¸āĻŋāĻ•ā§‹āĻ¯āĻŧā§‡āĻ¨ā§āĻ¸ āĻ¸āĻš āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ "āĻ•ā§‹āĻ¨āĻ“ āĻ¨āĻ¯āĻŧ" (āĻ•ā§‹āĻ¨āĻ“ āĻ°āĻ™ āĻ¨ā§‡āĻ‡)āĨ¤
ANSI āĻ•ā§‹āĻĄ Chatzilla, irssi, ircle, āĻāĻŦāĻ‚ BitchX-āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤; āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻŽāĻ†āĻ‡āĻ†āĻ°āĻ¸āĻŋ āĻ•ā§‹āĻĄ
mIRC, XChat, KVirc, āĻ•āĻĨā§‹āĻĒāĻ•āĻĨāĻ¨ āĻŦāĻž āĻ‰āĻ‡āĻšā§āĻ¯āĻžāĻŸā§‡ āĻ¸ā§āĻŦā§€āĻ•ā§ƒāĻ¤āĨ¤

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯: āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ
āĻ¸ā§‡āĻ‡ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ IRC-āĻāĻ° āĻ•āĻžāĻ˛āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻĒā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡
āĻŦāĻŋāĻļā§‡āĻˇāĻžāĻ§āĻŋāĻ•āĻžāĻ°; āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻœāĻžāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨ "/mode -c" āĻ¸āĻš āĻ†āĻĒāĻ¨āĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤
āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ. āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻœāĻžāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ "/msg chanserv āĻ¸ā§‡āĻŸ
MLOCK +nt-slk"āĨ¤

maxchannels
āĻĒā§‚āĻ°ā§āĻŖāĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻĻāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻšā§āĻ•āĻŸāĻŋ āĻ•āĻ¤āĻ—ā§āĻ˛āĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ•āĻ°āĻŦā§‡ āĻ¤āĻž āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ•āĻ°ā§‡
"āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°ā§āĻ¨āĨ¤

āĻāĻ‡ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋ VCS āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻŦāĻž irker.conf āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž; āĻāĻŸāĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻāĻ•āĻŸāĻŋ āĻœāĻžāĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¤āĻŋ āĻ¸āĻžāĻ‡āĻŸā§‡ āĻ¯āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛
āĻŽāĻžāĻ˛āĻŋāĻ•āĻĻā§‡āĻ° āĻ¤āĻžāĻĻā§‡āĻ° āĻĒā§‹āĻ¸ā§āĻŸ-āĻ•āĻŽāĻŋāĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻ¨ā§‡āĻ‡, āĻāĻ•āĻœāĻ¨ āĻ¸āĻžāĻ‡āĻŸ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨
āĻĻā§‚āĻˇāĻŋāĻ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻŽāĻžāĻ˛āĻŋāĻ•āĻĻā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻļāĻŸāĻ—āĻžāĻ¨ āĻ¸ā§āĻĒā§āĻ¯āĻžāĻŽāĻŋāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¨ āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž
2 āĻāĻ° āĻ•āĻŽ, āĻ¤āĻŦā§‡, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻŦā§‹āĻ•āĻž āĻšāĻŦā§‡āĨ¤

cialike
āĻ¯āĻĻāĻŋ āĻ–āĻžāĻ˛āĻŋ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ "āĻ•ā§‹āĻ¨āĻŸāĻŋ" (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ) āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§‹ CIA āĻ†āĻšāĻ°āĻŖāĻ•ā§‡ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°ā§‡
āĻĢāĻ°ā§āĻŽā§‡āĻ° āĻ¸āĻžāĻ°āĻžāĻ‚āĻļā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻĻā§€āĻ°ā§āĻ˜ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž (āĻāĻŽ
āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ)āĨ¤ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸āĻžāĻ‚āĻ–ā§āĻ¯āĻŋāĻ• āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯āĻž āĻĻā§ˆāĻ°ā§āĻ˜ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤āĻŋāĻ• āĻŽāĻžāĻ¨ āĻĻā§‡āĻ¯āĻŧā§ˇ
āĻ…āĻ•ā§āĻˇāĻ°ā§‡ āĻĢāĻžāĻ‡āĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤

āĻĢāĻžāĻ˛āĻ¤ā§ āĻŦāĻž āĻāĻ˛ā§‡āĻŦā§‡āĻ˛ā§‡ āĻ˛ā§‹āĻ•
āĻ—āĻŋāĻŸā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡, āĻāĻ‡ āĻšā§āĻ•āĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ‰āĻĒāĻžāĻ¯āĻŧ (āĻ†āĻĒāĻĄā§‡āĻŸ āĻšā§āĻ•ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨā§‡āĻ•ā§‡) āĻāĻŸāĻŋāĻ•ā§‡ āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡
refname āĻāĻ° āĻĒāĻ°ā§‡ āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĨ¤ āĻ•āĻžāĻ°āĻŖ āĻĢāĻžāĻ˛āĻ¤ā§ āĻŦāĻž āĻāĻ˛ā§‡āĻŦā§‡āĻ˛ā§‡ āĻ˛ā§‹āĻ• rev-āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻ…āĻ§āĻŋāĻ•āĻžāĻ‚āĻļ āĻĨā§‡āĻ•ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
āĻ¸āĻžāĻŽā§āĻĒā§āĻ°āĻ¤āĻŋāĻ• āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻžāĻšā§€āĻ¨āĻ¤āĻŽ, āĻ†āĻĒāĻ¨āĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§‡ --āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻŦā§‡āĻ¨ā§ˇ
āĻ•āĻžāĻ˛āĻžāĻ¨ā§āĻ•ā§āĻ°āĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡. āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡, āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖāĻŸāĻŋ āĻāĻ‡āĻ°āĻ•āĻŽ āĻšāĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤

refname=$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

āĻĒā§āĻ°āĻ¤āĻŋāĻ§ā§āĻŦāĻ¨āĻŋ "āĻ†āĻ‡āĻ†āĻ°āĻ¸āĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻšā§āĻ›ā§‡"
āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ¨āĻ¤ā§āĻ¨ āĻ¨āĻžāĻŽ āĻĒāĻĄāĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ; āĻ•āĻ°āĻ¤ā§‡
irkerhook --refname=${refname} $(git rev-list --reverse ${old}..${new})
āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨

āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻāĻŸāĻŋ irkerhook-git āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻāĻ•āĻŸāĻŋ [irker] āĻŦāĻŋāĻ­āĻžāĻ—ā§‡ āĻ°ā§‡āĻĒā§‹ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻāĻ—ā§āĻ˛āĻŋ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ
āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻ•ā§‡āĻŽāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

[āĻ†āĻĄāĻŧāĻŽā§āĻŦāĻ°āĻĒā§‚āĻ°ā§āĻŖ]
āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ = āĻœāĻŋāĻĒāĻŋāĻāĻ¸āĻĄāĻŋ
āĻ°āĻ™ = ANSI
āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ = irc://chat.freenode.net/gpsd,irc://chat.freenode.net/commits

āĻ†āĻĒāĻ¨āĻžāĻ° "āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ (āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¤ā§āĻ˛ā§āĻ¯ āĻ—āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡)āĨ¤ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻšā§‡āĻˇā§āĻŸāĻž āĻ¨ā§‡āĻ‡
āĻāĻ•āĻŸāĻŋ irker.conf āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

"āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻšāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦā§‡āĻ¸āĻ¨ā§‡āĻŽāĨ¤
"urlprefix" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻšāĻ˛ "cgit"āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ—āĻŋāĻŸ-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛, "āĻ°āĻŋāĻ­āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸ", āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°ā§‡
āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ¤ā§‡ āĻļāĻ¨āĻžāĻ•ā§āĻ¤āĻ•āĻžāĻ°ā§€āĨ¤ āĻāĻŸāĻŋāĻ° āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

āĻ•āĻžāĻāĻšāĻž
āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšā§‡āĻ•ā§āĻ¸ āĻ†āĻ‡āĻĄāĻŋ

āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤
āĻšā§‡āĻ•ā§āĻ¸ āĻ†āĻ‡āĻĄāĻŋāĻ° āĻĒā§āĻ°āĻĨāĻŽ 12āĻŸāĻŋ āĻ…āĻ•ā§āĻˇāĻ°

āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž
āĻļā§‡āĻˇ āĻŸā§āĻ¯āĻžāĻ—ā§‡āĻ° āĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°ā§āĻ¨, āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻž

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšāĻ˛ 'āĻŦāĻ°ā§āĻŖāĻ¨āĻž'āĨ¤

āĻĒāĻ°āĻžāĻ­āĻŦ
āĻ¸āĻžāĻŦāĻ­āĻžāĻ°āĻļāĻ¨ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡, irkerhook.py āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ --repository āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ (āĻĒāĻ°āĻŽ
āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ° āĻĒāĻžāĻĨāĻ¨āĻžāĻŽ) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ (āĻ¸āĻžāĻ‚āĻ–ā§āĻ¯āĻŋāĻ• āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ¸ā§āĻ¤āĻ°
āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ°)āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ¯āĻĨāĻžāĻ•ā§āĻ°āĻŽā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻŦāĻ‚ HEADāĨ¤

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯, āĻ¤āĻŦā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ¯ā§‡ āĻ¨āĻž āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°āĻļāĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ
āĻĒā§‹āĻ¸ā§āĻŸ-āĻ•āĻŽāĻŋāĻŸ āĻšā§āĻ•; āĻāĻŸāĻŋ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°āĻļāĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§āĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻ¯āĻž āĻšāĻšā§āĻ›ā§‡
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻāĻ‡ āĻšā§āĻ•ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¨āĻ¯āĻŧāĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻŽāĻžāĻ¨ āĻĻā§āĻŸāĻŋ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡
āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¯āĻž āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ¸ā§‡āĻ‡ āĻšā§āĻ•ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ†āĻšā§āĻŦāĻžāĻ¨
āĻĒā§‹āĻ¸ā§āĻŸ-āĻ•āĻŽāĻŋāĻŸ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻŦā§‡:

REPO=$1
REV=$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 = āĻŽāĻŋāĻĨā§āĻ¯āĻž

āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ "āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ" āĻŦāĻž "āĻ•āĻŽāĻŋāĻŸ" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž; āĻ¯ā§‡ āĻ…āĻ¸ā§āĻ–ā§€ āĻšāĻŦā§‡
āĻĢāĻ˛āĻžāĻĢāĻ˛.

āĻ•ā§‹āĻ¨ āĻ¸āĻžāĻŦāĻ­āĻžāĻ°ā§āĻ¸āĻ¨-āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ¨ā§‡āĻ‡āĨ¤

āĻ¤āĻ¤ā§āĻĒāĻ°
Mercurial āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡, irkerhook.py āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: āĻšāĻ¯āĻŧ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻšā§āĻ• āĻšāĻŋāĻ¸āĻžāĻŦā§‡
(āĻĒāĻ›āĻ¨ā§āĻĻā§‡āĻ°) āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡āĨ¤

āĻāĻŸāĻŋāĻ•ā§‡ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻšā§āĻ• āĻŦāĻ˛āĻ¤ā§‡, "āĻ•āĻŽāĻŋāĻŸ" āĻŦāĻž "āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚" āĻšā§āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻ˛āĻŋāĻ‚ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨
āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ­āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž:

[āĻšā§āĻ•]
incoming.irker = python:/path/to/irkerhook.py:hg_hook

āĻ¯āĻ–āĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĄāĻžāĻ•āĻž āĻšāĻ¯āĻŧ, āĻšā§āĻ• āĻŽāĻžāĻ¨ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ --repository āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§‡ (āĻĒāĻ°āĻŽ
āĻŽāĻžāĻ°āĻ•āĻŋāĻ‰āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ° āĻĒāĻžāĻĨāĻ¨āĻžāĻŽ) āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻŋāĻŸ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ (āĻŽāĻžāĻ°ā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻšā§āĻ¯āĻžāĻļ
āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻ° āĻ†āĻ‡āĻĄāĻŋ āĻŦāĻž āĻāĻŸāĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸)āĨ¤ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšāĻ˛
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ•āĻŽāĻŋāĻŸ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻšāĻ˛ '-1', āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻŸāĻŋāĻĒ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡
āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋāĻŦāĻĻā§āĻ§

āĻ—āĻŋāĻŸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ°ā§‡āĻĒā§‹ hgrc āĻĢāĻžāĻ‡āĻ˛ā§‡ [irker] āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡
āĻ…āĻ§ā§āĻ¯āĻžāĻ¯āĻŧ. āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āĻ˛āĻžāĻ‡āĻ¨ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛=āĻŽāĻžāĻ¨ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¨āĻž
āĻ†āĻŽāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻāĻ•āĻŸāĻŋ irker.conf āĻĢāĻžāĻ‡āĻ˛ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤

"āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻšāĻ˛ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŦā§‡āĻ¸āĻ¨ā§‡āĻŽāĨ¤
"urlprefix" āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻšāĻ˛ "web.baseurl" āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻŽāĻžāĻ¨
āĻŽāĻžāĻ¨, āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻŦāĻŋāĻĻā§āĻ¯āĻŽāĻžāĻ¨ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚
irkerd āĻ āĻĒāĻžāĻ āĻžāĻ¨ā§‹āĻ° āĻ†āĻ—ā§‡ āĻ•āĻŽāĻŋāĻŸ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ filtercmd āĻ…āĻĒāĻļāĻ¨, āĻ¯ā§‡āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻŦā§‡ irkerhook.py āĻ°āĻžāĻ¨ āĻšāĻŦā§‡āĨ¤
āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ†āĻ°ā§āĻ—ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤, āĻ¯āĻž āĻ•āĻŽāĻŋāĻŸ āĻāĻŦāĻ‚ āĻāĻ° JSON āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ
āĻāĻ•ā§āĻ¸āĻŸā§āĻ°āĻžāĻ•ā§āĻŸāĻ° āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž (āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ¸āĻš)āĨ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ—āĻ¤ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤
āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ JSON āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋāĻ§āĻŋāĻ¤ā§āĻŦ (āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤) āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž.

āĻ¨ā§€āĻšā§‡ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°:

#!/usr/bin/env āĻĒāĻžāĻ‡āĻĨāĻ¨
# āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻšā§āĻ› āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĨ¤
# āĻāĻŸāĻŋ āĻ¯āĻž āĻ•āĻ°ā§‡ āĻ¤āĻž āĻšāĻ˛ āĻ•āĻŽāĻŋāĻŸā§‡āĻ° āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻ¨āĻžāĻŽ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĨ¤
#
sys, json āĻ†āĻŽāĻĻāĻžāĻ¨āĻŋ āĻ•āĻ°ā§āĻ¨
āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž = json.loads(sys.argv[1])

āĻŽā§‡āĻŸāĻžāĻĄāĻžāĻŸāĻž['author'] = "āĻĻā§āĻ¯ āĻ—ā§āĻ°ā§‡āĻŸ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻĄ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ°āĻĢā§āĻ˛ āĻ“āĻœ"

āĻ›āĻžāĻĒāĻžāĻ¨ā§‹ json.dumps(āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž)
# āĻļā§‡āĻˇ

āĻĒā§āĻ°āĻ—āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻšā§āĻ•ā§‡ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĨ¤

āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ


irkerhook.py āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋ āĻ¨ā§‡āĻ¯āĻŧ:

-n
āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŽāĻ¨ā§‡ āĻ¸āĻ‚āĻ•ā§āĻ°āĻŽāĻŖ āĻĻāĻŽāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻž JSON āĻ…āĻ¨ā§āĻ°ā§‹āĻ§āĻŸāĻŋ āĻĄāĻžāĻŽā§āĻĒ āĻ•āĻ°ā§āĻ¨
āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ†āĻ‰āĻŸāĻĒā§āĻŸāĨ¤ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻ°āĻ•āĻžāĻ°ā§€āĨ¤

-V
stdout āĻāĻŦāĻ‚ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ˛āĻŋāĻ–ā§āĻ¨āĨ¤

onworks.net āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ irkerhook āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨


āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨

āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœ āĻāĻŦāĻ‚ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻĒ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ

  • 1
    4ti2-āĻœā§‡āĻ¨āĻŽāĻĄā§‡āĻ˛
    4ti2-āĻœā§‡āĻ¨āĻŽāĻĄā§‡āĻ˛
    4ti2 - āĻŦā§€āĻœāĻ—āĻŖāĻŋāĻ¤ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ,
    āĻœā§āĻ¯āĻžāĻŽāĻŋāĻ¤āĻŋāĻ• āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻžāĻ˛ā§ āĻ†āĻ›ā§‡
    āĻ˛āĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸...
    4ti2-āĻœā§‡āĻ¨āĻŽāĻĄā§‡āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨
  • 2
    4ti2-gensymm
    4ti2-gensymm
    4ti2 - āĻŦā§€āĻœāĻ—āĻŖāĻŋāĻ¤ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ,
    āĻœā§āĻ¯āĻžāĻŽāĻŋāĻ¤āĻŋāĻ• āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻžāĻ˛ā§ āĻ†āĻ›ā§‡
    āĻ˛āĻŋāĻ¨āĻŋāĻ¯āĻŧāĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸...
    4ti2-gensymm āĻšāĻžāĻ˛āĻžāĻ¨
  • 3
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻ˛āĻŋāĻ¸ā§āĻŸāĻ†āĻ‰āĻŸ
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻ˛āĻŋāĻ¸ā§āĻŸāĻ†āĻ‰āĻŸ
    crashlistout - āĻŽā§‡āĻ‡āĻ˛ ​​āĻĢāĻžāĻ‡āĻ˛ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž
    āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻŦā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ›āĻŋ
    āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ ...
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻ˛āĻŋāĻ¸ā§āĻŸāĻ†āĻ‰āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨
  • 4
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻŽā§‡āĻ‡āĻ˛
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻŽā§‡āĻ‡āĻ˛
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻŽā§‡āĻ‡āĻ˛ - āĻāĻ•āĻŸāĻŋ āĻĢāĻŋāĻĄā§‹āĻ¨ā§‡āĻŸ *.āĻœā§‡āĻāĻāĻŽ āĻāĻŦāĻ‚ āĻāĻŽāĻāĻ¸āĻœāĻŋ
    āĻŸāĻ¸āĻžāĻ°...
    āĻ•ā§āĻ°ā§āĻ¯āĻžāĻļāĻŽā§‡āĻ‡āĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨
  • 5
    g.gui.iclassgrass
    g.gui.iclassgrass
    g.gui.iclass - āĻ¤āĻ¤ā§āĻ¤ā§āĻŦāĻžāĻŦāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸā§āĻ˛
    āĻšāĻŋāĻ¤ā§āĻ° āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻļā§āĻ°ā§‡āĻŖā§€āĻŦāĻŋāĻ­āĻžāĻ—āĨ¤
    āĻāĻ•āĻŸāĻŋ āĻœāĻ¨ā§āĻ¯ āĻŦāĻ°ā§āĻŖāĻžāĻ˛ā§€ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡
    āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ•ā§‡ āĻ°ā§‚āĻĒāĻ°ā§‡āĻ–āĻž āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšāĻŋāĻ¤ā§āĻ°
    āĻ†āĻ—ā§āĻ°āĻšā§‡āĻ° āĻ…āĻžā§āĻšāĻ˛...
    g.gui.iclassgrass āĻšāĻžāĻ˛āĻžāĻ¨
  • 6
    g.gui.mapswipegrass
    g.gui.mapswipegrass
    g.gui.mapswipe - āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­āĻ­āĻžāĻŦā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§‡
    āĻāĻ•āĻŸāĻŋ āĻĻā§ƒāĻļā§āĻ¯āĻŽāĻžāĻ¨āĻ¤āĻž āĻŦāĻžāĻ° āĻ¸ā§‹āĻ¯āĻŧāĻžāĻ‡āĻĒ āĻ•āĻ°ā§‡ āĻĻā§āĻŸāĻŋ āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ°āĨ¤
    āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ: āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ, GUI, āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ ...
    g.gui.mapswipegrass āĻšāĻžāĻ˛āĻžāĻ¨
  • āĻ†āĻ°āĻ“ Âģ

Ad