]>
git.scottworley.com Git - pinch/log
Scott Worley [Mon, 15 Jun 2020 19:30:15 +0000 (12:30 -0700)]
Move pin_channel() into ChannelSearchPath.pin()
Scott Worley [Mon, 15 Jun 2020 18:38:12 +0000 (11:38 -0700)]
Require type to be specified in config
Scott Worley [Mon, 15 Jun 2020 18:19:26 +0000 (11:19 -0700)]
Keep config mutability at top level
Scott Worley [Sat, 13 Jun 2020 16:56:32 +0000 (09:56 -0700)]
polymorphic fetch()
Scott Worley [Sat, 13 Jun 2020 16:46:44 +0000 (09:46 -0700)]
Polymorphic pin()
Scott Worley [Sat, 13 Jun 2020 16:27:41 +0000 (09:27 -0700)]
Introduce types {Git,Channel}SearchPath
Scott Worley [Sat, 13 Jun 2020 16:24:41 +0000 (09:24 -0700)]
Rename Channel -> TarrableSearchPath
Scott Worley [Sat, 13 Jun 2020 07:24:24 +0000 (00:24 -0700)]
Use type rather than field presence
Scott Worley [Sat, 13 Jun 2020 07:20:09 +0000 (00:20 -0700)]
Split AliasSearchPath out of Channel
Scott Worley [Sat, 13 Jun 2020 07:05:43 +0000 (00:05 -0700)]
Duplicate searchpath checking in one place
Scott Worley [Sat, 13 Jun 2020 06:45:56 +0000 (23:45 -0700)]
read_search_path returns a SearchPath
Scott Worley [Sat, 13 Jun 2020 06:43:06 +0000 (23:43 -0700)]
Make fetch_channel a Channel method
Scott Worley [Sat, 13 Jun 2020 06:29:55 +0000 (23:29 -0700)]
Make pin() a Channel method
Scott Worley [Sat, 13 Jun 2020 06:28:27 +0000 (23:28 -0700)]
Re-order definitions
Scott Worley [Sat, 13 Jun 2020 06:19:28 +0000 (23:19 -0700)]
Introduce read_search_path()
Scott Worley [Sat, 13 Jun 2020 06:10:08 +0000 (23:10 -0700)]
Introduce SearchPath type
Scott Worley [Thu, 18 Jun 2020 00:02:04 +0000 (17:02 -0700)]
Release: 1.5.1
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.
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.
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.
Scott Worley [Thu, 11 Jun 2020 23:21:18 +0000 (16:21 -0700)]
Omit build directories from mypy run
Scott Worley [Thu, 11 Jun 2020 20:41:49 +0000 (13:41 -0700)]
Build like a real Python package
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.
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
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."
Scott Worley [Thu, 11 Jun 2020 20:29:20 +0000 (13:29 -0700)]
Handle 0 terminal width
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.
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.
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.
Scott Worley [Fri, 29 May 2020 06:52:53 +0000 (23:52 -0700)]
Run tests on commit
Scott Worley [Fri, 29 May 2020 06:52:01 +0000 (23:52 -0700)]
Factor out fetch_channel
Appeases pylint's "Too many branches"
Scott Worley [Fri, 29 May 2020 06:22:07 +0000 (23:22 -0700)]
Better error message for running "update" before "pin"
Scott Worley [Fri, 29 May 2020 06:16:50 +0000 (23:16 -0700)]
Verify update fails if run before pin
Scott Worley [Sat, 23 May 2020 04:15:18 +0000 (21:15 -0700)]
More tests around rejecting force pushes
Scott Worley [Sat, 23 May 2020 01:26:41 +0000 (18:26 -0700)]
Use separate cache dir for test isolation
Scott Worley [Sat, 23 May 2020 01:07:37 +0000 (18:07 -0700)]
tests: Depend upon /bin/sh supporting traps
Scott Worley [Sat, 23 May 2020 00:55:41 +0000 (17:55 -0700)]
Factor out test setup
Scott Worley [Sat, 23 May 2020 00:25:24 +0000 (17:25 -0700)]
Use xdg packge to find XDG cache dir
Scott Worley [Sat, 23 May 2020 00:23:22 +0000 (17:23 -0700)]
Appease new mypy 0.761 -> 0.770
Scott Worley [Sat, 23 May 2020 00:07:01 +0000 (17:07 -0700)]
shell.nix
Scott Worley [Fri, 22 May 2020 23:57:54 +0000 (16:57 -0700)]
More tests: pin-twice, reject-nonancestor
Scott Worley [Fri, 22 May 2020 23:55:04 +0000 (16:55 -0700)]
set -e in test scripts
Scott Worley [Fri, 22 May 2020 23:54:41 +0000 (16:54 -0700)]
Add missing type annotation
Scott Worley [Tue, 19 May 2020 07:20:09 +0000 (00:20 -0700)]
Reject duplicate channel names
Scott Worley [Tue, 19 May 2020 07:07:12 +0000 (00:07 -0700)]
Update merges multiple files
Scott Worley [Tue, 19 May 2020 06:55:27 +0000 (23:55 -0700)]
Aliases
Scott Worley [Tue, 19 May 2020 06:05:59 +0000 (23:05 -0700)]
Test
Scott Worley [Mon, 18 May 2020 23:21:33 +0000 (16:21 -0700)]
Status chatter goes to stderr
Scott Worley [Mon, 18 May 2020 23:19:15 +0000 (16:19 -0700)]
Add --dry_run flag
Scott Worley [Mon, 18 May 2020 23:09:06 +0000 (16:09 -0700)]
Exclude subprocess-run-check
We check status explicitly.
Scott Worley [Sun, 12 Apr 2020 16:54:57 +0000 (09:54 -0700)]
Specify channels to pin on command line
No specified channels -> pin all channels (which is an unfortunate
interface for scripting. Sorry).
Scott Worley [Sat, 11 Apr 2020 06:17:22 +0000 (23:17 -0700)]
This tool is named "pinch" now
Scott Worley [Sat, 11 Apr 2020 00:00:17 +0000 (17:00 -0700)]
README
Scott Worley [Fri, 10 Apr 2020 23:40:01 +0000 (16:40 -0700)]
Update channels from pins
Scott Worley [Fri, 10 Apr 2020 22:29:38 +0000 (15:29 -0700)]
Split ensure_git_rev_available out from git_fetch
Scott Worley [Fri, 10 Apr 2020 20:38:23 +0000 (13:38 -0700)]
git_cachedir without Channel
Scott Worley [Fri, 10 Apr 2020 07:45:45 +0000 (00:45 -0700)]
Name git pins
Scott Worley [Fri, 10 Apr 2020 07:10:42 +0000 (00:10 -0700)]
Record release name
Scott Worley [Fri, 10 Apr 2020 05:57:26 +0000 (22:57 -0700)]
Sub-command
Scott Worley [Fri, 10 Apr 2020 05:55:01 +0000 (22:55 -0700)]
Formatting
Scott Worley [Fri, 10 Apr 2020 04:44:56 +0000 (21:44 -0700)]
Verify old rev is an ancestor of new rev
Scott Worley [Fri, 10 Apr 2020 04:44:49 +0000 (21:44 -0700)]
Support non-hydra, plain ol' git channels
Scott Worley [Fri, 10 Apr 2020 03:35:24 +0000 (20:35 -0700)]
Rename config field: url -> channel_url
Scott Worley [Fri, 10 Apr 2020 03:22:31 +0000 (20:22 -0700)]
.gitignore
Scott Worley [Fri, 10 Apr 2020 03:21:15 +0000 (20:21 -0700)]
Write back to config file
Scott Worley [Fri, 10 Apr 2020 00:59:39 +0000 (17:59 -0700)]
Support multiple channels
Scott Worley [Fri, 10 Apr 2020 00:48:34 +0000 (17:48 -0700)]
Rename git_commit -> git_revision
Scott Worley [Fri, 10 Apr 2020 00:48:02 +0000 (17:48 -0700)]
Get configuration from config file
Scott Worley [Thu, 9 Apr 2020 23:33:22 +0000 (16:33 -0700)]
Verify channel tarball metadata
Scott Worley [Thu, 9 Apr 2020 23:16:33 +0000 (16:16 -0700)]
Break up check_channel_contents
Scott Worley [Thu, 9 Apr 2020 22:56:45 +0000 (15:56 -0700)]
Compare channel tarball with git
Scott Worley [Thu, 9 Apr 2020 00:48:32 +0000 (17:48 -0700)]
main creates the Channel
Scott Worley [Thu, 9 Apr 2020 00:46:09 +0000 (17:46 -0700)]
Rename Info -> Channel
Scott Worley [Thu, 9 Apr 2020 00:37:51 +0000 (17:37 -0700)]
Rename top-level procedures
Scott Worley [Thu, 9 Apr 2020 00:36:38 +0000 (17:36 -0700)]
Extract release name
& print out what's been extracted or being worked on
Scott Worley [Thu, 9 Apr 2020 00:12:03 +0000 (17:12 -0700)]
Fetch with nix-prefetch-url for the caching
Scott Worley [Wed, 8 Apr 2020 23:40:24 +0000 (16:40 -0700)]
Use SimpleNamespace for typed records
Scott Worley [Tue, 7 Apr 2020 23:53:21 +0000 (16:53 -0700)]
Start