]> git.scottworley.com Git - pinch/commitdiff
Continue pulling release_name and git_revision out of SearchPath
authorScott Worley <scottworley@scottworley.com>
Mon, 15 Jun 2020 20:46:34 +0000 (13:46 -0700)
committerScott Worley <scottworley@scottworley.com>
Thu, 18 Jun 2020 06:15:29 +0000 (23:15 -0700)
pinch.py

index d4728fe93d3bc022739df64d844a5439c88642b1..f4fd0b5e9ed0739d2e323da9fad8580473c46ddf 100644 (file)
--- 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,
             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
 
     # 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]
 
     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 ')
     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()
         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:
 
 
 def digest_string(s: bytes) -> Digest16:
@@ -490,13 +490,14 @@ def extract_tarball(
 def git_checkout(
         v: Verification,
         channel: TarrableSearchPath,
 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',
         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)
                            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)
 
         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)
 
 
         compare_tarball_and_git(v, pin, channel_contents, git_contents)