เด‡เด‚เด—เตเดฒเต€เดทเตเดซเตเดฐเดžเตเดšเตเดธเตเดชเดพเดจเดฟเดทเต

Ad


OnWorks เดซเต†เดตเดฟเด•เตเด•เต‹เตบ

gitweb - เด•เตเดฒเต—เดกเดฟเตฝ เด“เตบเดฒเตˆเดจเดฟเตฝ

เด‰เดฌเตเดฃเตเดŸเต เด“เตบเดฒเตˆเตป, เดซเต†เดกเต‹เดฑ เด“เตบเดฒเตˆเตป, เดตเดฟเตปเดกเต‹เดธเต เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ gitweb เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

Ubuntu Online, Fedora Online, Windows online emulator เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเด™เตเด™เดจเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต—เดœเดจเตเดฏ เด“เตบเดฒเตˆเตป เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เด•เดฎเดพเตปเดกเต gitweb เด†เดฃเดฟเดคเต.

เด‰เดฌเตเดฃเตเดŸเตเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดซเต†เดกเต‹เดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดตเดฟเตปเดกเต‹เดธเต เดธเดฟเดฎเตเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• MACOS เดธเดฟเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

เดชเดŸเตเดŸเดฟเด•:

NAME


gitweb - Git เดตเต†เดฌเต เด‡เดจเตเดฑเตผเดซเต‡เดธเต (เดตเต†เดฌเต เดซเตเดฐเดฃเตเดŸเตโ€ŒเดŽเตปเดกเต เดฎเตเดคเตฝ Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดตเดฐเต†)

เดธเดฟเดจเต‹เดชเตเดธเดฟเดธเต


gitweb เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป, เดฑเตบ เดšเต†เดฏเตเดฏเตเด• git-instaweb(1) เด’เดฐเต Git เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเด‚
เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเต†เดฌเต เดธเต†เตผเดตเตผ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•, เด•เต‚เดŸเดพเดคเต† gitweb-เดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดตเต†เดฌเต เดฌเตเดฐเต—เดธเตผ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•.

เดตเดฟเดตเดฐเดฃเด‚


Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพเด•เตเด•เต Gitweb เด’เดฐเต เดตเต†เดฌเต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดจเตฝเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเตเดฑเต† เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเดฟเตฝ เด‡เดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต:

เดชเตŠเดคเตเดตเดพเดฏ เดฑเต‚เดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เด•เดพเดฃเตเดจเตเดจเต.

ยท เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดŸเต† เด“เดฐเต‹ เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดตเตเด‚ เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

ยท เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเต† เดซเดฏเดฒเตเด•เดณเตเดŸเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เดเดคเต เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดฒเตเด‚ เด•เดพเดฃเตเดจเตเดจเต.

ยท เดฌเตเดฐเดพเดžเตเดšเตเด•เดณเตเดŸเต† เดฑเดฟเดตเดฟเดทเตป เดฒเต‹เด—เต, เดซเดฏเดฒเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเตเดŸเต†เดฏเตเด‚ เดšเดฐเดฟเดคเตเดฐเด‚ เดŽเดจเตเดจเดฟเดต เด•เดพเดฃเตเดฎเตเดชเต‹เตพ เดŽเดจเตเดคเดพเดฏเดฟเดฐเตเดจเตเดจเตเดตเต†เดจเตเดจเต เด•เดพเดฃเตเด•
เดŽเดชเตเดชเต‹เตพ, เด†เดฐเดพเตฝ เดฎเดพเดฑเตเดฑเดฟ.

ยท เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดซเดฏเดฒเดฟเดจเตเดฑเต† เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ/เดตเตเดฏเดพเด–เตเดฏเดพเดจ เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพ เด•เดพเดฃเตเดจเตเดจเต (เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ).

ยท เดเดคเต เดฌเตเดฐเดพเดžเตเดšเดฟเดจเตเด‚ เดตเต‡เดฃเตเดŸเดฟ เด•เดฎเตเดฎเดฟเดฑเตเดฑเตเด•เดณเตเดŸเต† RSS, Atom เดซเต€เดกเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เดซเต€เดกเตเด•เตพ เด†เด•เตเดจเตเดจเต
เด†เดงเตเดจเดฟเด• เดตเต†เดฌเต เดฌเตเดฐเต—เดธเดฑเตเด•เดณเดฟเตฝ เดธเตเดตเดฏเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚.

ยท เด’เดฐเต เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดคเตเดคเดฟเตฝ เดฎเดพเดฑเตเดฑเด‚ เดตเดฐเตเดคเตเดคเดฟเดฏเดคเต†เดฒเตเดฒเดพเด‚ เด•เดพเดฃเตเด•เดฏเตเด‚ เด’เดฐเต เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดฒเต‚เดŸเต† เด’เดฐเต เดšเตเดตเดŸเตเดตเต†เดชเตเดชเต เดจเดŸเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
เดธเดฎเดฏเด‚, เดถเต‡เด–เดฐเดคเตเดคเดฟเดจเตเดฑเต† เดšเดฐเดฟเดคเตเดฐเด‚ เดตเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

ยท เดคเดฟเดฐเดฏเตฝ เดชเดฆเดตเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจ เด•เดฎเตเดฎเดฟเดฑเตเดฑเต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ.

เด•เดพเดฃเตเด• http://git.kernel.org/?p=git/git.git;a=tree;f=gitweb or
http://repo.or.cz/w/git.git/tree/HEAD:/gitweb/ gitweb เดธเต‹เดดเตโ€Œเดธเต เด•เต‹เดกเดฟเดจเดพเดฏเดฟ, เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดคเดคเต
gitweb เดคเดจเตเดจเต†.

เด•เต‡เดพเตบเดซเดฟเด—เดฑเต‡เดทเตป


เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเดฒเต‚เดŸเต† gitweb-เดจเตเดฑเต† เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดตเดฟเดง เดตเดถเด™เตเด™เตพ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚
gitweb_config.perl or /etc/gitweb.conf. เด•เดพเดฃเตเด• gitweb.conf(5) เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เต.

เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ
เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ Gitweb-เดจเต เด•เดพเดฃเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เดˆ เดธเด‚เดญเดฐเดฃเดฟเด•เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต
เดŽเดฒเตเดฒเดพเด‚ เดฒเต‹เด•เตเด•เตฝ เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดชเตŠเดคเตเดตเดพเดฏ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดฑเต‚เดŸเตเดŸเต เดชเด™เตเด•เดฟเดŸเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเดพเดฏเดคเต เดŽเดฒเตเดฒเดพเด‚ a-เดจเต เด•เต€เดดเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚
เดธเดฟเด‚เด—เดฟเตพ เดชเดพเดฐเดจเตเดฑเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ (เดŽเดจเตเดจเดพเตฝ "เดตเดฟเดชเตเดฒเดฎเดพเดฏ เดตเต†เดฌเต เดธเต†เตผเดตเตผ เดธเดœเตเดœเต€เด•เดฐเดฃเด‚" เดตเดฟเดญเดพเด—เด‚, "เดตเต†เดฌเตเดธเต†เตผเดตเตผ" เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เด•เดพเดฃเตเด•
เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดฑเต‚เดŸเตเดŸเต" เด‰เดชเดตเดฟเดญเดพเด—เดคเตเดคเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป).

เดžเด™เตเด™เดณเตเดŸเต† $projectroot = '/path/to/parent/directory';

$projectroot เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเตเดฅเดฟเดฐ เดฎเต‚เดฒเตเดฏเด‚ /เดชเดฌเต/เดœเดฟเดฑเตเดฑเต. Gitweb เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เดคเต เดฎเดพเดฑเตเดฑเดพเด‚
GITWEB_PROJECTROOT เดฌเดฟเตฝเดกเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเดดเดฟ.

เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ $projectroot-เดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดŽเดฒเตเดฒเดพ Git เดถเต‡เด–เดฐเดฃเด™เตเด™เดณเตเด‚ เดฆเตƒเดถเตเดฏเดตเตเด‚ gitweb-เดจเต เดฒเดญเตเดฏเดฎเดพเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต.
$projectroot เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดธเตโ€Œเด•เดพเตป เดšเต†เดฏเตโ€Œเดคเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดชเตเดฐเตŠเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเต
Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ (เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เตพ เด•เต‚เดŸเตเดคเตฝ เด•เตƒเดคเตเดฏเดคเดฏเตเดณเตเดณเดคเดพเด•เดพเตป; gitweb-เดจเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒ a
เดชเตเดฐเดตเตผเดคเตเดคเดจ เดฎเต‡เด–เดฒ, เด•เต‚เดŸเดพเดคเต† "เดจเด—เตเดจเดฎเดพเดฏ" เดถเต‡เด–เดฐเดฃเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดเดฑเตเดฑเดตเตเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต).

เด—เดฟเดฑเตเดฑเตโ€Œเดตเต†เดฌเดฟเดฒเต† เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดŸเต† เดชเต‡เดฐเต เด…เดคเดฟเดจเตเดฑเต† $GIT_DIR (เด…เดคเดฟเดจเตเดฑเต† เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต) เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดคเดฏเดพเดฃเต.
$projectroot เด†เดชเต‡เด•เตเดทเดฟเด•เด‚. เด…เดคเดฟเดจเดพเตฝ $repo เดŽเดจเตเดจ เดถเต‡เด–เดฐเด‚ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚
"$projectroot/$repo".

เดชเตเดฐเต‡เดพเดœเด•เตเดŸเตเด•เตพ เดชเดŸเตเดŸเดฟเด• เดซเดฏเดฒเต เดซเต‡เดพเตผเดฎเดพเดฑเตเดฑเต
เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเตเด•เดพเตป เดšเต†เดฏเตเดคเตเด•เตŠเดฃเตเดŸเต gitweb repositories เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดชเด•เดฐเด‚
$projectroot, เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฆเตƒเดถเตเดฏเดฎเดพเดฏ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต เดจเตฝเด•เดพเด‚
$projects_list เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตโ€Œเดฑเตเดฑเต เด‰เดณเตเดณ เด’เดฐเต เดชเตเดฒเต†เดฏเดฟเตป เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป (เดšเดฟเดฒเดคเต เด…เดงเดฟเด•เดฎเดพเดฏเดฟ
เดตเดฟเดตเดฐเด‚).

เดˆ เดซเดฏเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต:

เด’เดฐเต เดตเดฐเดฟเดฏเดฟเตฝ เด’เดฐเต เดฑเต†เด•เตเด•เต‹เตผเดกเต (เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต / เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตเด•เต) เดฒเตˆเตป เดคเตเดŸเตผเดšเตเดšเดฏเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ
(เดจเตเดฏเต‚เดฒเตˆเตป เดฐเด•เตเดทเดชเตเดชเต†เดŸเตฝ).

ยท เดฒเต€เดกเดฟเด‚เด—เตเด‚ เดชเดฟเดจเตเดจเดฟเดฒเตเดณเตเดณเดคเตเดฎเดพเดฏ เดตเตˆเดฑเตเดฑเตโ€Œเดธเตโ€Œเดชเต‡เดธเต เด…เดตเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.

ยท เดตเตˆเดฑเตเดฑเตเดธเตเดชเต‡เดธเต เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดš เดซเต€เตฝเดกเตเด•เตพ; เดตเตˆเดฑเตเดฑเตโ€Œเดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเดฟเดจเตเดฑเต† เดเดคเต เด“เดŸเตเดŸเดตเตเด‚ เดซเต€เตฝเดกเต เดธเต†เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
(เดชเต‡เดณเดฟเดจเตเดฑเต† "เดธเตเดชเตเดฒเดฟเดฑเตเดฑเต(" ", $เดฒเตˆเตป)" เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ).

ยท RFC 3986, เดตเดฟเดญเดพเด—เด‚ 2.1 (เดถเดคเดฎเดพเดจเด‚-เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต), เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเดฐเดฟเดทเตเด•เดฐเดฟเดšเตเดš URI เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต เดซเต€เตฝเดกเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.
เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เด•เตเดตเดฑเดฟ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต" (เด•เดพเดฃเตเด•
http://en.wikipedia.org/wiki/Query_string#URL_เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต), เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เด† เดŽเดธเตเดชเดฟเดฏเดพเดฃเต
(" ") "+" เด†เดฏเดฟ เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต (เด…เดคเดฟเดจเดพเตฝ "+" เดŽเดจเตเดจเดคเต เดถเดคเดฎเดพเดจเด‚ เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดพเดฃเต).

เดฑเดฟเดธเตผเดตเต เดšเต†เดฏเตเดค เดชเตเดฐเดคเต€เด•เด™เตเด™เตพ เด‡เดตเดฏเดพเดฃเต: "%" (เดŽเตปเด•เต‹เดกเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต), "+" (SPACE เดŽเตปเด•เต‹เดกเต เดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚),
SP, TAB, LF เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเต† Perl-เตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดตเตˆเดฑเตเดฑเตโ€Œเดธเตโ€Œเดชเต‡เดธเต เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเตเด‚ (เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต
เด’เดฐเต เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเดฒเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดซเต€เตฝเดกเตเด•เตพ).

ยท เดจเดฟเดฒเดตเดฟเตฝ เด…เด‚เด—เต€เด•เตƒเดค เดซเต€เตฝเดกเตเด•เตพ เด‡เดตเดฏเดพเดฃเต:


$projectroot เดจเต เด†เดชเต‡เด•เตเดทเดฟเด•เดฎเดพเดฏ GIT_DIR เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเดพเดค


เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด‰เดŸเดฎเดฏเดพเดฏเดฟ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดตเต†เดฏเดฟเดฒเดคเตเดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดชเต‡เดฐเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดฎเต†เดฏเดฟเตฝ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฐเดฃเตเดŸเตเด‚

Project_index เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เด‡เตปเดกเด•เตเดธเต เดซเดฏเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ (the เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดฌเดจเตเดงเด‚
เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเต‡เดœเดฟเตฝ) gitweb-เตฝ เดจเดฟเดจเตเดจเต เดจเต‡เดฐเดฟเดŸเตเดŸเต; เด‡เดคเตเด‚ เด•เดพเดฃเตเด• "เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดชเดฆเตเดงเดคเดฟเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต
เดคเดพเดดเต†เดฏเตเดณเตเดณ gitweb" เดตเดฟเดญเดพเด—เด‚.

เด‰เดฆเดพเดนเดฐเดฃ เด‰เดณเตเดณเดŸเด•เตเด•เด‚:

foo.git เดœเต‹+เด†เตผ+เดนเดพเด•เตเด•เตผ+[เด‡เดฎเต†เดฏเดฟเตฝ เดชเดฐเดฟเดฐเด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต]>
foo/bar.git O+W+Ner+[เด‡เดฎเต†เดฏเดฟเตฝ เดชเดฐเดฟเดฐเด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต]>

เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดˆ เดซเดฏเตฝ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดเดคเตŠเด•เตเด•เต† เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจ เดชเดฆเตเดงเดคเดฟเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดชเต‡เดœเดฟเตฝ (เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดถเดฐเดฟเดฏเดพเดฏเดฟ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸ Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดฐเตฝ เดšเต‚เดฃเตเดŸเดพเดคเตเดค เดŽเตปเดŸเตเดฐเดฟเด•เตพ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เดฟเดฒเตเดฒ
gitweb เดตเดดเดฟ). เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดฒเดฟเดธเตโ€Œเดฑเตเดฑเต เดชเต‡เดœเดฟเตฝ เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดฆเตƒเดถเตเดฏเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เดคเต เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚
เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚ เด’เดฐเต gitweb URL เด•เตˆเด•เตŠเดฃเตเดŸเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟ. $strict_export เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†
เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ (เด•เดพเดฃเตเด• gitweb.conf(5)) เดฏเดฅเดพเตผเดคเตเดฅ เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดฎเดพเดคเตเดฐเด‚ เด•เดพเดฃเดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเด‚
เด…เดตเดฒเต‹เด•เดจ เดชเต‡เดœเดฟเดฒเตเด‚ เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เด…เดคเดพเดฏเดคเต, เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดฒเดฟเดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพ เดฎเดพเดคเตเดฐเด‚
เดซเดฏเตฝ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต).

เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต เดชเดฆเตเดงเดคเดฟเด•เตพ เดชเดŸเตเดŸเดฟเด• เด‰เดชเดฏเต‡เดพเด—เดฟเดšเตเดšเต gitweb
GITWEB_CONFIG-เดจเต เด…เดคเดฟเดจเตเดฑเต† เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ Makefile เดฎเต‚เดฒเตเดฏเดฎเตเดฃเตเดŸเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต gitweb_config.perl.
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด‡เดŸเตเด• gitweb_make_index.perl เดซเดฏเตฝ:

read_config_file("gitweb_config.perl");
$projects_list = $projectroot;

เดคเตเดŸเตผเดจเตเดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•
GITWEB_LIST เดฌเดฟเตฝเดกเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ gitweb config-เดฒเต† $projects_list เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ):

#!/ bin / sh

