info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Errors and missing information in node "loginfo" in cvs.info


From: Gianni Mariani
Subject: RE: Errors and missing information in node "loginfo" in cvs.info
Date: Fri, 29 Jun 2001 08:53:36 -0700

Jakub,

I find the loginfo interface unreasonably difficult, regardless of
documentation errors you note below.

There are too many inconsistantcies that I decided to patch it and create a
non-shell program as the loginfo parser and added some extra loginfo filter
elements that means I don't need to parse the stdin input text for tag names
and file names.  The patch should handle *ANY* file names, tags names etc.

Anyway, I attached it since it's only 24K in size.  It's a work in progress.
The loginfofiler works like a charm, I need to finish the back end stuff (db
queries, auto insertion in the db etc).

I have submitted the patch before to the info-cvs list and got no response.
However, it seems like this is a common issue.

Oh, consider it licensed under the LPGL.

Regards
G


-----Original Message-----
From: address@hidden [mailto:address@hidden Behalf Of Jakub
Narebski
Sent: Friday, June 29, 2001 7:30 AM
To: address@hidden; address@hidden
Cc: Jakub Narebski
Subject: Errors and missing information in node "loginfo" in cvs.info


Concurrent Versions System (CVS) 1.11 (client/server)

The information about expanding format string in loginfo is wrong.
The details are below (at the end of this file).

There is no information about format of input to command specified in
loginfo file. As far as I tested this format is different for imports
and for commits.


For both commit and import the first two lines are the following
(the output is indented for better readibility; to get actual input one
has to remove two leading spaces).

  Update of $CVSROOT/$subdirectory
  In directory $host:$working_copy_directory

Next part is different for import and commit. For import there is "Log
Message:" section and _next_ comes info about import, in particular about
imported files. For commit _first_ is informationa about
added/removed/modified files, and next the log message. I really wonder
why...

For commits there comes line with the current operation/operations, namely
"Added Files:", "Removed Files:" or "Modified Files:". In the next line
(or lines; because this is not documented I'm not sure) there is, indented
with TAB, space separated list of added, removed or modified files. There
is no such section for added directories (because one can remove empty
directories only with checkout/update with -P option, not by commit).
There is instead "Directory $CVSROOT/$subdirectory added to repository"
log message.

For import next part (separated by empty line) is log info:

  Log Message:
  $log_message

This part is also after commit, but for commit it is at the very end of
input, and is _not_ separated by an empty line.

Further parts are for import solely. After log message, separated by empty
line (?) comes

  Status:

I really wonder what is this section for... IIRC the cvs admin is _not_
logged via loginfo. Could anyone explain that (I know I can look into
source code for cvs, but I'm not feeling like doing it)?

Next is the information about release and vendor tag (see 'cvs import'
syntax), separated of course from log message by an empty line, namely

  Vendor Tag:   $vendor_tag
  Release Tags: $release_tag

The tags are separated from their description with TAB character.

Next, separated by an empty line, there is output of import command.
The format is

  X $module_dir/$subdir/$file

where X is one letter indicator of status. I guess that X can be C for
conflict (it can be I, for ignored), even that files with conflict and
ignored files are not put into repository (not commited).

The last line is the status of import command, e.g.

  No conflicts created by this import


The information about %{sVv} format string is also incomplete, and
what is worse _wrong_.

%V i.e. old version number (pre-checkin), can be NONE if file was added to
directory. I'm not sure if it's NONE if file was resurrected (i.e. it was
at some time present in module, removed, and now added).

%v i.e. new version number (post-checkin), can be NONE if file is being
removed from directory.

The following excerpt from cvs.info about format string is *not true*
<cite>
   The output will be a string of tokens separated by spaces.  For
backwards compatibility, the first token will be the repository
subdirectory.  The rest of the tokens will be comma-delimited lists of
the information requested in the format string.
</cite>
In the case of import, or adding the directory, the rest of the tokens is
"- Imported sources" for import, or "- New directory" when adding the
(sub)directory.


The fact, that for each subdirectory with commited/imported files there is
_separate_ execution of command specified in loginfo is also not told (at
least not explicitely) in "loginfo" node of cvs.info. But one can easily
guess that...


P.S. I did not find anything about bugs in documentation in BUGS file. Is
there any list of bugs in cvs documentation? I do not know texinfo format,
so I cannot make fixes by myself, but I think that this information may
help.

P.P.S. I would be very grateful for sending a copy of reply to
email:address@hidden, because I am not subscribed to bug-cvs nor
info-cvs list.

--
Jakub Narębski                      mailto:address@hidden
    Poland


_______________________________________________
Bug-cvs mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/bug-cvs

Attachment: cvsxs.tgz
Description: application/compressed


reply via email to

[Prev in Thread] Current Thread [Next in Thread]