Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

Re: lug-bg: cvs log date format


  • Subject: Re: lug-bg: cvs log date format
  • From: Peter Pentchev <roam@xxxxxxxxxxx>
  • Date: Tue, 31 Aug 2004 10:40:47 +0300

On Mon, Aug 30, 2004 at 10:12:40PM +0300, George Danchev wrote:
> Здравейте,
> имаме сървър със cvs repo от което при клиента вадиме лог инфо със cvs log. 
> Обаче се оказва, че statcvs не му харесва date format и ето какво ми крещи:
> StatCvs - CVS statistics generation
> Logfile parsing failed.
> unexpected date format in line 17
> 
> Ето и част от лог-а с формата на датата:
> #head -n17 LOG
[snip]
> revision 1.1
> date: 2004-08-29 16:17:57 +0000;  author: danchev;  state: Exp;
> 
> Мда, последния ред е формата на датата. Та какви видове имаме и как се 
> контролира той от файловете в CVSROOT/

Хмм.. бърз въпрос: cvs --version какво ще покаже?

Върху самия формат на датата така, както излиза в изхода от cvs log,
нямаш много контрол.  Ако разглеждаш stock CVS sources така, както идват
от cvshome.org, мисля, че нямаш никакъв контрол, поне не и във версия
1.11.17.  От файла src/log.c, редове около 1611:

    sprintf (buf, "%04d/%02d/%02d %02d:%02d:%02d", year, mon, mday,
             hour, min, sec);
    cvs_output (buf, 0);

Сега... има друг момент, който може би е точно това, с което се
сблъскваш.  Стандартният CVS може да извежда датата само в
един-единствен формат - с наклонена черта като разделител между година,
месец и ден.  В това, което ти си paste-нал горе, за разделител се
използва тире... ти да не би да ползваш FreeBSD, а? :)  Защото
Dag-Erling Smoerdgrav преди известно време добави във FreeBSD-ския CVS
една опцийка iso8601, която кара сървъра (или клиента, ако работи върху
локално хранилище) да извежда датите точно така - с тирета между година,
месец, ден.  Дори и да не ползваш FreeBSD, а примерно Debian или някаква
такава щуротия (:P), провери дали и при теб няма такава някаква опция и
дали тя пък не е случайно включена - при FreeBSD тази опция се слага във
файла CVSROOT/options в хранилището.

Може би statcvs е "свикнало" да работи със стандартния формат, при който
разделителят е наклонена черта; ако е така, не би трябвало да бъде много
трудно пък да го обучиш да работи и с дати, форматирани според ISO 8601,
но първо провери дали не можеш да убедиш CVS-а си да се държи "нормално"
(макар че май за мен вече "нормално" е ISO 8601, но знае ли човек...)

> Проблема не е в statcvs или JRE-то при клиента, те си работят срещу други 
> хранилища от които е изваден лог с date format като този:
> date: 2001/10/21 12:18:45;  author: awi;  state: Exp;  lines: +1 -1
> 
> Да де сега ясно е, че statcvs е за бой (хак, ама жава не разбираме ;-), че не 
> може да парсва date: 2004-08-29 16:17:57, а иска да са във формат date: 
> 2001/10/21 12:18:45, но въпроса е как да му докарам разбираемия за него 
> формат (със слашове, вместо дашове), т.е. какво се сетва в CVSROOT/  на 
> сървъра, че да се удоволетвори това изискване. Благодаря.

А, не чета, ти и сам си стигнал до тоя извод :)  Та.. провери дали в
CVSROOT/options няма iso8601 или нещо такова, или погледни
докиментацията на твоята версия на CVS...

Поздрави,
Петър

-- 
Peter Pentchev	roam@xxxxxxxxxxx    roam@xxxxxxxx    roam@xxxxxxxxxxx
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
This sentence is false.

Attachment: pgpPdhiSLTdAp.pgp
Description: PGP signature



 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.