]> git.scottworley.com Git - pinch/blobdiff - pinch.py
Show which files are unexpectedly incomparable
[pinch] / pinch.py
index 89d6f61cad23f6bcd2da6785f5cfec922ceb4f93..6beb4e25c59ee4ab0147c92ea7a9ee3f58b22588 100644 (file)
--- a/pinch.py
+++ b/pinch.py
@@ -148,7 +148,6 @@ def symlink_archive(v: Verification, path: str) -> str:
 class AliasSearchPath(NamedTuple):
     alias_of: str
 
 class AliasSearchPath(NamedTuple):
     alias_of: str
 
-    # pylint: disable=no-self-use
     def pin(self, _: Verification, __: Optional[Pin]) -> AliasPin:
         return AliasPin()
 
     def pin(self, _: Verification, __: Optional[Pin]) -> AliasPin:
         return AliasPin()
 
@@ -156,7 +155,6 @@ class AliasSearchPath(NamedTuple):
 class SymlinkSearchPath(NamedTuple):
     path: str
 
 class SymlinkSearchPath(NamedTuple):
     path: str
 
-    # pylint: disable=no-self-use
     def pin(self, _: Verification, __: Optional[Pin]) -> SymlinkPin:
         return SymlinkPin()
 
     def pin(self, _: Verification, __: Optional[Pin]) -> SymlinkPin:
         return SymlinkPin()
 
@@ -209,7 +207,6 @@ class ChannelSearchPath(NamedTuple):
             tarball_sha256=table['nixexprs.tar.xz'].digest,
             git_revision=new_gitpin.git_revision)
 
             tarball_sha256=table['nixexprs.tar.xz'].digest,
             git_revision=new_gitpin.git_revision)
 
-    # pylint: disable=no-self-use
     def fetch(self, v: Verification, pin: Pin) -> str:
         assert isinstance(pin, ChannelPin)
 
     def fetch(self, v: Verification, pin: Pin) -> str:
         assert isinstance(pin, ChannelPin)
 
@@ -425,7 +422,9 @@ def compare_tarball_and_git(
         if ee in errors:
             errors.remove(ee)
             benign_errors.append(ee)
         if ee in errors:
             errors.remove(ee)
             benign_errors.append(ee)
-    v.check(f'{len(errors)} unexpected incomparable files', len(errors) == 0)
+    v.check(
+        f'{len(errors)} unexpected incomparable files: {errors}',
+        len(errors) == 0)
     v.check(
         f'({len(benign_errors)} of {len(expected_errors)} expected incomparable files)',
         len(benign_errors) == len(expected_errors))
     v.check(
         f'({len(benign_errors)} of {len(expected_errors)} expected incomparable files)',
         len(benign_errors) == len(expected_errors))
@@ -588,7 +587,7 @@ def read_pinned_config_section(
         section: str, conf: configparser.SectionProxy) -> Tuple[SearchPath, Pin]:
     sp, pin = read_config_section(conf)
     if pin is None:
         section: str, conf: configparser.SectionProxy) -> Tuple[SearchPath, Pin]:
     sp, pin = read_config_section(conf)
     if pin is None:
-        raise Exception(
+        raise RuntimeError(
             f'Cannot update unpinned channel "{section}" (Run "pin" before "update")')
     return sp, pin
 
             f'Cannot update unpinned channel "{section}" (Run "pin" before "update")')
     return sp, pin
 
@@ -607,7 +606,7 @@ def read_config_files(
         config = read_config(file)
         for section in config.sections():
             if section in merged_config:
         config = read_config(file)
         for section in config.sections():
             if section in merged_config:
-                raise Exception('Duplicate channel "{section}"')
+                raise RuntimeError('Duplicate channel "{section}"')
             merged_config[section] = config[section]
     return merged_config
 
             merged_config[section] = config[section]
     return merged_config