From: Scott Worley Date: Mon, 15 Jun 2020 20:46:34 +0000 (-0700) Subject: Continue pulling release_name and git_revision out of SearchPath X-Git-Tag: 2.0.0~10 X-Git-Url: http://git.scottworley.com/pinch/commitdiff_plain/3258ff2c4690f84d827b466d03e47042750774df Continue pulling release_name and git_revision out of SearchPath --- diff --git a/pinch.py b/pinch.py index d4728fe..f4fd0b5 100644 --- a/pinch.py +++ b/pinch.py @@ -177,7 +177,7 @@ class ChannelSearchPath(TarrableSearchPath): release_name=new_gitpin.release_name, tarball_url=self.table['nixexprs.tar.xz'].absolute_url, tarball_sha256=self.table['nixexprs.tar.xz'].digest, - git_revision=self.git_revision) + git_revision=new_gitpin.git_revision) # Lint TODO: Put tarball_url and tarball_sha256 in ChannelSearchPath # pylint: disable=no-self-use @@ -244,8 +244,8 @@ def parse_channel(v: Verification, channel: TarrableSearchPath) -> GitPin: v.status('Extracting git commit:') git_commit_node = d.getElementsByTagName('tt')[0] - channel.git_revision = git_commit_node.firstChild.nodeValue - v.status(channel.git_revision) + git_revision = git_commit_node.firstChild.nodeValue + v.status(git_revision) v.ok() v.status('Verifying git commit label') v.result(git_commit_node.previousSibling.nodeValue == 'Git commit ') @@ -260,7 +260,7 @@ def parse_channel(v: Verification, channel: TarrableSearchPath) -> GitPin: channel.table[name] = ChannelTableEntry( url=url, digest=digest, size=size) v.ok() - return GitPin(release_name=title_name, git_revision=channel.git_revision) + return GitPin(release_name=title_name, git_revision=git_revision) def digest_string(s: bytes) -> Digest16: @@ -490,13 +490,14 @@ def extract_tarball( def git_checkout( v: Verification, channel: TarrableSearchPath, + pin: GitPin, dest: str) -> None: v.status('Checking out corresponding git revision') git = subprocess.Popen(['git', '-C', git_cachedir(channel.git_repo), 'archive', - channel.git_revision], + pin.git_revision], stdout=subprocess.PIPE) tar = subprocess.Popen( ['tar', 'x', '-C', dest, '-f', '-'], stdin=git.stdout) @@ -581,7 +582,7 @@ def check_channel_contents( extract_tarball(v, channel, channel_contents) check_channel_metadata(v, pin, channel_contents) - git_checkout(v, channel, git_contents) + git_checkout(v, channel, pin, git_contents) compare_tarball_and_git(v, pin, channel_contents, git_contents)