]> git.scottworley.com Git - pinch/log
pinch
2 years agoSupport restricted mode: Allow manifest access with search paths.
Scott Worley [Wed, 19 Jan 2022 19:25:41 +0000 (11:25 -0800)]
Support restricted mode: Allow manifest access with search paths.

2 years agoAnnounce test names as they are run.
Scott Worley [Fri, 14 Jan 2022 06:00:08 +0000 (22:00 -0800)]
Announce test names as they are run.

This makes it easier to see which test is broken.

2 years agoSupport restricted mode: Allow tarball access with search paths.
Scott Worley [Fri, 14 Jan 2022 05:55:09 +0000 (21:55 -0800)]
Support restricted mode: Allow tarball access with search paths.

This allows 'pinch update' to create a new profile.  Updating an
existing profile still doesn't work because nix-env can't read the
existing manifest.

Also, the search path names aren't the best.  Multiple links
probably don't work in restricted mode.  (This tool is deprecated
& is receiving minimal maintenance; patches welcome.)

2 years agoUse nix 2.3 because 2.4 broke <nix/unpack-channel.nix>
Scott Worley [Fri, 14 Jan 2022 00:01:09 +0000 (16:01 -0800)]
Use nix 2.3 because 2.4 broke <nix/unpack-channel.nix>

Nix commit 787469c7b66aec12ab6847e7db2cdc8aef5c325e removed
<nix/unpack-channel.nix>.

2 years agoDeprecation notice
Scott Worley [Thu, 13 Jan 2022 23:52:16 +0000 (15:52 -0800)]
Deprecation notice

3 years agoShow channel fetch URL
Scott Worley [Sun, 7 Nov 2021 19:49:19 +0000 (11:49 -0800)]
Show channel fetch URL

2 years agoStart on 3.0.6
Scott Worley [Fri, 14 Jan 2022 00:05:27 +0000 (16:05 -0800)]
Start on 3.0.6

3 years agoRelease 3.0.5 v3.0.5
Scott Worley [Fri, 9 Jul 2021 22:36:43 +0000 (15:36 -0700)]
Release 3.0.5

3 years agoShow filename being hashed
Scott Worley [Fri, 9 Jul 2021 22:31:47 +0000 (15:31 -0700)]
Show filename being hashed

This is handy for identifying which file is corrupt in the nix store.

3 years agofallback git-cache 1.3.1 -> 1.4.1
Scott Worley [Fri, 9 Jul 2021 23:06:34 +0000 (16:06 -0700)]
fallback git-cache 1.3.1 -> 1.4.1

3 years agoQuiet git init.defaultBranch hints during test runs
Scott Worley [Fri, 9 Jul 2021 22:12:58 +0000 (15:12 -0700)]
Quiet git init.defaultBranch hints during test runs

3 years agoAppease linter: No global variables
Scott Worley [Fri, 9 Jul 2021 22:30:27 +0000 (15:30 -0700)]
Appease linter: No global variables

3 years agoStart on 3.0.5
Scott Worley [Fri, 9 Jul 2021 22:10:12 +0000 (15:10 -0700)]
Start on 3.0.5

3 years agofallback git-cache 1.2.1 -> 1.3.1
Scott Worley [Tue, 8 Jun 2021 06:25:24 +0000 (23:25 -0700)]
fallback git-cache 1.2.1 -> 1.3.1

3 years agoRelease 3.0.4 v3.0.4
Scott Worley [Mon, 7 Jun 2021 19:15:42 +0000 (12:15 -0700)]
Release 3.0.4

3 years agoUse nix from nixpkgs (not from PATH) to avoid nixUnstable
Scott Worley [Mon, 7 Jun 2021 19:13:43 +0000 (12:13 -0700)]
Use nix from nixpkgs (not from PATH) to avoid nixUnstable

3 years agoStart on 3.0.4
Scott Worley [Mon, 7 Jun 2021 19:13:31 +0000 (12:13 -0700)]
Start on 3.0.4

3 years agoRelease 3.0.3 v3.0.3
Scott Worley [Thu, 20 May 2021 07:11:26 +0000 (00:11 -0700)]
Release 3.0.3