GITWEB_CONFIG="gitweb_make_index.perl" เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•
GATEWAY_INTERFACE="CGI/1.1" เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•
HTTP_ACCEPT="*/*" เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•
REQUEST_METHOD="GET" เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•
QUERY_STRING="a=project_index" เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด•

perl -- /var/www/cgi-bin/gitweb.cgi

เดˆ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดšเตเดšเต เด…เดคเดฟเดจเตเดฑเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•. เดˆ เดซเดฏเตฝ เดชเดฟเดจเตเดจเต€เดŸเต เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เดฒเดฟเดธเตเดฑเตเดฑเต เดซเดฏเตฝ, เด…เดคเดพเดฏเดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต $projects_list เด…เดคเดฟเดจเตเดฑเต† เดซเดฏเตฝเดจเดพเดฎเดฎเดพเดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดพเดฃเต.

เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดชเตเดฐเดตเต‡เดถเดจเด‚ เดฒเต‡เด•เตเด•เต Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ $projectroot-เดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดŽเดฒเตเดฒเดพ Git เดถเต‡เด–เดฐเดฃเด™เตเด™เดณเตเด‚ เดฆเตƒเดถเตเดฏเดตเตเด‚ gitweb-เดจเต เดฒเดญเตเดฏเดฎเดพเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต.
เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เด—เดฟเดฑเตเดฑเตโ€Œเดตเต†เดฌเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเด‚.

ยท "เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เดซเดฏเตฝ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต" เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดเดคเตŠเด•เตเด•เต† เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚
เด†เด•เตเดจเตเดจเต เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจ เดชเตเดฐเตŠเดœเด•เตโ€Œเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เดซเดฏเดฒเดฟเดฒเต† เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚
$projects_list gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดšเต‚เดฃเตเดŸเดฟเด•เตเด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต. $strict_export เดธเต†เดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚,
เดชเตเดฐเตŠเดœเด•เตโ€Œเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เดซเดฏเตฝ เดเดคเตŠเด•เตเด•เต† เดถเต‡เด–เดฐเดฃเด™เตเด™เดณเดพเดฃเต†เดจเตเดจเต เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ เดฒเดญเตเดฏเดฎเดพเดฏ เด…เดคเตเดชเต‡เดพเดฒเต†.

ยท เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด—เดฟเดฑเตเดฑเตโ€Œเดตเต†เดฌเต เดฒเดฟเดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเตป เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดคเดต เด•เดพเดฃเดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚
repositories, gitweb config เดซเดฏเดฒเดฟเดฒเต† $export_ok เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเดดเดฟ; เด•เดพเดฃเตเด• gitweb.conf(5)
เดฎเดพเตปเดชเต‡เดœเต. เด‡เดคเต true เดŽเดจเตเดจเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดซเดฏเดฒเดฟเดจเต เดชเต‡เดฐเต เดจเตฝเด•เดฟเดฏเดพเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ gitweb เดถเต‡เด–เดฐเดฃเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เต‚
$export_ok เด…เดคเดฟเดจเตเดฑเต† เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต (เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เตเด•เต เดฎเดพเดœเดฟเด•เต เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ
$export_ok).

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต git-demon(1) เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ (--export-all เด“เดชเตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ) เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต
เด‰เดณเตเดณ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เดฎเดพเดคเตเดฐเด‚ เดตเดฒเดฟเด•เตเด•เตเดจเตเดจเต git-demon-export-ok เดซเดฏเตฝ. เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต

เดžเด™เตเด™เดณเตเดŸเต† $export_ok = "git-daemon-export-ok";

เด—เดฟเดฑเตเดฑเตโ€Œเดตเต†เดฌเต เดทเต‹ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเดญเตเดฏเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดถเต‡เด–เดฐเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดตเต‡เดถเดจเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•
git:// เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เดตเดดเดฟ.

เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เด’เดฐเต เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ perl subroutine เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เดธเดพเดงเดฟเด•เตเด•เตเด‚
เด“เดฐเต‹ เดถเต‡เด–เดฐเดคเตเดคเดฟเดจเตเด‚ เด…เดคเต เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเดพเดจเดพเด•เตเดฎเต‹ เดŽเดจเตเดจเต เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป. เดธเดฌเตเดฑเต‚เดŸเตเดŸเต€เดจเต เด’เดฐเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ (เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ) เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดชเดพเดค เด…เดคเดฟเดจเตเดฑเต† เดเด• เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฏเดฟ (เด…เดคเดพเดฏเดคเต
"$projectroot/$project").

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต mod_perl เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เต‚เดŸเดพเดคเต† HTTP เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ
เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดš เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดนเตเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เดซเดฏเดฒเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เด…เดงเดฟเด•เดพเดฐเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เด†เด•เตเดธเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•:

$export_auth_hook = เด‰เดช {
Apache2 เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• ::SubRequest ();
Apache2 เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•:: Const -compile => qw(HTTP_OK);
เดŽเดจเตเดฑเต† $เดชเดพเดคเตเดคเต = "$_[0]/HEAD";
เดŽเดจเตเดฑเต† $r = Apache2::RequestUtil->เด…เดญเตเดฏเตผเดคเตเดฅเดจ;
เดŽเดจเตเดฑเต† $sub = $r->lookup_file($path);
$sub->เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต eq $path เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•
&& $sub->เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต == Apache2::Const::HTTP_OK;
};

เด“เดฐเต‹-เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ gitweb เด•เต‡เดพเตบเดซเดฟเด—เดฑเต‡เดทเตป
เดŽเดจเตเดจเดคเดฟเตฝ เดซเดฏเตฝ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต gitweb-เตฝ เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเตเดฏเด•เตเดคเดฟเด—เดค เดถเต‡เด–เดฐเดฃเด™เตเด™เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ GIT_DIR
Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเตเดŸเต†, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดšเดฟเดฒ เดฑเดฟเดชเตเดชเต‹ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ (เด‡เตป GIT_DIR/config, เด•เดพเดฃเตเด•
git-config(1)).

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเดฏเดฒเตเด•เตพ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚:

README.html
gitweb เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต "เดธเด‚เด—เตเดฐเดนเด‚" เดชเต‡เดœเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต html เดซเดฏเตฝ (HTML เดถเด•เดฒเด‚)
เด…เด•เดคเตเดคเต เดฌเตเดฒเต‹เด•เตเด•เต เด˜เดŸเด•เด‚. เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏ เดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เดฒเดฟเด™เตเด•เตเด•เตพ เดจเตฝเด•เตเด• (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดนเต‹เด‚เดชเต‡เดœเดฟเดฒเต‡เด•เตเด•เต), เดฎเตเดคเดฒเดพเดฏเดต. XSS เด†เดฃเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเต เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเต‚
เดชเตเดฐเดคเดฟเดฐเต‹เดงเด‚ เด“เดซเดพเดฃเต ($prevent_xss เดคเต†เดฑเตเดฑเดพเดฃเต, เด•เดพเดฃเตเด• gitweb.conf(5)); เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเดณเตเดณ เด’เดฐเต เดฎเดพเตผเด—เตเด—เด‚
XSS เดชเตเดฐเดฟเดตเตปเดทเตป เด“เดฃเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏเดฟ README เดŽเดจเตเดจเดคเต เดญเดพเดตเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚.

เดตเดฟเดตเดฐเดฃเด‚ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ gitweb.description)
เดนเตเดฐเดธเตเดต (เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเต เดชเต‡เดœเดฟเตฝ $projects_list_description_width เด†เดฏเดฟ เดšเตเดฐเตเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดเดคเต
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ 25 เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเดพเดฃเต; เด•เดพเดฃเตเด• gitweb.conf(5)) เด’เดฐเต เดชเดฆเตเดงเดคเดฟเดฏเตเดŸเต† เด’เดฑเตเดฑเดตเดฐเดฟ เดตเดฟเดตเดฐเดฃเด‚
(เด’เดฐเต เดธเด‚เดญเดฐเดฃเดฟเดฏเตเดŸเต†). เดชเตเดฒเต†เดฏเดฟเตป เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดซเดฏเตฝ; HTML เดฐเด•เตเดทเดชเตเดชเต†เดŸเตเด‚. เดธเตเดตเดคเดตเต‡ เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟ

เดชเต‡เดฐเดฟเดฒเตเดฒเดพเดคเตเดค เดถเต‡เด–เดฐเด‚; gitweb-เดจเต เดชเต‡เดฐเดฟเดŸเดพเตป เดˆ เดซเดฏเตฝ เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•.

เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต
/usr/share/git-core/templates/. เดจเดฟเด™เตเด™เตพเด•เตเด•เต gitweb.description เดฑเดฟเดชเตเดชเต‹ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ, เดชเด•เตเดทเต‡ เดซเดฏเตฝ เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดฟเดญเดพเด—เด‚ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ gitweb.category)
เด’เดฐเต เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเดฟเดจเตเดฑเต† เดธเดฟเด‚เด—เดฟเตพ เดฒเตˆเตป เดตเดฟเดญเดพเด—เด‚, เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เด—เตเดฐเต‚เดชเตเดชเตเดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
$projects_list_group_categories เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟ. เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ (เดซเดฏเดฒเตเด‚ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด‚
เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด…เดธเดพเดจเตเดจเดฟเดฆเตเดงเตเดฏเด‚), เดตเตผเด—เตเด—เต€เด•เดฐเดฟเด•เตเด•เดพเดคเตเดค เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เตพ $project_list_default_category เดŽเดจเตเดจเดคเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต
เดตเดฟเดญเดพเด—เด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต gitweb.category เดฑเดฟเดชเตเดชเต‹ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เดชเด•เตเดทเต‡ เดซเดฏเตฝ
เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเดจเตเดจเต.

เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ $projects_list_group_categories เด•เต‚เดŸเดพเดคเต†
$project_list_default_category เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต gitweb.conf(5)

cloneurl (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดฎเต‚เดฒเตเดฏเดฎเตเดณเตเดณ gitweb.url)
เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ URL เด‰เดณเตเดณ เดซเดฏเตฝ (เด•เตเดฒเต‹เดฃเดฟเดจเตเด‚ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต), เด“เดฐเต‹ เดตเดฐเดฟเดฏเดฟเดฒเตเด‚ เด’เดจเตเดจเต. เตฝ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดชเดฆเตเดงเดคเดฟ เดธเด‚เด—เตเดฐเดน เดชเต‡เดœเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดฎเต‚เดฒเตเดฏเดฎเตเดณเตเดณ gitweb.url เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เด…เดคเดฟเดจเดพเดฏเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ, เดชเด•เตเดทเต‡ เดซเดฏเตฝ เดฎเตเตปเด—เดฃเดจ เดจเตฝเด•เตเดจเตเดจเต.

เด‡เดคเต เด†เด—เต‹เดณ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ @git_base_url_list-เดจเตเดฑเต† เด“เดฐเต‹-เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ / เดชเดคเดฟเดชเตเดชเดพเดฃเต
gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ (เด•เดพเดฃเตเด• gitweb.conf(5)).

gitweb.owner
เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต gitweb.owner เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.
เด‰เดŸเดฎ. เด‡เดคเต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเดฒเตเด‚ เดธเด‚เด—เตเดฐเดน เดชเต‡เดœเดฟเดฒเตเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚.

เด‡เดคเต เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดซเดฏเตฝเดธเดฟเดธเตเดฑเตเดฑเด‚ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเตเดŸเต† เด‰เดŸเดฎ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ (GECOS เดซเต€เตฝเดกเต เดตเดดเดฟ, เด…เดคเดพเดฏเดคเต เดฏเดฅเดพเตผเดคเตเดฅ เดชเต‡เดฐเต
เดซเต€เตฝเดกเต getpwiid(3)) $projects_list เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ (gitweb $projectroot เดธเตเด•เดพเตป เดšเต†เดฏเตเดฏเตเดจเตเดจเต
เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ); $projects_list เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเตเดŸเต† เดฒเดฟเดธเตเดฑเตเดฑเต เดซเดฏเตฝ เดšเต†เดฏเตเดฏเดพเตป เดชเต‹เดฏเดฟเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เด…เดชเตเดชเต‹เตพ
เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเต‡เด–เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดˆ เดซเดฏเดฒเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด‰เดŸเดฎ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดตเดฟเดตเดฟเดง gitweb.* config เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเตเด•เตพ (config-เตฝ)
เดตเดฟเดถเดฆเดฎเดพเดฏ เดฒเดฟเดธเตโ€Œเดฑเตเดฑเดฟเดจเตเด‚ เดตเดฟเดตเดฐเดฃเด™เตเด™เตพเด•เตเด•เตเดฎเดพเดฏเดฟ %เดซเต€เดšเตเดšเตผ เดนเดพเดทเดฟเดจเตเดฑเต† เดตเดฟเดตเดฐเดฃเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•. เด‡เดคเตเด‚ เด•เดพเดฃเตเด•
"เด—เดฟเดฑเตเดฑเตโ€Œเดตเต†เดฌเต เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเต" เดŽเดจเตเดจ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดฒเต† gitweb.conf(5)

เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ, เด’เดชเตเดชเด‚ URL-เด•เตพ


Gitweb-เดจเต path_info (เด˜เดŸเด•เด‚) เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ URL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเดฟเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เด•เตˆเดฎเดพเดฑเดพเตป เด•เดดเดฟเดฏเตเด‚
เด…เดจเตเดตเต‡เดทเดฃ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดตเดดเดฟ. เดธเดพเดงเดพเดฐเดฃ gitweb URL-เด•เตพ เด…เดžเตเดšเต เด˜เดŸเด•เด™เตเด™เดณเดพเดฏเดฟ เดคเดฟเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

.../gitweb.cgi/ / / :/ ?

เดฑเดฟเดชเตเดชเต‹
เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดจเดŸเดคเตเดคเตเด‚.

เดฒเดญเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเตเด•เดณเตเด‚ เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดต เด’เดดเดฟเด•เต†เดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚, เดเดคเต เดฐเต‚เดชเดคเตเดคเดฟเดฒเตเด‚,
เดˆ เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เดจเดŸเดชเดŸเดฟ
เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚. เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเด•เตพ projects_list เดฑเดฟเดชเตเดชเต‹ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด’เดชเตเดชเด‚
เดธเด‚เด—เตเดฐเดนเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ.

เดฑเดฟเดตเดฟเดทเตป
เดฑเดฟเดตเดฟเดทเตป เด•เดพเดฃเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. HEAD-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดกเดฟเดซเต‹เตพเดŸเตเดŸเตเด•เตพ.

เดชเดพเดค
เด‰เดณเตเดณเดฟเดฒเต† เดชเดพเดค เด† เดชเตเดฐเดตเตƒเดคเตเดคเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เด† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดจเดŸเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต
เด…เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เดตเดพเดฆเด™เตเด™เตพ
เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เดธเตเดตเดญเดพเดตเดคเตเดคเต† เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดพเดฆเด™เตเด™เตพ.

เดšเดฟเดฒ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เต เดฐเดฃเตเดŸเต เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเด™เตเด™เดณเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เดฐเดฃเตเดŸเต เดชเดพเดคเตเดคเตเดจเต†เดฏเดฟเดฎเตเด•เดณเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเต‹ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
เดชเตŠเดคเตเดตเต‡, เด…เดคเตเดคเดฐเด‚ path_info (เด˜เดŸเด•เด‚) เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ gitweb URL เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

.../gitweb.cgi/ / / :/ .. :/ ?

เด“เดฐเต‹ เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเด‚ เด’เดฐเต เดธเดฌเตเดฑเต‚เดŸเตเดŸเต€เดจเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เด…เดคเต %เด†เด•เตเดทเตป เดนเดพเดทเดฟเตฝ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดšเดฟเดฒเดคเต
เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เด…เดชเตเดฐเดพเดชเตโ€Œเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดซเต€เดšเตเดšเตผ เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เดตเดดเดฟ เด…เดคเต เด“เดฃเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต
เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เดพเตป เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตเด• gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดšเต‡เตผเด•เตเด•เตเด• เด•เดพเดฃเตเด•:

$feature{'bleme'}{'default'} = [1];

เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ:
เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด‡เดตเดฏเดพเดฃเต:

project_list
เดฒเดญเตเดฏเดฎเดพเดฏ Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดคเดพเดฃเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เด•เดฎเดพเตปเดกเต
URL-เตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเด‚เด—เตเดฐเดนเด‚
เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเต‡เด–เดฐเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดธเด‚เด—เตเดฐเดนเด‚ เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฐเดตเตผเดคเตเดคเดจเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดคเดพเดฃเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เด•เดฎเดพเตปเดกเต
URL-เตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณเต‚.

เดคเดฒเด•เตพ, เดฑเดฟเดฎเต‹เดŸเตเดŸเตเด•เตพ
เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเต‡เด–เดฐเดคเตเดคเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดฒเตเดฒเดพ เดตเดฟเดฆเต‚เดฐ-เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต เดถเดพเด–เด•เดณเตเด‚ เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดฒเดญเตเดฏเดฎเดฒเตเดฒ.

