Metadata-Version: 2.1
Name: nix-prefetch-github
Version: 5.1.0
Summary: Prefetch source code from github for nix build tool
Home-page: https://github.com/seppeljordan/nix-prefetch-github
Author: Sebastian Jordan
Author-email: sebastian.jordan.mail@googlemail.com
License: UNKNOWN
Platform: UNKNOWN
License-File: LICENSE.txt

nix-prefetch-github
===================

This module implements a python function and a command line tool to
help you fetch sources from github when using ``fetchFromGitHub``.

This program can be distributed under the conditions of the GNU Public
License Version 3.  Check out ``LICENSE.txt`` to read the license
text.

command line example
--------------------

::

    $ nix-prefetch-github seppeljordan nix-prefetch-github
    {
	"owner": "seppeljordan",
	"repo": "nix-prefetch-github",
	"rev": "856d511bd65dec00bfa2bee6b68b1479699def3d",
	"sha256": "ACSWdkcCCfptbkusYiPs5j651tC62JN+W4s5gdWhEdk=",
	"fetchSubmodules": false,
	"leaveDotGit": false,
	"deepClone": false
    }

available commands
------------------

nix-prefetch-github
^^^^^^^^^^^^^^^^^^^

This command downloads the code from a github repository and puts it
into the local nix store.  It also prints the function arguments to
``fetchFromGitHub`` to the standard output.  ::

    $ nix-prefetch-github --help
    usage: nix-prefetch-github [-h] [--fetch-submodules]
			       [--no-fetch-submodules]
			       [--leave-dot-git]
			       [--no-leave-dot-git] [--deep-clone]
			       [--no-deep-clone] [--verbose] [--nix]
			       [--json] [--rev REV] [--version]
			       owner repo

    positional arguments:
      owner
      repo

    optional arguments:
      -h, --help            show this help message and exit
      --fetch-submodules
      --no-fetch-submodules
      --leave-dot-git
      --no-leave-dot-git
      --deep-clone
      --no-deep-clone
      --verbose, -v
      --nix
      --json
      --rev REV
      --version, -V

nix-prefetch-github-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This command examins the current working directory and tries to figure
out if it is part of a git repository linked to github.  If this was
successful the program prefetches the currently checked out commit
from the ``origin`` remote repository similar to the command
``nix-prefetch-github``.
::

    $ nix-prefetch-github-directory --help
    usage: nix-prefetch-github-directory [-h] [--fetch-submodules]
					 [--no-fetch-submodules]
					 [--leave-dot-git]
					 [--no-leave-dot-git]
					 [--deep-clone]
					 [--no-deep-clone]
					 [--verbose] [--nix]
					 [--json]
					 [--directory DIRECTORY]
					 [--remote REMOTE]

    optional arguments:
      -h, --help            show this help message and exit
      --fetch-submodules
      --no-fetch-submodules
      --leave-dot-git
      --no-leave-dot-git
      --deep-clone
      --no-deep-clone
      --verbose, -v
      --nix
      --json
      --directory DIRECTORY
      --remote REMOTE

nix-prefetch-github-latest-release
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This command fetches the code for the latest release of the specified
repository.
::

    $ nix-prefetch-github-latest-release --help
    usage: nix-prefetch-github [-h] [--fetch-submodules]
			       [--no-fetch-submodules]
			       [--leave-dot-git]
			       [--no-leave-dot-git] [--deep-clone]
			       [--no-deep-clone] [--verbose] [--nix]
			       [--json] [--version]
			       owner repo

    positional arguments:
      owner
      repo

    optional arguments:
      -h, --help            show this help message and exit
      --fetch-submodules
      --no-fetch-submodules
      --leave-dot-git
      --no-leave-dot-git
      --deep-clone
      --no-deep-clone
      --verbose, -v
      --nix
      --json
      --version, -V

development environment
-----------------------

Use ``nix develop`` with flake support enabled.  Development without
nix flake support is not officially supported.  Run the provided tests
via ``python -m unittest discover``.  You can control what kind of
tests are run via the variable ``DISABLED_TESTS``::

  # Only run tests that don't hit network and don't use nix
  DISABLED_TESTS="network requires_nix_build" python -m unittest discover

Currently ``network`` and ``requires_nix_build`` are the only values
that make sense with this environment variable.

changes
-------

v5.1.0
^^^^^^

- Use ``nix-prefetch-git`` and ``nix-prefetch-url`` for calculating
  sha256 sums when possible. The application will fall back to the old
  method when ``nix-prefetch-*`` are not available.

v5.0.1
^^^^^^

- Fix breaking bug in hash generation

v5.0.0
^^^^^^

- Remove all dependencies to other python packages other than "core" ones
- Allow users to control debugging output via the ``--verbosity`` cli
  option
- All commands now understand ``--fetch-submodules`` and
  ``--no-fetch-submodules`` options
- Commands now understand ``--leave-dot-git`` and
  ``--no-leave-dot-git`` options
- Commands now understand ``--deep-clone`` and ``--no-deep-clone``

v4.0.4
^^^^^^

- Print standard error output of subprocesses for better debugging

v4.0.3
^^^^^^

- Generated hashes now don't have a "sha256-" prefix
- jinja2 is no longer a dependency of nix-prefetch-github

v4.0.2
^^^^^^
- packaging release, no bugfixes or features

v4.0.1
^^^^^^

- Fix issue #38

v4.0
^^^^

- Make fetching submodules the default in calls to python routines.
  The CLI should be uneffected by this change.
- Remove default values for ``fetch_submodules`` in all internal
  classes.
- Implement ``nix-prefetch-github-latest-release`` command

v3.0
^^^^

- major changes to the internal module structure
- introduction of the ``nix-prefetch-github-directory`` command
- code repository now functions as a nix flake

v2.4
^^^^

- added ``--fetch-submodules`` flag
- Fixed incompability with nix 2.4

v2.3.2
^^^^^^

- fix issues #21, #22
- nix-prefetch-github now accepts full ref names,
  e.g. ``refs/heads/master`` which was broken since 2.3 (#23)

v2.3.1
^^^^^^

- Fix bug in generated nix expression
- Fix bug that prevented targeting tags with prefetch command
- Improve error message format in case revision is not found

v2.3
^^^^

- Remove dependency to ``requests``
- Default to ``master`` branch instead of first branch in list

v2.2
^^^^

- Add ``--version`` flag
- Fix bug in output formatting

v2.1
^^^^

- Fix bug (#4) that made ``nix-prefetch-github`` incompatible with
  ``nix 2.2``.

v2.0
^^^^

- The result of nix_pretch_github and its corresponding command line
  tool now contains always the actual commit hash as detected by the
  tool instead of the branch or tag name.
- Add a new flag ``--nix`` that makes the command line tool output a
  valid nix expression
- Removed the ``--hash-only`` and ``--no-hash-only`` flags and changed
  add ``--prefetch`` and ``--no-prefetch`` flags to replace them.


