files/patch-* pathname separators (was Re: cvs commit: ports/games Makefile ...)

Alexey Dokuchaev danfe at nsu.ru
Wed Apr 21 05:03:01 PDT 2004


On Wed, Apr 21, 2004 at 10:43:05AM +0000, Eivind Eklund wrote:
> On Wed, Apr 21, 2004 at 04:54:27PM +0700, Alexey Dokuchaev wrote:
> > On Wed, Apr 21, 2004 at 09:40:50AM +0000, Eivind Eklund wrote:
> > > On Tue, Apr 20, 2004 at 01:09:03PM -0700, David O'Brien wrote:
> > > > On Mon, Apr 19, 2004 at 06:08:10PM +0700, Alexey Dokuchaev wrote:
> > > > > While particular choice for a separator is arguable, the general scheme
> > > > > for patch-files is not, right?  FWIW, that was my point, not `::' vs.
> > > > > whatever.
> > > > > 
> > > > > As a side note, I don't really see any problem with `::' or `-'.
> > > > 
> > > > 1. Bash escapes it so it actually becomes 4 characters.
> > > >    This should not be takeing lightly -- people bitched about '%' in
> > > >    patch names and they were all changed because its a magic charter for
> > > >    Perforce and Perforce users could be bothered to escape it.
> > > > 
> > > > 2. With the file name lenths of some of our patches (greater than 80
> > > >    chars) two characters, when one will do, is annoying.
> > > 
> > > If nobody objects, I'll add the following patch to the porters handbook
> > > to avoid profileration.
> > 
> > Good idea.  Please suggest some evil-less chars (like `+') for
> > separators, and (*begging*) discourage porters from using ``patch-xx''
> > scheme, and commit your patch!
> 
> New patch suggestion:

OK, probably last nit: could you possibly wrap ::, %, and + like this:

	`::', `%', and `+' ?

./danfe

> 
> Index: book.sgml
> ===================================================================
> RCS file: /home/dcvs/doc/en_US.ISO8859-1/books/porters-handbook/book.sgml,v
> retrieving revision 1.400
> diff -u -r1.400 book.sgml
> --- book.sgml	16 Apr 2004 15:05:32 -0000	1.400
> +++ book.sgml	21 Apr 2004 10:31:08 -0000
> @@ -614,10 +614,15 @@
>  	  <replaceable>*</replaceable> denotes the sequence in which the
>  	  patches will be applied &mdash; these are done in
>  	  <emphasis>alphabetical order</emphasis>, thus <literal>aa</literal>
> -	  first, <literal>ab</literal> second and so on.  If you wish,
> -	  you can use names that indicate the pathnames of the files that
> +	  first, <literal>ab</literal> second and so on.  If you do not need
> +	  this explicit ordering, you can use names that indicate the
> +	  pathnames of the files that
>  	  are patched, such as <filename>patch-Imakefile</filename> or
> -	  <filename>patch-src-config.h</filename>.  These files should
> +	  <filename>patch-src+config.h</filename>.  These filenames are
> +	  preferred when possible.  Due to issues with escaping in
> +	  <command>bash</command> and <command>Perforce</command>, you should
> +	  avoid using :: or % as separator in the patch filename.  The
> +	  preferred separator is +.  The files should
>  	  be stored in <makevar>PATCHDIR</makevar>, from where they will be
>  	  automatically applied.  All patches should be relative to
>  	  <makevar>WRKSRC</makevar> (generally the directory your port's
> 
> Eivind.


More information about the cvs-all mailing list