3 years agoDon't pass --experimental-features to old nix
Scott Worley [Thu, 20 May 2021 06:57:08 +0000 (23:57 -0700)]
Don't pass --experimental-features to old nix

It complains: error: unrecognised flag '--experimental-features'

3 years agoStart on 3.0.3
Scott Worley [Thu, 20 May 2021 06:48:06 +0000 (23:48 -0700)]
Start on 3.0.3

3 years agoRelease 3.0.2 v3.0.2
Scott Worley [Wed, 17 Feb 2021 06:55:26 +0000 (22:55 -0800)]
Release 3.0.2

3 years agoDon't require experimental-features=nix-command in system nix.conf
Scott Worley [Wed, 17 Feb 2021 06:52:20 +0000 (22:52 -0800)]
Don't require experimental-features=nix-command in system nix.conf

3 years agoStart on 3.0.2
Scott Worley [Wed, 17 Feb 2021 06:51:38 +0000 (22:51 -0800)]
Start on 3.0.2

4 years agoRelease 3.0.1 v3.0.1
Scott Worley [Tue, 4 Aug 2020 21:53:48 +0000 (14:53 -0700)]
Release 3.0.1

4 years agofallback git-cache 1.0.0 -> 1.2.1
Scott Worley [Tue, 4 Aug 2020 21:51:36 +0000 (14:51 -0700)]
fallback git-cache 1.0.0 -> 1.2.1

Specifying git-cache's dependencies here is unfortunate.

4 years agoMake tests fast again when using recent git-cache with backoff
Scott Worley [Tue, 4 Aug 2020 21:50:47 +0000 (14:50 -0700)]
Make tests fast again when using recent git-cache with backoff

4 years agoLinks & feature comparison with require.nix, niv, flakes
Scott Worley [Fri, 17 Jul 2020 22:34:28 +0000 (15:34 -0700)]
Links & feature comparison with require.nix, niv, flakes

4 years agoFix typo in README
Scott Worley [Wed, 15 Jul 2020 19:44:34 +0000 (12:44 -0700)]
Fix typo in README

4 years agoStart on 3.0.1
Scott Worley [Wed, 15 Jul 2020 19:43:20 +0000 (12:43 -0700)]
Start on 3.0.1

4 years agoRelease 3.0.0 v3.0.0
Scott Worley [Sat, 11 Jul 2020 04:57:57 +0000 (21:57 -0700)]
Release 3.0.0

4 years agoMove git_cache out to a separate library
Scott Worley [Fri, 10 Jul 2020 20:22:22 +0000 (13:22 -0700)]
Move git_cache out to a separate library

4 years agoStart on 3.0.0
Scott Worley [Tue, 30 Jun 2020 20:35:54 +0000 (13:35 -0700)]
Start on 3.0.0

4 years ago2.1.1: Pin faster 2.1.1
Scott Worley [Wed, 1 Jul 2020 07:05:38 +0000 (00:05 -0700)]
2.1.1: Pin faster

4 years agoRelease 2.1.0 2.1.0
Scott Worley [Tue, 30 Jun 2020 20:34:31 +0000 (13:34 -0700)]
Release 2.1.0

4 years agoSpecify profile path with --profile
Scott Worley [Tue, 30 Jun 2020 20:30:13 +0000 (13:30 -0700)]
Specify profile path with --profile

4 years agoBegin keeping a changelog
Scott Worley [Thu, 18 Jun 2020 16:41:44 +0000 (09:41 -0700)]
Begin keeping a changelog

As recommended by https://keepachangelog.com/

4 years agoFactor out symlink_archive()
Scott Worley [Thu, 18 Jun 2020 08:19:53 +0000 (01:19 -0700)]
Factor out symlink_archive()

4 years agoStart on 2.1.0
Scott Worley [Thu, 18 Jun 2020 08:14:18 +0000 (01:14 -0700)]
Start on 2.1.0

4 years agoRelease 2.0.0 2.0.0
Scott Worley [Thu, 18 Jun 2020 06:48:31 +0000 (23:48 -0700)]
Release 2.0.0

4 years agoSupport old mypy version 0.701
Scott Worley [Thu, 18 Jun 2020 06:41:31 +0000 (23:41 -0700)]
Support old mypy version 0.701