เดŸเดพเด—เตเด•เตพ
เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เดŽเดฒเตเดฒเดพ เดŸเดพเด—เตเด•เดณเตเด‚ (เด•เดจเด‚เด•เตเดฑเดžเตเดžเดคเตเด‚ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเดšเตเดšเดคเตเด‚) เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•.

เดฌเตเดฒเดฌเต, เดฎเดฐเด‚
เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฑเดฟเดตเดฟเดทเดจเดฟเตฝ, เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เดชเดพเดคเดฏเดฟเตฝ เดซเดฏเดฒเตเด•เดณเตเด‚ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเด•เดณเตเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดพเดฃเต
URL-เตฝ เด’เดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดตเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดชเดพเดคเตเดคเต เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เด•เดฎเดพเตปเดกเต.

เดฌเตเดฒเดฌเต_เดชเตเดฒเต†เดฏเดฟเตป
เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเตฝ, เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเดคเดฏเดฟเดฒเตเด‚ เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดคเตเดคเดฟเดฒเตเด‚ เดซเดฏเดฒเดฟเดจเดพเดฏเตเดณเตเดณ เดฑเต‹ เดกเดพเดฑเตเดฑ เดจเตฝเด•เตเดจเตเดจเต.
เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด•เตพ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด…เดธเด‚เดธเตเด•เตƒเดคเดฎเดพเดฏ.

เดฌเตเดฒเดฌเตเดกเดฟเดซเต
เด’เดฐเต‡ เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฐเดฃเตเดŸเต เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเด™เตเด™เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ, เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ_เด•เต‚เดŸเตเดคเตฝ
เด’เดฐเต เดซเดฏเดฒเดฟเดจเดพเดฏเตเดณเตเดณ เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ (เด…เดจเต‹เดŸเตเดŸเต‡เดทเตป เดŽเดจเตเดจเตเด‚ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต) เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดตเดฐเดฟ เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ
เด† เดตเดฐเดฟ เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดฟเดฏ เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดตเตเด‚ เดชเตเดฐเดคเดฟเดœเตเดžเดพเดฌเดฆเตเดงเดจเดพเดฏ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเตเด‚ เด‡เดคเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต
เดฎเดพเดฑเตเดฑเด‚. เด‡เตปเด•เตเดฐเดฟเดฎเต†เดจเตเดฑเตฝ เดชเดคเดฟเดชเตเดชเต (เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเดพเตฝ เด…เดคเต เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ
เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต) เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจ เดตเดฟเดตเดฐเด™เตเด™เตพ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด…เดœเดพเด•เตเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เดจเตฝเด•เดฟเดฏ เดซเดฏเตฝ.

เดชเตเดฐเด•เดŸเดจ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค, เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค
เด’เดฐเต เดถเต‡เด–เดฐเดคเตเดคเดฟเตฝ เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต. เดฆเดฟ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเด• เดทเต‹เด•เตพ เด•เดพเดฃเตเด•
เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค เด†เด•เตเดทเตป เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต
เดจเตฝเด•เดฟเดฏ เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค.

เดชเดพเดšเตเดšเต
เด…เดชเต‡เด•เตเดทเดฏเตโ€Œเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดชเตเดฒเต†เดฏเดฟเตป เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต เดฎเต†เดฏเดฟเตฝ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเตฝ เด•เดฎเตเดฎเดฟเดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต git-am(1).

เดŸเดพเด—เต
เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดตเตเดฏเดพเด–เตเดฏเดพเดจ เดŸเดพเด—เต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด• (เดŸเดพเด—เต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต).

เดฒเต‹เด—เต, เดทเต‹เตผเดŸเตเดŸเตเดฒเต‹เด—เต
เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฌเตเดฐเดพเดžเตเดšเดฟเดจเดพเดฏเดฟ เดฒเต‹เด—เต เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต (เดธเดจเตเดฆเต‡เดถเด‚ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเดฟเดทเดฏเด‚ เดธเดฎเตผเดชเตเดชเดฟเด•เตเด•เตเด•).
(เดจเตฝเด•เดฟเดฏ เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต).

เดฆเดฟ เดทเต‹เตผเดŸเตเดŸเตเดฒเต‹เด—เต เด•เดพเดดเตเดš เด•เต‚เดŸเตเดคเตฝ เด’เดคเตเด•เตเด•เดฎเตเดณเตเดณเดคเดพเดฃเต; เด“เดฐเต‹ เดตเดฐเดฟเดฏเดฟเดฒเตเด‚ เด’เดฐเต เดชเตเดฐเดคเดฟเดฌเดฆเตเดงเดค เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดšเดฐเดฟเดคเตเดฐเด‚
เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเดšเตเดšเต เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดถเต‡เด–เดฐเดฃ เดชเดพเดคเดฏเดฟเตฝ เดซเดฏเดฒเดฟเดจเตเดฑเต†เดฏเต‹ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเตเดŸเต†เดฏเต‹ เดšเดฐเดฟเดคเตเดฐเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต
เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเด‚ (HEAD-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต, เด…เดคเดพเดฏเดคเต เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดฌเตเดฐเดพเดžเตเดšเต).

เดˆ เด•เดพเดดเตเดš เดธเดฎเดพเดจเดฎเดพเดฃเต เดทเต‹เตผเดŸเตเดŸเตเดฒเต‹เด—เต เด•เดพเดฃเตเด•.

เด†เตผเดŽเดธเตเดŽเดธเต, เด†เดฑเตเดฑเด‚
เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเดฏเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดŸเต† เด’เดฐเต RSS (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด†เดฑเตเดฑเด‚) เดซเต€เดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเต†เดฌเต เดธเต†เตผเดตเตผ เด•เต‡เดพเตบเดซเดฟเด—เดฑเต‡เดทเตป


Gitweb เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดšเดฟเดฒ เดธเดพเดงเดพเดฐเดฃ เดตเต†เดฌเตเดธเต†เตผเดตเดฑเตเด•เตพ เดŽเด™เตเด™เดจเต† เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจเต เดˆ เดตเดฟเดญเดพเด—เด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเตเด‚,
เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดฟเตฝ /path/to/gitweb เดŽเดจเตเดจเดคเต เดจเดฟเด™เตเด™เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค gitweb เดŽเดจเตเดจ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
gitweb_config.perl.

gitweb-เดจเดพเดฏเดฟ เด‡เดตเดฟเดŸเต† เดฒเดฟเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดตเต†เดฌเต เดธเต†เตผเดตเตผ เดจเดฟเด™เตเด™เตพ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดฆเดฏเดตเดพเดฏเดฟ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเด•
เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด…เดคเดฟเดจเดพเตฝ เด…เดต เดญเดพเดตเดฟ เดฑเดฟเดฒเต€เดธเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚.

เด…เดชเตเดชเดพเดšเตเดšเต† as CGI
Gitweb เด‰เดณเตเดณ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเดฏเดฟเตฝ CGI เดธเตโ€Œเด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเตเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เดพเตป เด…เดชเตเดชเดพเดšเตเดšเต† เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚.
เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต. เด…เดคเต เด†เดฃเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดพเด‚ /var/www/cgi-bin เดกเดฏเดฑเด•เตเดŸเดฑเดฟ.

เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดเดฒเดฟเดฏเดพเดธเต /cgi-bin/ "/var/www/cgi-bin/"


เด“เดชเตเดทเดจเตเด•เตพ เดธเต‚เดšเดฟเด•เด•เตพ เดซเต‹เดณเต‹เดธเดฟเด‚เดฒเดฟเด™เตเด•เตเด•เตพ ExecCGI
เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เด’เดดเดฟเดตเดพเด•เตเด•เตเด•
เด“เตผเดกเตผ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•, เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด•
เดŽเดฒเตเดฒเดพเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•


เด† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเต‚เตผเดฃเตเดฃ เดชเดพเดค เด‡เดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:

http://server/cgi-bin/gitweb.cgi

เด…เดชเตเดชเดพเดšเตเดšเต† เด•เต‚เดŸเต† mod_perl, เดตเดดเดฟ ModPerl:: เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ
เดจเดฟเด™เตเด™เตพเด•เตเด•เต gitweb-เดจเตŠเดชเตเดชเด‚ mod_perl เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดจเดฟเด™เตเด™เตพ Apache::Registry (mod_perl 1.x-เดจเต) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดฃเด‚
เดˆ เดชเดฟเดจเตเดคเตเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป ModPerl::Registry (mod_perl 2.x-เดจเต).

