]> git.scottworley.com Git - pinch/log
pinch
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

4 years agoUpdate merges multiple files
Scott Worley [Tue, 19 May 2020 07:07:12 +0000 (00:07 -0700)]
Update merges multiple files

4 years agoAliases
Scott Worley [Tue, 19 May 2020 06:55:27 +0000 (23:55 -0700)]
Aliases

4 years agoTest
Scott Worley [Tue, 19 May 2020 06:05:59 +0000 (23:05 -0700)]
Test

4 years agoStatus chatter goes to stderr
Scott Worley [Mon, 18 May 2020 23:21:33 +0000 (16:21 -0700)]
Status chatter goes to stderr

4 years agoAdd --dry_run flag
Scott Worley [Mon, 18 May 2020 23:19:15 +0000 (16:19 -0700)]
Add --dry_run flag

4 years agoExclude subprocess-run-check
Scott Worley [Mon, 18 May 2020 23:09:06 +0000 (16:09 -0700)]
Exclude subprocess-run-check

We check status explicitly.

4 years agoSpecify channels to pin on command line 1.1
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).

4 years agoThis tool is named "pinch" now
Scott Worley [Sat, 11 Apr 2020 06:17:22 +0000 (23:17 -0700)]
This tool is named "pinch" now

4 years agoREADME 1.0
Scott Worley [Sat, 11 Apr 2020 00:00:17 +0000 (17:00 -0700)]
README

4 years agoUpdate channels from pins
Scott Worley [Fri, 10 Apr 2020 23:40:01 +0000 (16:40 -0700)]
Update channels from pins

4 years agoSplit ensure_git_rev_available out from git_fetch
Scott Worley [Fri, 10 Apr 2020 22:29:38 +0000 (15:29 -0700)]
Split ensure_git_rev_available out from git_fetch

4 years agogit_cachedir without Channel
Scott Worley [Fri, 10 Apr 2020 20:38:23 +0000 (13:38 -0700)]
git_cachedir without Channel

4 years agoName git pins
Scott Worley [Fri, 10 Apr 2020 07:45:45 +0000 (00:45 -0700)]
Name git pins

4 years agoRecord release name
Scott Worley [Fri, 10 Apr 2020 07:10:42 +0000 (00:10 -0700)]
Record release name

4 years agoSub-command
Scott Worley [Fri, 10 Apr 2020 05:57:26 +0000 (22:57 -0700)]
Sub-command

4 years agoFormatting
Scott Worley [Fri, 10 Apr 2020 05:55:01 +0000 (22:55 -0700)]
Formatting

4 years agoVerify old rev is an ancestor of new rev
Scott Worley [Fri, 10 Apr 2020 04:44:56 +0000 (21:44 -0700)]
Verify old rev is an ancestor of new rev

4 years agoSupport non-hydra, plain ol' git channels
Scott Worley [Fri, 10 Apr 2020 04:44:49 +0000 (21:44 -0700)]
Support non-hydra, plain ol' git channels

4 years agoRename config field: url -> channel_url
Scott Worley [Fri, 10 Apr 2020 03:35:24 +0000 (20:35 -0700)]
Rename config field: url -> channel_url

4 years ago.gitignore
Scott Worley [Fri, 10 Apr 2020 03:22:31 +0000 (20:22 -0700)]
.gitignore

4 years agoWrite back to config file
Scott Worley [Fri, 10 Apr 2020 03:21:15 +0000 (20:21 -0700)]
Write back to config file

4 years agoSupport multiple channels
Scott Worley [Fri, 10 Apr 2020 00:59:39 +0000 (17:59 -0700)]
Support multiple channels

4 years agoRename git_commit -> git_revision
Scott Worley [Fri, 10 Apr 2020 00:48:34 +0000 (17:48 -0700)]
Rename git_commit -> git_revision

4 years agoGet configuration from config file
Scott Worley [Fri, 10 Apr 2020 00:48:02 +0000 (17:48 -0700)]
Get configuration from config file

4 years agoVerify channel tarball metadata
Scott Worley [Thu, 9 Apr 2020 23:33:22 +0000 (16:33 -0700)]
Verify channel tarball metadata

4 years agoBreak up check_channel_contents
Scott Worley [Thu, 9 Apr 2020 23:16:33 +0000 (16:16 -0700)]
Break up check_channel_contents

4 years agoCompare channel tarball with git
Scott Worley [Thu, 9 Apr 2020 22:56:45 +0000 (15:56 -0700)]
Compare channel tarball with git

4 years agomain creates the Channel
Scott Worley [Thu, 9 Apr 2020 00:48:32 +0000 (17:48 -0700)]
main creates the Channel

4 years agoRename Info -> Channel
Scott Worley [Thu, 9 Apr 2020 00:46:09 +0000 (17:46 -0700)]
Rename Info -> Channel

4 years agoRename top-level procedures
Scott Worley [Thu, 9 Apr 2020 00:37:51 +0000 (17:37 -0700)]
Rename top-level procedures

4 years agoExtract release name
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

4 years agoFetch with nix-prefetch-url for the caching
Scott Worley [Thu, 9 Apr 2020 00:12:03 +0000 (17:12 -0700)]
Fetch with nix-prefetch-url for the caching

4 years agoUse SimpleNamespace for typed records
Scott Worley [Wed, 8 Apr 2020 23:40:24 +0000 (16:40 -0700)]
Use SimpleNamespace for typed records

4 years agoStart
Scott Worley [Tue, 7 Apr 2020 23:53:21 +0000 (16:53 -0700)]
Start