Re: Comments pack protocol description in "Git Community Book" (second round)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jakub Narebski
Date: Sunday, June 7, 2009 - 1:21 am

On Sat, 6 June 2009, Scott Chacon wrote:


[...]

Those are only preliminary thoughts; more detailed analysis is to follow 
(hopefully).

Usually RFC documents refer to RFC 2119 (Key words for use in RFCs to 
Indicate Requirement Levels) for definitions of words such as MUST, 
SHOULD, MAY in the following way:

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
   NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   [RFC 2119][1].

 [1]: http://tools.ietf.org/html/rfc2119

Definitions are done using RFC 5234 (Augmented BNF for Syntax 
Specifications: ABNF), referring to it for example in the following 
way:

   All the mechanisms specified in this document are described in both
   prose and an augmented Backus-Naur form (ABNF).  It is described in
   detail in [RFC 4234][2].

 [2]: http://tools.ietf.org/html/rfc5234


The description of pkt-line and pkt-line-sb formats is wrong: length
includes the header. It is IMHO more natural to define it from 
generality to detail, and not in reverse direction; instead of this:

   pkt-length = 4HEXDIGIT   ; length of pkt-payload
   pkt-line   = pkt-length pkt-payload [ LF / CR ]

for example like this:

   pkt-line   = pkt-length pkt-payload [ LF ]
   pkt-length = 4HEXDIGIT   ; length of pkt-line (including pkt-length)

By the way, we probably accept any terminator, but I'd rather standarize 
on LF ("\n").


In description of sideband:


it is true that no other channels are used, but it is not true that 
other channels are invalid. If they are not supported by client, there 
are simply dropped. This opens possibility of future extension. I guess 
that channel 0 is invalid, because it would be understood as _input_ 
channel (for sending data from client to server), though.

Please correct me if I am wrong here...


P.S. Could you please try to not quote large fragments of email which
you do not refer to in your reply, and which are not relevant to given 
post, like the long quoting at the end of your email without any word 
from you? Thanks in advance.
-- 
Jakub Narebski
Poland
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Request for detailed documentation of git pack protocol, Jakub Narebski, (Tue May 12, 2:29 pm)
Re: Request for detailed documentation of git pack protocol, Shawn O. Pearce, (Tue May 12, 4:34 pm)
Re: Request for detailed documentation of git pack protocol, Shawn O. Pearce, (Thu May 14, 7:44 am)
Re: Request for detailed documentation of git pack protocol, Shawn O. Pearce, (Thu May 14, 7:57 am)
Re: Request for detailed documentation of git pack protocol, Andreas Ericsson, (Thu May 14, 8:02 am)
Re: Request for detailed documentation of git pack protocol, A Large Angry SCM, (Thu May 14, 5:58 pm)
Re: Request for detailed documentation of git pack protocol, Clemens Buchacher, (Fri May 15, 9:51 am)
Re: Request for detailed documentation of git pack protocol, Ealdwulf Wuffinga, (Fri May 15, 12:05 pm)
Re: Request for detailed documentation of git pack protocol, Robin H. Johnson, (Tue Jun 2, 7:18 pm)
Re: Request for detailed documentation of git pack protocol, Andreas Ericsson, (Thu Jun 4, 12:17 am)
Re: Request for detailed documentation of git pack protocol, Shawn O. Pearce, (Thu Jun 4, 11:41 am)
Re: Comments pack protocol description in "Git Community B ..., Jakub Narebski, (Sun Jun 7, 1:21 am)