gitweb เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เด•เดฐเตเดคเตเด• /var/www/perl, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด…เดชเตเดชเดพเดšเตเดšเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป
(mod_perl 2.x-เดจเต) เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.

เด…เดชเดฐเดจเดพเดฎเด‚ /perl "/var/www/perl"


SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
เด“เดชเตเดทเดจเตเด•เตพ เดธเต‚เดšเดฟเด•เด•เตพ เดซเต‹เดณเต‹เดธเดฟเด‚เดฒเดฟเด™เตเด•เตเด•เตพ +ExecCGI
เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•เด’เดดเดฟเดตเดพเด•เตเด•เตเด•
เด“เตผเดกเตผ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•, เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด•
เดŽเดฒเตเดฒเดพเด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด•


เด† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเต‚เตผเดฃเตเดฃ เดชเดพเดค เด‡เดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:

http://server/perl/gitweb.cgi

เด…เดชเตเดชเดพเดšเตเดšเต† เด•เต‚เดŸเต† เดซเดพเดธเตเดฑเตเดฑเตเดธเดฟเดœเดฟเด
Gitweb Apache, FastCGI เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด†เดฆเตเดฏเด‚ เดจเดฟเด™เตเด™เตพ gitweb.cgi-เดฏเตเดŸเต† เดชเต‡เดฐเต เดฎเดพเดฑเตเดฑเตเด•เดฏเต‹ เดชเด•เตผเดคเตเดคเตเด•เดฏเต‹ เดธเดฟเด‚เดฒเดฟเด™เตเด•เต เดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต
gitweb.fcgi เดฒเต‡เด•เตเด•เต. Gitweb เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดพเด‚ /usr/share/gitweb เดกเดฏเดฑเด•เตเดŸเดฑเดฟ. เดฆเดฟ
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด…เดชเตเดชเดพเดšเตเดšเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต (เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ!)

FastCgiServer /usr/share/gitweb/gitweb.cgi
ScriptAlias โ€‹โ€‹/gitweb /usr/share/gitweb/gitweb.cgi

เด…เดชเดฐเดจเดพเดฎเด‚ /gitweb/static /usr/share/gitweb/static
<เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ /usr/share/gitweb/static>
SetHandler เดกเดฟเดซเต‹เตพเดŸเตเดŸเต-เดนเดพเตปเดกเตเดฒเตผ


เด† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเต‚เตผเดฃเตเดฃ เดชเดพเดค เด‡เดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚:

http://server/gitweb

เด…เดกเตเดตเดพเตปเดธเตเดกเต เดตเต†เดฌเต เดธเต†เตผเดตเตผ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•


เด† เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเต†เดฒเตเดฒเดพเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† mod_rewrite เด†เดตเดถเตเดฏเดฎเดพเดฃเต (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดคเตเดคเตเดฒเตเดฏเดฎเดพเดฏ; เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ
เดคเดพเดดเต† เด…เดชเตเดชเดพเดšเตเดšเต†เด•เตเด•เต เดตเต‡เดฃเตเดŸเดฟ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต).

เดธเดฟเด‚เด—เดฟเตพ เดฏเตเด†เตผเดŽเตฝ เดตเต‡เดฃเตเดŸเดฟ gitweb เด’เดชเตเดชเด‚ เดตเต‡เดฃเตเดŸเดฟ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต
gitweb-เดจเตเด‚ http:// repositories-เดจเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต URL เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเตเด‚
เด…เดชเตเดชเดพเดšเตเดšเต† เด‡เดคเตเดชเต‹เดฒเต† เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•:


ServerName git.example.org
DocumentRoot /pub/git
SetEnv GITWEB_CONFIG /etc/gitweb.conf

# เดฎเต‹เดกเต เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เด“เดฃเดพเด•เตเด•เตเดจเตเดจเต
เดฎเดพเดฑเตเดฑเดฟเดฏเต†เดดเตเดคเตเด•

# เด’เดจเตเดจเดพเด‚ เดชเต‡เดœเต gitweb เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด†เดจเตเดคเดฐเดฟเด• เดฑเต€เดฑเตˆเดฑเตเดฑเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเตเด•
RewriteRule ^/$ /cgi-bin/gitweb.cgi

# "เดฎเต‚เด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพ" เดœเต‹เดฒเดฟเด•เตเด•เต เด†เด•เตเดธเดธเต เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•
RewriteRule ^/(.*\.git/(?!/?(HEAD|info|objects|refs)).*)?$ \
/cgi-bin/gitweb.cgi%{REQUEST_URI} [L,PT]


เดฎเตเด•เดณเดฟเดฒเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตŠเดคเต เดถเต‡เด–เดฐเดฃเด™เตเด™เตพเด•เตเด•เต เด•เต€เดดเดฟเตฝ เดœเต€เดตเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต /เดชเดฌเต/เดœเดฟเดฑเตเดฑเต เด‡เดšเตเด›เดพเดถเด•เตเดคเดฟเดฏเตเด‚
เด…เดตเดฐเต† เดธเต‡เดตเดฟเด•เตเด•เตเด• http://git.domain.org/dir-under-pub-git, เด•เตเดฒเต‹เดฃเดฌเดฟเตพ Git URL เด†เดฏเตเด‚ เด‡เดคเตเดชเต‹เดฒเต†เดฏเตเด‚
เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ gitweb เด‡เดจเตเดฑเตผเดซเต‡เดธเต. เดจเดฟเด™เตเด™เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† git-demon(1) เด•เต‚เดŸเต†
--base-path=/pub/git --export-all เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ git:// URL เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เด…เดคเต‡ เดชเดพเดค.

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ GITWEB_CONFIG เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เดชเต‡เดฐเดฟเดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป gitweb-เดจเต‹เดŸเต เดชเดฑเดฏเตเด‚
(เด…เดคเดพเดฏเดคเต เดˆ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ /etc/gitweb.conf) gitweb-เดจเตเดณเตเดณ เด’เดฐเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดพเดฏเดฟ. เดจเดฟเด™เตเด™เตพ เดถเดฐเดฟเด•เตเด•เตเด‚ เด…เดฒเตเดฒ
เดฎเตเด•เดณเดฟเดฒเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต; เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเต‚
เด…เดจเตเดคเตผเดจเดฟเตผเดฎเตเดฎเดฟเดคเดคเตเดคเต‡เด•เตเด•เดพเตพ เดธเตเดฅเดฒเด‚ (เดœเดฟเดฑเตเดฑเตเดตเต†เดฌเต เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ) gitweb_config.perl or /etc/gitweb.conf. เด•เดพเดฃเตเด•
gitweb.conf(5) เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เตพเด•เตเด•เต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดฎเตเตปเด—เดฃเดจเดพ เดจเดฟเดฏเดฎเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ.

เดจเดฟเด™เตเด™เตพ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฑเต€เดฑเตˆเดฑเตเดฑเต เดจเดฟเดฏเดฎเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดถเด•เตเดคเดฟ เด…เดคเตเดชเต‹เดฒเต† เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเต‡เดฃเด‚
เดจเดฟเด™เตเด™เดณเตเดŸเต† gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจเต (/etc/gitweb.conf เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด‰เดฆเดพเดนเดฐเดฃเด‚):

@stylesheets = ("/some/absolute/path/gitweb.css");
$my_uri = "/";
$home_link = "/";
$per_request_config = 1;

เด‡เด•เตเด•เดพเดฒเดคเตเดคเต gitweb เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดชเตเดชเต‹เตพ HTML เด…เดŸเดฟเดธเตเดฅเดพเดจ เดŸเดพเด—เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดฃเด‚ (เด…เดŸเดฟเดธเตเดฅเดพเดจ URI เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต
เด†เดชเต‡เด•เตเดทเดฟเด• เดฒเดฟเด™เตเด•เตเด•เตพ), เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚.

เดตเต†เดฌเตเดธเต†เตผเดตเดฑเดฟเตฝ เด•เต‡เดพเตบเดซเดฟเด—เดฑเต‡เดทเตป เด•เต‚เดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเดฆเตเดงเดคเดฟเด•เตพ' เดตเต‡เดฐเต
เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฑเต‚เดŸเตเดŸเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต gitweb เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† Apache เดตเต†เตผเดšเตเดตเตฝ เดนเต‹เดธเตเดฑเตเดฑเต เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเตฝ gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเตเด•เดณเตเด‚.

เดตเต†เตผเดšเตเดตเตฝ เดนเต‹เดธเตเดฑเตเดฑเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป (เด…เดชเตเดชเดพเดšเตเดšเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ) เด‡เดคเตเดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚:


