X-Git-Url: http://git.scottworley.com/pinch/blobdiff_plain/96063a5164fcd9e6ec72c1912d41d77856fa980f..53a27350551844e1ed1a9257690294767389ef0d:/pinch.py diff --git a/pinch.py b/pinch.py index 8c9e976..ed33c92 100644 --- a/pinch.py +++ b/pinch.py @@ -186,6 +186,8 @@ class ChannelSearchPath(NamedTuple): channel_html, forwarded_url = fetch_channel(v, self) table, new_gitpin = parse_channel(v, channel_html) + if old_pin is not None and old_pin.git_revision == new_gitpin.git_revision: + return old_pin fetch_resources(v, new_gitpin, forwarded_url, table) ensure_git_rev_available(v, self, new_gitpin, old_revision) check_channel_contents(v, self, table, new_gitpin) @@ -727,8 +729,7 @@ def updateCommand(args: argparse.Namespace) -> None: command = [ 'nix-env', '--profile', - '/nix/var/nix/profiles/per-user/%s/channels' % - getpass.getuser(), + args.profile, '--show-trace', '--file', '', @@ -751,6 +752,8 @@ def main() -> None: parser_pin.set_defaults(func=pinCommand) parser_update = subparsers.add_parser('update') parser_update.add_argument('--dry-run', action='store_true') + parser_update.add_argument('--profile', default=( + '/nix/var/nix/profiles/per-user/%s/channels' % getpass.getuser())) parser_update.add_argument('channels_file', type=str, nargs='+') parser_update.set_defaults(func=updateCommand) args = parser.parse_args()