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

 

начало

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

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

семинари ...

документи

как да ...

 

 

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

Re: lug-bg: cvs log date format


  • Subject: Re: lug-bg: cvs log date format
  • From: George Danchev <danchev@xxxxxxxxx>
  • Date: Thu, 2 Sep 2004 09:30:28 +0300

On Wednesday 01 September 2004 15:20, Peter Pentchev wrote:
> On Wed, Sep 01, 2004 at 02:08:54PM +0300, George Danchev wrote:
> [snip]
>
> > Според мен FreeBSD port maintainer/commiter-a е добре да предложи тази
> > промяна в stock/upstream кода на CVS.
>
> Всъщност CVS във FreeBSD не е порт, а е част от base system :)  Ако се

даде в бейс е ;-)

> интересуваш, това, което DES направи с commit-а си на 6 юли 2004, беше
> следното съвсем простичко нещо (като дори можеш да игнорираш първия
> chunk, който добавя задължителното за FreeBSD source repository тагче
> $FreeBSD$, което се държи като $Id$):

Това е ясно, ама нещата не са съвсем прости защото преди този комит е имало и 
други защото нещата не пасват за main.c от 1.11.17 например ;-)
Хванал съм cvs stock sources 1.11.17 и 1.12.9 ... за второто ми се чини, че ще 
е доста по трудно да се merge-нат тези промени, доста се различават нещата в 
1.12.9 ;-)

> Index: src/contrib/cvs/src/log.c
> ===================================================================
> RCS file: /home/ncvs/src/contrib/cvs/src/log.c,v
> retrieving revision 1.1.1.12
> retrieving revision 1.2
> diff -u -r1.1.1.12 -r1.2
> --- src/contrib/cvs/src/log.c 10 Jun 2004 19:05:37 -0000 1.1.1.12
> +++ src/contrib/cvs/src/log.c 6 Jul 2004 08:10:38 -0000 1.2
> @@ -10,6 +10,8 @@
>   * Prints the RCS "log" (rlog) information for the specified files.  With
> no * argument, prints the log information for all the files in the
> directory * (recursive by default).
> + *
> + * $FreeBSD$
>   */
>
>  #include "cvs.h"
> @@ -1605,8 +1607,8 @@
>       &sec);
>      if (year < 1900)
>   year += 1900;
> -    sprintf (buf, "%04d/%02d/%02d %02d:%02d:%02d", year, mon, mday,
> -      hour, min, sec);
> +    sprintf (buf, "%04d%c%02d%c%02d %02d:%02d:%02d",
> +      year, datesep, mon, datesep, mday, hour, min, sec);
>      cvs_output (buf, 0);
>
>      cvs_output (";  author: ", 0);

Така това е ясно. Добавил е по един %c и datesep, който го дефинира по-долу.

> Index: src/contrib/cvs/src/main.c
> ===================================================================
> RCS file: /home/ncvs/src/contrib/cvs/src/main.c,v
> retrieving revision 1.24
> retrieving revision 1.25
> diff -u -r1.24 -r1.25
> --- src/contrib/cvs/src/main.c 15 Apr 2004 01:17:27 -0000 1.24
> +++ src/contrib/cvs/src/main.c 6 Jul 2004 08:10:38 -0000 1.25
> @@ -1237,6 +1237,9 @@
>       if (q)
>    *q = '\0';
>
> +     if (!strcmp(buf, "iso8601")) {
> +  datesep = '-';
> +     }
>       if (!strncmp(buf, "tag=", 4)) {
>    char *what;
>    char *rcs_localid;

Ето това не ми е ясно как ще го merge-на , след като нямаме никъде проверка 
if(q) и то е някъде около 1237 ред, където main.c от cvs 1.11.17 stock е само 
1168 реда, и бая код ми липсва .. значи преди това е имало още комити по тази 
тема. Тука сигурно се урежда работата парсването на CVSROOT/options ... бе да 
не би да си имал предвид CVSROOT/config, защо да вкарват нов конфиг файл ? 

> Index: src/contrib/cvs/src/rcs.c
> ===================================================================
> RCS file: /home/ncvs/src/contrib/cvs/src/rcs.c,v
> retrieving revision 1.26
> retrieving revision 1.27
> diff -u -r1.26 -r1.27
> --- src/contrib/cvs/src/rcs.c 15 Apr 2004 01:17:27 -0000 1.26
> +++ src/contrib/cvs/src/rcs.c 6 Jul 2004 08:10:38 -0000 1.27
> @@ -26,6 +26,7 @@
>  # endif
>  #endif
>
> +int datesep = '/';
>  int preserve_perms = 0;
>
>  /* The RCS -k options, and a set of enums that must match the array.
> @@ -3549,8 +3550,8 @@
>       &sec);
>      if (year < 1900)
>   year += 1900;
> -    sprintf (buf, "%04d/%02d/%02d %02d:%02d:%02d", year, mon, mday,
> -      hour, min, sec);
> +    sprintf (buf, "%04d%c%02d%c%02d %02d:%02d:%02d",
> +      year, datesep, mon, datesep, mday, hour, min, sec);
>      return xstrdup (buf);
>  }

това е ок. ясно как да го merge...

> Index: src/contrib/cvs/src/rcs.h
> ===================================================================
> RCS file: /home/ncvs/src/contrib/cvs/src/rcs.h,v
> retrieving revision 1.10
> retrieving revision 1.11
> diff -u -r1.10 -r1.11
> --- src/contrib/cvs/src/rcs.h 15 Apr 2004 01:17:27 -0000 1.10
> +++ src/contrib/cvs/src/rcs.h 6 Jul 2004 08:10:38 -0000 1.11
> @@ -250,6 +250,7 @@
>  void RCS_setlocalid PROTO ((const char *arg));
>  char *make_file_label PROTO ((const char *, const char *, RCSNode *));
>
> +extern int datesep;
>  extern int preserve_perms;
>
>  /* From import.c.  */

това също е ок...

Та накратко, ако не ти представлява трудност би ли ми извадил един дифф между 
1.11.17 stock и freebsd cvs. Тези промени да се merge-нат към 1.12.9 може да 
не се окаже лесно, но аз още съм навитак последния feature release (1.12.9) 
да може да контролира дейт формата от конфиг. файл. Нещата треа се огледат от 
много страни, не е само тривиално добавяне на date separator string/char. 10x

-- 
pub 4096R/0E4BD0AB  2003-03-18  <keyserver.bu.edu ; pgp.mit.edu>
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================



 

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

 

линукс за българи
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.