ServerName git.example.org
DocumentRoot /pub/git
SetEnv GITWEB_CONFIG /etc/gitweb.conf

# เดฎเต‹เดกเต เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เด“เดฃเดพเด•เตเด•เตเดจเตเดจเต
เดฎเดพเดฑเตเดฑเดฟเดฏเต†เดดเตเดคเตเด•

# เด’เดจเตเดจเดพเด‚ เดชเต‡เดœเต gitweb เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด†เดจเตเดคเดฐเดฟเด• เดฑเต€เดฑเตˆเดฑเตเดฑเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเตเด•
RewriteRule ^/$ /cgi-bin/gitweb.cgi [QSA,L,PT]

# unix เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต† เดตเต€เดŸเตเดŸเดฟเตฝ เด’เดฐเต public_git เดซเต‹เตพเดกเดฑเดฟเดจเดพเดฏเดฟ เดจเต‹เด•เตเด•เตเด•
# http://git.example.org/~ /
เดฑเต€เดฑเตˆเดฑเตเดฑเต เดฑเต‚เตพ ^/\~([^\/]+)(/|/gitweb.cgi)?$ /cgi-bin/gitweb.cgi \
[QSA,E=GITWEB_PROJECTROOT:/ เดตเต€เดŸเต /$1/public_git/,L,PT]

# http://git.example.org/+ /
#RewriteRule ^/\+([^\/]+)(/|/gitweb.cgi)?$ /cgi-bin/gitweb.cgi \
[QSA,E=GITWEB_PROJECTROOT:/ เดตเต€เดŸเต /$1/public_git/,L,PT]

# http://git.example.org/user//
#RewriteRule ^/user/([^\/]+)/(gitweb.cgi)?$ /cgi-bin/gitweb.cgi \
[QSA,E=GITWEB_PROJECTROOT:/ เดตเต€เดŸเต /$1/public_git/,L,PT]

# เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต เดฑเต‚เดŸเตเดŸเตเด•เดณเตเดŸเต† เดจเดฟเตผเดตเดšเดฟเดšเตเดš เดฒเดฟเดธเตเดฑเตเดฑเต
เดฑเต€เดฑเตˆเดฑเตเดฑเตเดฑเต‚เตพ ^/scm(/|/gitweb.cgi)?$ /cgi-bin/gitweb.cgi \
[QSA,E=GITWEB_PROJECTROOT:/pub/scm/,L,PT]
RewriteRule ^/ var(/|/gitweb.cgi)?$ /cgi-bin/gitweb.cgi \
[QSA,E=GITWEB_PROJECTROOT:/var/git/,L,PT]

# "เดฎเต‚เด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพ" เดœเต‹เดฒเดฟเด•เตเด•เต เด†เด•เตเดธเดธเต เด‰เดฃเตเดŸเดพเด•เตเด•เตเด•
RewriteRule ^/(.*\.git/(?!/?(HEAD|info|objects|refs)).*)?$ \
/cgi-bin/gitweb.cgi%{REQUEST_URI} [L,PT]


เด‡เดตเดฟเดŸเต† เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฑเต‚เดŸเตเดŸเต GITWEB_PROJECT_ROOT เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดตเดดเดฟ gitweb-เดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต
เด’เดฐเต เดตเต†เดฌเต เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดตเดฐเดฟ gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ เด‡เดŸเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต
(/etc/gitweb.conf เดฎเตเด•เดณเดฟเดฒเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ):

$projectroot = $ENV{'GITWEB_PROJECTROOT'} || "/เดชเดฌเต/เดœเดฟเดฑเตเดฑเต";

เด•เตเดฑเดฟเดชเตเดชเต เด“เดฐเต‹ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด•เตเด•เตเด‚ เด‡เดคเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเดฟเดจเดพเตฝ เด’เดจเตเดจเตเด•เดฟเตฝ $per_request_config เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚
เดคเต†เดฑเตเดฑเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดžเดต $per_request_config เดฑเดซเดฑเตปเดธเต เดšเต†เดฏเตเดค เด•เต‹เดกเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฃเด‚;

เดˆ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเตเด•เตพ เดฐเดฃเตเดŸเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต. เด†เดฆเตเดฏเด‚, เด“เดฐเต‹ เดฏเตเดฃเดฟเด•เตเดธเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเตเด‚ ( ) เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เด‡เดทเตเดŸเด‚
เด•เดพเดฃเตเดจเตเดจ gitweb Git เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเดฒเต‚เดŸเต† เดฌเตเดฐเต—เดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚ ~/public_git/ เด•เต‚เดŸเต†
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ url:

http://git.example.org/~ /

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเดฑเดฟเตฝ เดˆ เดธเดตเดฟเดถเต‡เดทเดค เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เดฑเต‚เตพ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเต†เตผเดšเตเดตเตฝ เดนเต‹เดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ 'mod_userdir' เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ '~' เด‡เดคเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
เด†เดฆเตเดฏ เดชเตเดฐเดคเต€เด•เด‚, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เดฑเต‚เตพ เด•เดฎเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเด•, เด…เดคเดฟเดฒเตŠเดจเตเดจเต เด•เดฎเดจเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเดจเตเดธเดฐเดฟเดšเตเดšเต เดชเดฟเดจเตเดคเตเดŸเดฐเตเด•.

เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ /pub/scm/ เด’เดชเตเดชเด‚ /var/git/ เดตเดดเดฟ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚
http://git.example.org/scm/ เด’เดชเตเดชเด‚ http://git.example.org/var/. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดคเตเดฐ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดšเต‡เตผเด•เตเด•เดพเด‚
เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต‡เดคเตเด‚ เดจเดพเดฒเดพเดฎเดคเตเดคเต‡เดคเตเด‚ เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เดฑเต‚เดณเตเด•เตพ เดšเต‡เตผเดคเตเดคเต เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต† เดฑเต‚เดŸเตเดŸเตเด•เตพ.

PATH_INFO เด‰เดชเดฏเต‡เดพเด—เด‚
เดจเดฟเด™เตเด™เตพ gitweb-เตฝ PATH_INFO เด‰เดชเดฏเต‹เด—เด‚ เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ

$feature{'pathinfo'}{'default'} = [1];

เดจเดฟเด™เตเด™เดณเตเดŸเต† gitweb เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเดฒเดฟเตฝ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเต†เตผเดตเตผ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เดธเดพเดงเดฟเด•เตเด•เตเด‚
เดฐเต‚เดชเดคเตเดคเดฟเตฝ URL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต

http://git.example.com/project.git/shortlog/sometag

เด…เดคเดพเดฏเดคเต เด‡เดฒเตเดฒเดพเดคเต† gitweb.cgi เดญเดพเด—เด‚, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต. เดˆ
เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เด…เดคเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต /var/www/gitweb เดจเดฟเด™เตเด™เดณเตเดŸเต† เดตเต†เดฌเตโ€Œเดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† DocumentRoot เด†เดฃเต, เด…เดŸเด™เตเด™เตเดจเตเดจเดคเต
gitweb.cgi เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด‚ เด•เต‹เด‚เดชเตเดฒเดฟเดฎเต†เดจเตเดฑเดฑเดฟ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดซเดฏเดฒเตเด•เดณเตเด‚ (เดธเตเดฑเตเดฑเตˆเตฝเดทเต€เดฑเตเดฑเต, เดซเต†เดตเดฟเด•เตเด•เต‹เตบ, เดœเดพเดตเดพเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต):


ServerAlias โ€‹โ€‹git.example.com

DocumentRoot /var/www/gitweb


เด“เดชเตเดทเดจเตเด•เตพ ExecCGI
AddHandler cgi-script cgi

เดกเดฏเดฑเด•เตเดŸเดฑเดฟเด‡เตปเดกเด•เตเดธเต gitweb.cgi

เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเด•
RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteRule ^.* /gitweb.cgi/$0 [L,PT]



เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เดซเดฏเดฒเตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดจเตฝเด•เตเดฎเต†เดจเตเดจเต เดฑเต€เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เดฑเต‚เตพ เด‰เดฑเดชเตเดชเตเดจเตฝเด•เตเดจเตเดจเต
เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ URL PATH_INFO เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฏเดฟ gitweb-เดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด‚.

