doc: clarification for hashing git checkouts

Message ID 20160711175001.12557.73043@what
State New
Headers

Commit Message

Troy Sankey July 11, 2016, 5:50 p.m. UTC
  Quoting ng0 (2016-07-11 12:35:49)
> The patch below reads okay to me, could you add your name or
> nickname in the section of guix.texi where document author names
> are included, if applicable (ie if your name is missing before
> this edit)?

Attached patch includes my name.

Troy
  

Comments

Ludovic Courtès July 13, 2016, 10:04 p.m. UTC | #1
Troy Sankey <sankeytms@gmail.com> skribis:

> Quoting ng0 (2016-07-11 12:35:49)
>> The patch below reads okay to me, could you add your name or
>> nickname in the section of guix.texi where document author names
>> are included, if applicable (ie if your name is missing before
>> this edit)?
>
> Attached patch includes my name.
>
> Troy
>
> From 6381b62a3774001f630d868fa7e58acc28b0cc4f Mon Sep 17 00:00:00 2001
> From: Troy Sankey <sankeytms@gmail.com>
> Date: Sun, 10 Jul 2016 17:45:55 -0400
> Subject: [PATCH] doc: clarification for hashing git checkouts
>
> When hashing git checkouts of packages, packagers must first remove the .git
> directory.  This commit adds this clarification to the "Invoking guix hash"
> section in the documentation, and makes a few more related changes throughout
> the rest of the document.

I’ve pushed a variant of this as commit
db97a03a892c662f316c9fd6a497b4b2a18626b3.  Let me know if you think
something is amiss!

Thanks,
Ludo’.
  

Patch

From 6381b62a3774001f630d868fa7e58acc28b0cc4f Mon Sep 17 00:00:00 2001
From: Troy Sankey <sankeytms@gmail.com>
Date: Sun, 10 Jul 2016 17:45:55 -0400
Subject: [PATCH] doc: clarification for hashing git checkouts

When hashing git checkouts of packages, packagers must first remove the .git
directory.  This commit adds this clarification to the "Invoking guix hash"
section in the documentation, and makes a few more related changes throughout
the rest of the document.
---
 doc/guix.texi | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index c9d9bd8..d809694 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -19,7 +19,8 @@  Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
 Copyright @copyright{} 2015, 2016 Leo Famulari@*
 Copyright @copyright{} 2016 Ben Woodcroft@*
 Copyright @copyright{} 2016 Chris Marusich@*
-Copyright @copyright{} 2016 Efraim Flashner
+Copyright @copyright{} 2016 Efraim Flashner@*
+Copyright @copyright{} 2016 Troy Sankey
 
 Permission is granted to copy, distribute and/or modify this document
 under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -2425,7 +2426,7 @@  The @code{sha256} field specifies the expected SHA256 hash of the file
 being downloaded.  It is mandatory, and allows Guix to check the
 integrity of the file.  The @code{(base32 @dots{})} form introduces the
 base32 representation of the hash.  You can obtain this information with
-@code{guix download} (@pxref{Invoking guix download}) and @code{guix
+@code{guix download} (@pxref{Invoking guix download}) or @code{guix
 hash} (@pxref{Invoking guix hash}).
 
 @cindex patches
@@ -2684,7 +2685,9 @@  specified in the @code{uri} field as a @code{git-reference} object; a
 @item @code{sha256}
 A bytevector containing the SHA-256 hash of the source.  Typically the
 @code{base32} form is used here to generate the bytevector from a
-base-32 string.
+base-32 string.  You can obtain this information with @code{guix
+download} (@pxref{Invoking guix download}) or @code{guix hash}
+(@pxref{Invoking guix hash}).
 
 @item @code{file-name} (default: @code{#f})
 The file name under which the source code should be saved.  When this is
@@ -4533,6 +4536,11 @@  hash (@pxref{Invoking guix archive}).
 @c FIXME: Replace xref above with xref to an ``Archive'' section when
 @c it exists.
 
+When hashing a git checkout, be sure to remove the git configuration
+directory (@code{rm -r .git}) as it will erroneously impact the hash.
+The same is true for other version control checkouts (@code{rm -r .hg},
+@code{rm -r .svn}, etc.)
+
 @end table
 
 @node Invoking guix import
-- 
2.1.4