GNU bug report logs - #40025
[PATCH] Add gitless package definition.

Previous Next

Package: guix-patches;

Reported by: "John D. Boy" <jboy <at> bius.moe>

Date: Wed, 11 Mar 2020 15:34:01 UTC

Severity: normal

Tags: patch

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40025 in the body.
You can then email your comments to 40025 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#40025; Package guix-patches. (Wed, 11 Mar 2020 15:34:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to "John D. Boy" <jboy <at> bius.moe>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 11 Mar 2020 15:34:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "John D. Boy" <jboy <at> bius.moe>
To: guix-patches <at> gnu.org
Subject: [PATCH] Add gitless package definition.
Date: Wed, 11 Mar 2020 16:11:37 +0100
---
 gnu/packages/version-control.scm | 50 ++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 52626f8076..7aac933d15 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -2373,3 +2373,53 @@ interrupted, published, and collaborated on while in progress.")
 videos, datasets, and graphics with text pointers inside Git, while storing the
 file contents on a remote server.")
     (license license:expat)))
+
+(define-public gitless
+  (package
+    (name "gitless")
+    ;; The PyPI package lacks the test suite, so we build it directly from the
+    ;; git repository.
+    (version "0.8.8")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/gitless-vcs/gitless")
+             (commit (string-append "v" version))))
+       (sha256
+        (base32 "048kl27zjr68hgs70g3l98ci9765wxva6azzrhcdys7nsdd493n6"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+	 (add-before 'build 'loosen-requirements
+	   (lambda _
+	     (substitute* "setup.py"
+               ;; Don't insist on an older version of pygit2.
+	       (("pygit2==") "pygit2>="))
+	     (substitute* "requirements.txt"
+	       (("pygit2==") "pygit2>="))
+	     #t))
+	 (add-before 'check 'prepare-for-tests
+	   (lambda _
+             ;; Find the 'gl' command.
+	     (rename-file "gl.py" "gl")
+	     (setenv "PATH" (string-append (getcwd) ":" (getenv "PATH")))
+             ;; The tests try to run git as if it were already set up.
+	     (setenv "HOME" (getcwd))
+	     (invoke "git" "config" "--global" "user.email" "git <at> example.com")
+	     (invoke "git" "config" "--global" "user.name" "guix")
+	     #t)))))
+    (native-inputs
+     ;; Required for tests.
+     `(("git-minimal" ,git-minimal)))
+    (propagated-inputs
+     `(("python-clint" ,python-clint)
+       ("python-pygit2" ,python-pygit2)
+       ("python-sh" ,python-sh)))
+    (home-page "https://gitless.com")
+    (synopsis
+     "A version control system built on top of Git")
+    (description
+     "A version control system built on top of Git")
+    (license license:expat)))
-- 
2.20.1





Information forwarded to guix-patches <at> gnu.org:
bug#40025; Package guix-patches. (Wed, 11 Mar 2020 19:05:01 GMT) Full text and rfc822 format available.

Message #8 received at 40025 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: 40025 <at> debbugs.gnu.org
Subject: [PATCH] Add gitless package definition.
Date: Wed, 11 Mar 2020 20:05:27 +0100
[Message part 1 (text/plain, inline)]
John,

Thanks for the patch!

Guix uses a specific commit message format.  It's partially 
documented in ‘(guix)Submitting Patches’ but you're IMO better off 
just reading the git history to get a feel for it.  Here's the 
commit message for this package:

   gnu: Add gitless.

   * gnu/packages/version-control.scm (gitless): New public 
   variable.

   Co-authored-by: Tobias Geerinckx-Rice <me <at> tobias.gr>

I've written down my comments below, but you don't need to send a 
V2.

I'll try to make it work here and will push a modified version if 
I succeed.  It would be nice if I could get rid of propagation, 
and the path to a (non-native) git still needs to be embedded so 
the user doesn't need to install git themselves.

> +       (uri (git-reference
> +             (url "https://github.com/gitless-vcs/gitless")
> +             (commit (string-append "v" version))))

This is missing the FILE-NAME field.  Without it, the source is 
checked out into /gnu/store/<hash>-checkout/ which makes it harder 
to see what's what.

Adding (file-name (git-file-name name version)) puts it in 
/gnu/store/<hash>-gitless-<version>-checkout.

> +	     (substitute* "requirements.txt"
> +	       (("pygit2==") "pygit2>="))

This has no effect on the end result so I suggest we drop it 
again.

> + (synopsis
> +  "A version control system built on top of Git")

Synopses shouldn't start with an article.

Tip: running ‘./pre-inst-env guix lint gitless’ will catch things 
like this.  It also caught the missing FILE-NAME.

It also printed several warnings about using tabs instead of 
spaces.  Guix does not use tabs in Scheme code.

> +    (description
> +     "A version control system built on top of Git")

This is waaay too short, I told you that before :-p  Moreover, 
descriptions should consist of complete sentences.  I've knocked 
something together based on the home page blurb:

 Gitless is a Git-compatible version control system that aims to 
 be
 easy to learn and use.  It simplifies the common workflow by
 committing changes to tracked files by default and saving any
 uncommitted changes as part of a branch.

 The friendly @command{gl} command-line interface gives feedback 
 and
 helps you figure out what to do next.

 Gitless is implemented on top of Git and its commits and 
 repositories
 are indistinguishable from Git's.  You (or other contributors) 
 can
 always fall back on @command{git}, and use any regular Git 
 hosting
 service.

Kind regards,

T G-R
[signature.asc (application/pgp-signature, inline)]

Reply sent to Tobias Geerinckx-Rice <me <at> tobias.gr>:
You have taken responsibility. (Thu, 12 Mar 2020 04:17:02 GMT) Full text and rfc822 format available.

Notification sent to "John D. Boy" <jboy <at> bius.moe>:
bug acknowledged by developer. (Thu, 12 Mar 2020 04:17:02 GMT) Full text and rfc822 format available.

Message #13 received at 40025-done <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: 40025-done <at> debbugs.gnu.org
Subject: Re: [bug#40025] [PATCH] Add gitless package definition.
Date: Thu, 12 Mar 2020 05:17:10 +0100
[Message part 1 (text/plain, inline)]
Tobias Geerinckx-Rice via Guix-patches via 写道:
> I'll try to make it work here and will push a modified version 
> if I
> succeed.  It would be nice if I could get rid of propagation, 
> and the
> path to a (non-native) git still needs to be embedded so the 
> user
> doesn't need to install git themselves.

Done and done.  I added a copyright line for you and (using this 
package) pushed this to master as 
f930814afae8e20125dab58b060a691ea8398e26.

Thanks!

T G-R
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 09 Apr 2020 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 11 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.