- unapplied_names = []
- for name in orig_applied:
- if not name in applied_name_set:
- out.info('%s is now unapplied' % name)
- unapplied_names.append(name)
- for name in orig_unapplied:
- if name in applied_name_set:
- out.info('%s is now applied' % name)
- else:
- unapplied_names.append(name)
+ unapplied_name_set = set(p.patch for p in unapplied)
+ patches_name_set = set(p.patch for p in patches)
+ orig_patches = orig_applied + orig_unapplied
+ orig_applied_name_set = set(orig_applied)
+ orig_unapplied_name_set = set(orig_unapplied)
+ orig_patches_name_set = set(orig_patches)
+ for name in orig_patches_name_set - patches_name_set:
+ out.info('%s is gone' % name)
+ for name in applied_name_set - orig_applied_name_set:
+ out.info('%s is now applied' % name)
+ for name in unapplied_name_set - orig_unapplied_name_set:
+ out.info('%s is now unapplied' % name)
+ orig_order = dict(zip(orig_patches, xrange(len(orig_patches))))
+ def patchname_cmp(p1, p2):
+ i1 = orig_order.get(p1, len(orig_order))
+ i2 = orig_order.get(p2, len(orig_order))
+ return cmp((i1, p1), (i2, p2))