From: René Scharfe Date: Wed, 22 Aug 2007 21:54:04 GMT Subject: Re: splitting large patch files into smaller ones Message-ID: <46CCB07C.9010200@lsrfire.ath.cx> In-Reply-To: <200708221929.l7MJTgiL012452@agora.fsl.cs.sunysb.edu> Erez Zadok schrieb: > I recently had an occasion to take a rather large git-diff patch, and split > it into smaller chunks. This was so I can more easily import the patches > into guilt, then reorder, rename, shuffle, and join individual patch > snippets into logical patches (i.e., one patch per topic). > > I was looking around for a tool that would allow me to split a large patch > file into individual snippets and couldn't find one. So I wrote one in > perl. It takes a patch file and creates individual small files, one for > each combination of a filename listed in the patch, and a patch snippet > (starting with an '@@' line). Each '@@' snippet gets an index number and a > new filename, prefixed with the appropriate header ("diff ...", ---, and +++ > lines) so it's a valid patch file on its own. > > Questions: > > 1. Does anyone know of such a tool, perhaps written in C for better speed? The patchutils collection[1] contains a tool called splitdiff, which does something slightly different[2]. It might be a good starting point, though. René [1] http://cyberelk.net/tim/software/patchutils/?page_id=10 [2] http://cyberelk.net/tim/patchutils/man/splitdiff.html