เด…เดฑเดฟเดฏเดฟเดชเตเดชเต เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต @stylesheets, $my_uri เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดชเตเดฐเดคเตเดฏเต‡เด• เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ
$home_link, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเตŠเดœเด•เตเดฑเตเดฑเต .git dirs (เด‡เดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต) เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ "เดฎเต‚เด• เด•เตเดฒเดฏเดจเตเดฑเต" เด†เด•เตโ€Œเดธเดธเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดทเตโ€ŒเดŸเดฎเดพเด•เตเด‚.
"เด—เดฟเดฑเตเดฑเตโ€Œเดตเต†เดฌเดฟเดจเตเด‚ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด’เดฑเตเดฑ URL" เดตเดฟเดญเดพเด—เด‚). เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเดจเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฃเต
เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต: เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฑเต‚เดŸเตเดŸเดฟเตฝ (เด‰เดฆเดพ /เดชเดฌเต/เดœเดฟเดฑเตเดฑเต) เดชเดฆเตเดงเดคเดฟเด•เตพเด•เตเด•เต เดชเต‡เดฐเดฟเดŸเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต เด•เต‚เดŸเดพเดคเต† a
.git เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚ (เด‰เดฆเดพ /เดชเดฌเต/เดœเดฟเดฑเตเดฑเต/เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด‡เดคเดฟเดจเตเดชเด•เดฐเดฎเดพเดฏเดฟ /pub/git/project.git) เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•
เด…เดชเตเดชเดพเดšเตเดšเต† เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเตฝ:


ServerAlias โ€‹โ€‹git.example.com

DocumentRoot /var/www/gitweb

เด…เดชเดฐเดจเดพเดฎเด‚ ^(/.*?)(\.git)(/.*)?$ /pub/git$1$3

เด“เดชเตเดทเดจเตเด•เตพ ExecCGI
AddHandler cgi-script cgi

เดกเดฏเดฑเด•เตเดŸเดฑเดฟเด‡เตปเดกเด•เตเดธเต gitweb.cgi

เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเด•
RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteRule ^.* /gitweb.cgi/$0 [L,PT]



เด…เดงเดฟเด• เด…เดฒเดฟเดฏเดพเดธเตเดฎเดพเดšเตเดšเต เด…เดคเต เด…เด™เตเด™เดจเต†เดฏเดพเด•เตเด•เตเดจเตเดจเต

http://git.example.com/project.git

เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† Git dir-เดฒเต‡เด•เตเด•เต เดฑเต‹ เด†เด•เตเดธเดธเต เดจเตฝเด•เตเด‚ (เด…เด™เตเด™เดจเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด•เตเดฒเต‹เตบ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚), เด…เดคเต‡เดธเดฎเดฏเด‚

http://git.example.com/project

เดฎเดจเตเดทเตเดฏเดธเต—เดนเตƒเดฆ gitweb เด†เด•เตเดธเดธเต เดจเตฝเด•เตเด‚.

เดˆ เดธเตŠเดฒเตเดฏเต‚เดทเตป 100% เดฌเตเดณเตเดณเดฑเตเดฑเต เดชเตเดฐเต‚เดซเต เด…เดฒเตเดฒ, เดšเดฟเดฒ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเต เดชเต‡เดฐเดฟเดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดฑเดซเดฑเตปเดธเต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ
(เดถเดพเด–, เดŸเดพเด—เต) เดคเตเดŸเด™เตเด™เดฟ git/, เดชเดฟเดจเตเดจเต† เดคเตเดŸเด™เตเด™เดฟเดฏ เดชเดพเดคเด•เตพ

http://git.example.com/project/command/abranch..git/abranch

404 เดชเดฟเดถเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด‚.

onworks.net เดธเต‡เดตเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต gitweb เด“เตบเดฒเตˆเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•


เดธเต—เดœเดจเตเดฏ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเตเด‚

Windows & Linux เด†เดชเตเดชเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

  • 1
    usm
    usm
    Usm เด’เดฐเต เดเด•เต€เด•เตƒเดค เดธเตเดฒเดพเด•เตเด•เตเดตเต†เดฏเตผ เดชเดพเด•เตเด•เต‡เดœเดพเดฃเต
    เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดฎเดพเดจเต‡เดœเตผ
    เด†เดถเตเดฐเดฟเดคเดคเตเดต เดชเดฐเดฟเดนเดพเดฐเด‚. เด…เดคเต เดเด•เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต
    เด‰เตพเดชเตเดชเต†เดŸเต† เดตเดฟเดตเดฟเดง เดชเดพเด•เตเด•เต‡เดœเต เดถเต‡เด–เดฐเด™เตเด™เตพ
    เดธเตเดฒเดพเด•เตเด•เตเดตเต†เดฏเตผ, เดธเตเดฒเดพเด•เตเด•เดฟ, เดชเดฟ...
    usm เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 2
    Chart.js
    Chart.js
    Chart.js เดŽเดจเตเดจเดคเต เด’เดฐเต Javascript เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดพเดฃเต
    เดกเดฟเดธเตˆเดจเตผเดฎเดพเดฐเต†เดฏเตเด‚ เดกเดตเดฒเดชเตเดชเตผเดฎเดพเดฐเต†เดฏเตเด‚ เดตเดฐเดฏเตเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต
    HTML5 เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เดšเดพเตผเดŸเตเดŸเตเด•เดณเตเด‚
    เด•เตเดฏเดพเตปเดตเดพเดธเต เด˜เดŸเด•เด‚. เดšเดพเตผเดŸเตเดŸเต js เด’เดฐเต เดฎเดฟเด•เดšเตเดš เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
    เด…เดฑเต‡ ...
    Chart.js เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 3
    เดœเดพเดธเตเดชเตผ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ iReport-Designer
    เดœเดพเดธเตเดชเตผ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ iReport-Designer
    เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: iReport/Jaspersoft Studio เดชเดฟเดจเตเดคเตเดฃ
    เด…เดฑเดฟเดฏเดฟเดชเตเดชเต: เดชเดคเดฟเดชเตเดชเต 5.5.0 เดชเตเดฐเด•เดพเดฐเด‚,
    เดœเดพเดธเตเดชเตผเดธเต‹เดซเตเดฑเตเดฑเต เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ เด’เดซเต€เดทเตเดฏเตฝ
    JasperReports-เดจเตเดณเตเดณ เดกเดฟเดธเตˆเตป เด•เตเดฒเดฏเดจเตเดฑเต. iReport
    เดšเต†เดฏเตเดฏเตเด‚ ...
    JasperReports-เดจเดพเดฏเดฟ iReport-Designer เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 4
    เดชเต‹เดธเตเดฑเตเดฑเตเด‡เตปเดธเตเดฑเตเดฑเดพเดณเตผ เดŽเดซเต
    เดชเต‹เดธเตเดฑเตเดฑเตเด‡เตปเดธเตเดฑเตเดฑเดพเดณเตผ เดŽเดซเต
    PostInstallerF เดŽเดฒเตเดฒเดพเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด‚
    เดซเต†เดกเต‹เดฑ เดฒเดฟเดจเด•เตเดธเตเด‚ เดฎเดฑเตเดฑเตเด‚ เด‰เดณเตเดณ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ
    เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดถเต‡เดทเด‚
    เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เดซเต†เดกเต‹เดฑ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเตเดฑเต†
    เดŽเดณเตเดชเตเดชเด‚...
    PostInstallerF เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 5
    เดธเตเดŸเตเดฐเต†เดฏเตเดธเต
    เดธเตเดŸเตเดฐเต†เดฏเตเดธเต
    เดธเตโ€ŒเดŸเตเดฐเต‡เดธเต เดชเตเดฐเต‹เดœเด•เตโ€ŒเดŸเต เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟ
    https://strace.io. strace is a
    เดกเดฏเด—เตเดจเต‹เดธเตเดฑเตเดฑเดฟเด•เต, เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เต, เดชเตเดฐเดฌเต‹เดงเดจเด‚
    เดฒเดฟเดจเด•เตเดธเดฟเดจเตเดณเตเดณ เดฏเต‚เดธเตผเดธเตเดชเต‡เดธเต เดŸเตเดฐเต‡เดธเตผ. เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
    เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป...
    เดธเตโ€ŒเดŸเตเดฐเต‡เดธเต เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 6
    gMKVExtractGUI
    gMKVExtractGUI
    mkvextract เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตเด•เตเดณเตเดณ เด’เดฐเต GUI (เดญเดพเด—เด‚
    MKVToolNix) เดเดฑเตเดฑเดตเตเดฎเดงเดฟเด•เด‚ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต (เดŽเด™เตเด•เดฟเตฝ
    เดŽเดฒเตเดฒเดพเด‚ เด…เดฒเตเดฒ) mkvextract เดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดคเดฏเตเด‚
    mkvinfo เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเด•เตพ. C#NET 4.0 เตฝ เดŽเดดเตเดคเดฟเดฏเดคเต,...
    gMKVExtractGUI เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • เด•เต‚เดŸเตเดคเตฝ "

เดฒเดฟเดจเด•เตเดธเต เด•เดฎเดพเตปเดกเตเด•เตพ

Ad