Revision 760 (by ahitrov, 2019/01/22 15:11:09) |
shebang
|
#!/usr/bin/env perl
use strict;
use warnings 'all';
use locale;
use FindBin;
use Getopt::Std;
my %opts;
getopts('hir', \%opts);
&usage if $opts{h};
&usage unless $#ARGV==1;
my @revs = grep {$_} map {/^r(\d+)/; $1} `svn log -q $ARGV[0]`;
@revs = reverse @revs unless $opts{r};
exit unless @revs;
$|=1;
for my $r (0..$#revs-1) {
my @out = map {
"$revs[$r]:$revs[$r+1] : $_"
} `svn di -r$revs[$r]:$revs[$r+1] $ARGV[0] | egrep '^[\+\-]' | egrep -v [\+\-]{3}`;
if ($opts{i}) {
@out = grep {/$ARGV[1]/i} @out;
} else {
@out = grep {/$ARGV[1]/} @out;
}
print join '', @out;
}
sub usage {
print <<EOM;
Usage:
$FindBin::RealScript [options] {file|URL} pattern
Options:
-h Print this help message
-i Ignore case
-r Reverse search
EOM
exit;
}
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.