4 years agoAdd symlink SearchPath type
Scott Worley [Wed, 17 Jun 2020 23:23:26 +0000 (16:23 -0700)]
Add symlink SearchPath type

4 years agoVerify unknown config fields raise errors
Scott Worley [Wed, 17 Jun 2020 21:03:43 +0000 (14:03 -0700)]
Verify unknown config fields raise errors

4 years agoProcess alias and non-alias configs separately
Scott Worley [Wed, 17 Jun 2020 18:50:13 +0000 (11:50 -0700)]
Process alias and non-alias configs separately

4 years agoFactor out pin check
Scott Worley [Wed, 17 Jun 2020 17:48:37 +0000 (10:48 -0700)]
Factor out pin check

4 years agoRename read_search_path -> read_config_section
Scott Worley [Wed, 17 Jun 2020 17:40:57 +0000 (10:40 -0700)]
Rename read_search_path -> read_config_section

4 years agoRemove assert that's now handled by types
Scott Worley [Wed, 17 Jun 2020 17:39:45 +0000 (10:39 -0700)]
Remove assert that's now handled by types

4 years agoImmutable SearchPaths
Scott Worley [Tue, 16 Jun 2020 11:17:27 +0000 (04:17 -0700)]
Immutable SearchPaths

4 years agoPrefer more type-safe NamedTuple over SimpleNamespace
Scott Worley [Tue, 16 Jun 2020 08:29:38 +0000 (01:29 -0700)]
Prefer more type-safe NamedTuple over SimpleNamespace

4 years agoContinue pulling release_name and git_revision out of SearchPath
Scott Worley [Mon, 15 Jun 2020 20:46:34 +0000 (13:46 -0700)]
Continue pulling release_name and git_revision out of SearchPath

4 years agoContinue pulling release_name and git_revision out of SearchPath
Scott Worley [Mon, 15 Jun 2020 20:42:44 +0000 (13:42 -0700)]
Continue pulling release_name and git_revision out of SearchPath

4 years agoContinue pulling release_name and git_revision out of SearchPath
Scott Worley [Mon, 15 Jun 2020 20:35:03 +0000 (13:35 -0700)]
Continue pulling release_name and git_revision out of SearchPath

4 years agoContinue pulling release_name and git_revision out of SearchPath
Scott Worley [Mon, 15 Jun 2020 20:29:01 +0000 (13:29 -0700)]
Continue pulling release_name and git_revision out of SearchPath

4 years agoStart pulling release_name and git_revision out of SearchPath
Scott Worley [Mon, 15 Jun 2020 19:57:35 +0000 (12:57 -0700)]
Start pulling release_name and git_revision out of SearchPath

4 years agoFix not-pinned check
Scott Worley [Mon, 15 Jun 2020 19:55:30 +0000 (12:55 -0700)]
Fix not-pinned check

4 years agoRename top-level command functions
Scott Worley [Mon, 15 Jun 2020 19:52:05 +0000 (12:52 -0700)]
Rename top-level command functions

4 years agofetch_resource is just for Channels
Scott Worley [Mon, 15 Jun 2020 19:36:25 +0000 (12:36 -0700)]
fetch_resource is just for Channels

4 years agoMove pin_channel() into ChannelSearchPath.pin()
Scott Worley [Mon, 15 Jun 2020 19:30:15 +0000 (12:30 -0700)]
Move pin_channel() into ChannelSearchPath.pin()

4 years agoRequire type to be specified in config
Scott Worley [Mon, 15 Jun 2020 18:38:12 +0000 (11:38 -0700)]
Require type to be specified in config

4 years agoKeep config mutability at top level
Scott Worley [Mon, 15 Jun 2020 18:19:26 +0000 (11:19 -0700)]
Keep config mutability at top level

4 years agopolymorphic fetch()
Scott Worley [Sat, 13 Jun 2020 16:56:32 +0000 (09:56 -0700)]
polymorphic fetch()

4 years agoPolymorphic pin()
Scott Worley [Sat, 13 Jun 2020 16:46:44 +0000 (09:46 -0700)]
Polymorphic pin()

