File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed
Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -130,13 +130,27 @@ def compare_requirements(self, requirements: Iterable[Requirement]) -> bool:
130130 """
131131 Compare requirements
132132
133+ For backward compatibility, we ensure sets equality by checking the
134+ size of sorted lists and comparing each item.
135+
136+ TODO: This can be reverted to
137+ ```
138+ lock_requirements = self.read_header_requirements()
139+ return set(requirements) == set(lock_requirements)
140+ ```
141+ when https://github.com/pypa/packaging/pull/1022 gets released.
142+
133143 Parameters
134144 ----------
135145 requirements : Iterable[Requirement]
136146 List of requirements to compare against the lock file
137147 """
138148 lock_requirements = self .read_header_requirements ()
139- return set (requirements ) == set (lock_requirements )
149+ requirements_list = sorted (requirements , key = str )
150+ lock_requirements_list = sorted (lock_requirements , key = str )
151+ return len (requirements_list ) == len (lock_requirements_list ) and all (
152+ req == lreq for req , lreq in zip (requirements_list , lock_requirements_list )
153+ )
140154
141155 def compare_constraint_sha (self , sha : str ) -> bool :
142156 """
You can’t perform that action at this time.
0 commit comments