;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-git) #:use-module (git) #:use-module (guix git) #:use-module (guix tests git) #:use-module (guix build utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-64)) ;; Test the (guix git) tools. (test-begin "git") ;; 'with-temporary-git-repository' relies on the 'git' command. (unless (which (git-command)) (test-skip 1)) (test-assert "commit-difference, linear history" (with-temporary-git-repository directory '((add "a.txt" "A") (commit "first commit") (add "b.txt" "B") (commit "second commit") (add "c.txt" "C") (commit "third commit") (add "d.txt" "D") (commit "fourth commit")) (with-repository directory repository (let ((commit1 (find-commit repository "first")) (commit2 (find-commit repository "second")) (commit3 (find-commit repository "third")) (commit4 (find-commit repository "fourth"))) (and (lset= eq? (commit-difference commit4 commit1) (list commit2 commit3 commit4)) (lset= eq? (commit-difference commit4 commit2) (list commit3 commit4)) (equal? (commit-difference commit3 commit2) (list commit3)) ;; COMMIT4 is not an ancestor of COMMIT1 so we should get the ;; empty list. (null? (commit-difference commit1 commit4))))))) (unless (which (git-command)) (test-skip 1)) (test-assert "commit-difference, fork" (with-temporary-git-repository directory '((add "a.txt" "A") (commit "first commit") (branch "devel") (checkout "devel") (add "devel/1.txt" "1") (commit "first devel commit") (add "devel/2.txt" "2") (commit "second devel commit") (checkout "master") (add "b.txt" "B") (commit "second commit") (add "c.txt" "C") (commit "third commit") (merge "devel" "merge") (add "d.txt" "D") (commit "fourth commit")) (with-repository directory repository (let ((master1 (find-commit repository "first commit")) (master2 (find-commit repository "second commit")) (master3 (find-commit repository "third commit")) (master4 (find-commit repository "fourth commit")) (devel1 (find-commit repository "first devel")) (devel2 (find-commit repository "second devel")) (merge (find-commit repository "merge"))) (and (equal? (commit-difference master4 merge) (list master4)) (lset= eq? (commit-difference master3 master1) (list master3 master2)) (lset= eq? (commit-difference devel2 master1) (list devel2 devel1)) ;; The merge occurred between MASTER2 and MASTER4 so here we ;; expect to see all the commits from the "devel" branch in ;; addition to those on "master". (lset= eq? (commit-difference master4 master2) (list master4 merge master3 devel1 devel2))))))) (test-end "git") gnu.org> Thiago Jung Bauermann 2021-05-10.gitignore: Ignore .mo files....* .gitignore: Ignore files matching the *.mo pattern. Maxim Cournoyer 2021-05-05.gitignore: Ignore .tarball-ignore....This file can be useful to fix a version string when experimenting with 'make release'. * .gitignore: Add a pattern to ignore .tarball-version. Maxim Cournoyer 2021-04-23.gitignore: Ignore release artifacts....Not ignoring these in the tree leads to the next generated version (.version) being suffixed with '-dirty', which confuses things. * .gitignore [/guix-*]: New pattern. [/doc/stamp-[0-9]]: Adjust to ... [/doc/stamp-*]: ... this. [/release-*]: New pattern. Maxim Cournoyer 2021-04-23.gitignore: Ignore generated .pot files....These files are automatically-extracted templates rather than source, hence shouldn't be checked in. * .gitignore: Add a glob pattern to ignore .pot files. Maxim Cournoyer 2020-10-20gitignore: Ignore generated guile binary and intermediate products....* .gitignore: Ignore guile, guile-guile-launcher.o, .deps and .dirstamp. Julien Lepiller 2020-09-17guix-install.sh: Support OpenRC....* etc/guix-install.sh (chk_init_sys): Detect OpenRC. (sys_enable_guix_daemon): Install & enable the Guix daemon on such systems. * etc/openrc/guix-daemon.in: New file. * nix/local.mk: Add a rule for it. (openrcservicedir, nodist_openrcservice_DATA): New variables. (CLEANFILES, EXTRA_DIST): Add them. * .gitignore: Ignore etc/openrc/guix-daemon. Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr> Morgan Smith 2020-07-17gitignore: Don't ignore daemon source code....Remove files that are included in the repository from .gitignore. This improves the behavior of some code-searching tools. Jakub Kądziołka 2020-06-28.gitignore: Ignore 'etc/committer.scm'....* .gitignore: Add '/etc/committer.scm'. Brice Waegeneire