个修补包被重写以便它可以在另一个修补包执行完毕后才使用。例如，修补包A在文件F的行7之后增加了行"X"，修补包B在文件F的行310之后增加了行"Y"，B需要重写为对文件F的行311之后增加行"Y"，以便能在修补包A使用后再使用修补包B。Darcs、Git(称作"rebasing")采用了这一方法。 "patchutils" package中的Unix程序flipdiff实现了修补包交换.