4 years agoIntroduce types {Git,Channel}SearchPath
Scott Worley [Sat, 13 Jun 2020 16:27:41 +0000 (09:27 -0700)]
Introduce types {Git,Channel}SearchPath

4 years agoRename Channel -> TarrableSearchPath
Scott Worley [Sat, 13 Jun 2020 16:24:41 +0000 (09:24 -0700)]
Rename Channel -> TarrableSearchPath

4 years agoUse type rather than field presence
Scott Worley [Sat, 13 Jun 2020 07:24:24 +0000 (00:24 -0700)]
Use type rather than field presence

4 years agoSplit AliasSearchPath out of Channel
Scott Worley [Sat, 13 Jun 2020 07:20:09 +0000 (00:20 -0700)]
Split AliasSearchPath out of Channel

4 years agoDuplicate searchpath checking in one place
Scott Worley [Sat, 13 Jun 2020 07:05:43 +0000 (00:05 -0700)]
Duplicate searchpath checking in one place

4 years agoread_search_path returns a SearchPath
Scott Worley [Sat, 13 Jun 2020 06:45:56 +0000 (23:45 -0700)]
read_search_path returns a SearchPath

4 years agoMake fetch_channel a Channel method
Scott Worley [Sat, 13 Jun 2020 06:43:06 +0000 (23:43 -0700)]
Make fetch_channel a Channel method

4 years agoMake pin() a Channel method
Scott Worley [Sat, 13 Jun 2020 06:29:55 +0000 (23:29 -0700)]
Make pin() a Channel method

4 years agoRe-order definitions
Scott Worley [Sat, 13 Jun 2020 06:28:27 +0000 (23:28 -0700)]
Re-order definitions

4 years agoIntroduce read_search_path()
Scott Worley [Sat, 13 Jun 2020 06:19:28 +0000 (23:19 -0700)]
Introduce read_search_path()

4 years agoIntroduce SearchPath type
Scott Worley [Sat, 13 Jun 2020 06:10:08 +0000 (23:10 -0700)]
Introduce SearchPath type

4 years agoRelease: 1.5.1 1.5.1
Scott Worley [Thu, 18 Jun 2020 00:02:04 +0000 (17:02 -0700)]
Release: 1.5.1

4 years agoSupport multiple versions of mypy
Scott Worley [Wed, 17 Jun 2020 23:57:47 +0000 (16:57 -0700)]
Support multiple versions of mypy

0.701 needs the type-ignore directives

0.761 needs --no-warn-unused-ignores so it doesn't freak out about the
type-ignore directives for 0.701.

4 years agoSupport "log.showSignature = true" 1.5
Scott Worley [Fri, 12 Jun 2020 09:16:39 +0000 (02:16 -0700)]
Support "log.showSignature = true"

Don't let "log.showSignature = true" in global git config cause
signature check output to appear in the release name.

Bad excuses for not including a test:
  * Would have to add GPG as a dependency.
  * Generating a GPG key during the test would be slow.
  * Making a local "global" git config in the test would be troublesome.

4 years agoSeparate test and lint 1.4
Scott Worley [Thu, 11 Jun 2020 23:38:34 +0000 (16:38 -0700)]
Separate test and lint

Don't lint in package build.  Lint in git pre-commit hook.

4 years agoOmit build directories from mypy run
Scott Worley [Thu, 11 Jun 2020 23:21:18 +0000 (16:21 -0700)]
Omit build directories from mypy run

4 years agoBuild like a real Python package
Scott Worley [Thu, 11 Jun 2020 20:41:49 +0000 (13:41 -0700)]
Build like a real Python package

4 years agoDon't hide stderr
Scott Worley [Thu, 11 Jun 2020 20:38:20 +0000 (13:38 -0700)]
Don't hide stderr

Only capture stdout; allow stderr to leak out to the terminal.  This
allows diagnosis of errors from subprocesses.

4 years agoTests use a private /nix/store
Scott Worley [Thu, 11 Jun 2020 20:33:18 +0000 (13:33 -0700)]
Tests use a private /nix/store

This allows the tests to run inside a nix build.  Otherwise, it fails with

  error: creating directory '/nix/var': Permission denied

Bonus: This avoids polluting the real store with test artifacts.

