def fetch(self, v: Verification, section: str,
conf: configparser.SectionProxy) -> str:
- if 'git_repo' not in conf or 'release_name' not in conf:
+ if 'git_revision' not in conf or 'release_name' not in conf:
raise Exception(
'Cannot update unpinned channel "%s" (Run "pin" before "update")' %
section)
self.old_git_revision = self.git_revision
del self.git_revision
- pin_channel(v, self)
+ fetch(v, self)
+ parse_channel(v, self)
+ fetch_resources(v, self)
+ ensure_git_rev_available(v, self)
+ check_channel_contents(v, self)
return ChannelPin(
release_name=self.release_name,
tarball_url=self.table['nixexprs.tar.xz'].absolute_url,
return path # type: ignore # (for old mypy)
-def fetch_resources(v: Verification, channel: TarrableSearchPath) -> None:
+def fetch_resources(v: Verification, channel: ChannelSearchPath) -> None:
for resource in ['git-revision', 'nixexprs.tar.xz']:
fields = channel.table[resource]
fields.absolute_url = urllib.parse.urljoin(
v.ok()
-def pin_channel(v: Verification, channel: TarrableSearchPath) -> None:
- fetch(v, channel)
- parse_channel(v, channel)
- fetch_resources(v, channel)
- ensure_git_rev_available(v, channel)
- check_channel_contents(v, channel)
-
-
def git_revision_name(v: Verification, channel: TarrableSearchPath) -> str:
v.status('Getting commit date')
process = subprocess.run(['git',
return merged_config
-def pin(args: argparse.Namespace) -> None:
+def pinCommand(args: argparse.Namespace) -> None:
v = Verification()
config = read_config(args.channels_file)
for section in config.sections():
config.write(configfile)
-def update(args: argparse.Namespace) -> None:
+def updateCommand(args: argparse.Namespace) -> None:
v = Verification()
exprs: Dict[str, str] = {}
config = read_config_files(args.channels_file)
parser_pin = subparsers.add_parser('pin')
parser_pin.add_argument('channels_file', type=str)
parser_pin.add_argument('channels', type=str, nargs='*')
- parser_pin.set_defaults(func=pin)
+ 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('channels_file', type=str, nargs='+')
- parser_update.set_defaults(func=update)
+ parser_update.set_defaults(func=updateCommand)
args = parser.parse_args()
args.func(args)