See also https://github.com/NixOS/nix/issues/13

4 years agoSet git user in test harness
Scott Worley [Thu, 11 Jun 2020 20:30:20 +0000 (13:30 -0700)]
Set git user in test harness

This allows git to run in a minimal test environment without git
aborting with "*** Please tell me who you are."

4 years agoHandle 0 terminal width
Scott Worley [Thu, 11 Jun 2020 20:29:20 +0000 (13:29 -0700)]
Handle 0 terminal width

4 years agoSpell "log" in "git log" correctly
Scott Worley [Thu, 11 Jun 2020 20:24:49 +0000 (13:24 -0700)]
Spell "log" in "git log" correctly

This only ever worked because I have a git alias "lo".  ðŸ˜…

Hooray for proper test environment isolation.

4 years agoDon't depend upon xdg 1.3
Scott Worley [Tue, 2 Jun 2020 18:37:37 +0000 (11:37 -0700)]
Don't depend upon xdg

It's not yet available in a stable release branch of nixpkgs.  We don't want to
force folks to use unstable to use pinch.

Revert this commit after 20.09 is released and everyone's had time to upgrade.

4 years agoCache nix store paths of generated tarballs
Scott Worley [Tue, 2 Jun 2020 18:17:17 +0000 (11:17 -0700)]
Cache nix store paths of generated tarballs

This eliminates the slow "Generating tarball for git revision" step for
tarballs that have already been generated and are already in the nix store.

4 years agoRun tests on commit
Scott Worley [Fri, 29 May 2020 06:52:53 +0000 (23:52 -0700)]
Run tests on commit

4 years agoFactor out fetch_channel
Scott Worley [Fri, 29 May 2020 06:52:01 +0000 (23:52 -0700)]
Factor out fetch_channel

Appeases pylint's "Too many branches"

4 years agoBetter error message for running "update" before "pin"
Scott Worley [Fri, 29 May 2020 06:22:07 +0000 (23:22 -0700)]
Better error message for running "update" before "pin"

4 years agoVerify update fails if run before pin
Scott Worley [Fri, 29 May 2020 06:16:50 +0000 (23:16 -0700)]
Verify update fails if run before pin

4 years agoMore tests around rejecting force pushes
Scott Worley [Sat, 23 May 2020 04:15:18 +0000 (21:15 -0700)]
More tests around rejecting force pushes

4 years agoUse separate cache dir for test isolation
Scott Worley [Sat, 23 May 2020 01:26:41 +0000 (18:26 -0700)]
Use separate cache dir for test isolation

4 years agotests: Depend upon /bin/sh supporting traps
Scott Worley [Sat, 23 May 2020 01:07:37 +0000 (18:07 -0700)]
tests: Depend upon /bin/sh supporting traps

4 years agoFactor out test setup
Scott Worley [Sat, 23 May 2020 00:55:41 +0000 (17:55 -0700)]
Factor out test setup

4 years agoUse xdg packge to find XDG cache dir
Scott Worley [Sat, 23 May 2020 00:25:24 +0000 (17:25 -0700)]
Use xdg packge to find XDG cache dir

4 years agoAppease new mypy 0.761 -> 0.770
Scott Worley [Sat, 23 May 2020 00:23:22 +0000 (17:23 -0700)]
Appease new mypy 0.761 -> 0.770

4 years agoshell.nix
Scott Worley [Sat, 23 May 2020 00:07:01 +0000 (17:07 -0700)]
shell.nix

4 years agoMore tests: pin-twice, reject-nonancestor
Scott Worley [Fri, 22 May 2020 23:57:54 +0000 (16:57 -0700)]
More tests: pin-twice, reject-nonancestor

4 years agoset -e in test scripts
Scott Worley [Fri, 22 May 2020 23:55:04 +0000 (16:55 -0700)]
set -e in test scripts

4 years agoAdd missing type annotation
Scott Worley [Fri, 22 May 2020 23:54:41 +0000 (16:54 -0700)]
Add missing type annotation

4 years agoReject duplicate channel names 1.2
Scott Worley [Tue, 19 May 2020 07:20:09 +0000 (00:20 -0700)]
Reject duplicate channel names