I propose that we make GNU patch a standard package, so that patches to Sage can be made in a more sensible manner than using 'cp' as now. (There's no point in 'patch' being optional at all, as it would be needed when building Sage).
For * It is small - the source code is about 240 KB, so a Sage package could be a similar size. * It would be easy to maintain - we will rarely if ever need to update it. * It will allow small patches to be made to Sage, without the extra bulk that copying files makes * It should reduce the chance of one patch screwing up another (see my post about Singular) * The amount of code that needs to be added to trac would be significantly reduced. Currently making one small patch to a large file in Sage means the Mercurial patch is huge, making it more difficult to review. * It would avoid the need to maintain both patched files and diff files, and keep them in sync. I showed an example yesterday where one of the patches to Python has a diff file that is older than the changed source file. * My removing the need to have large files copied, we could actually reduce the size of Sage, though this is not going to happen overnight - nobody is likely to want to elect to remove all patches that use 'cp' and replace them by ones that use 'patch'. * Since everyone will have the same version of patch, there should be no issues like different patch commands behaving differently. * I don't mind creating the package - it would be a simple task. * I don't mind taking on the role of maintainer for 2 years Against. * It adds more to Sage. * It could not be optional/experimental. One would have to make a decision for it to be 'standard' from the start. Otherwise it would form no useful function at al. * Mercurial can arguably be used, but this is difficult if not impossible in my opinion. The version of Python shipped with Solaris is too old to work with Mercurial, so we need a recent python to build Mercurial. But Python needs patches to be built. We could patch Python by using 'cp' then switch to Mercurial after it is built, but that needs two different methods of patching Sage. (I've already shown there is a bad patch in Python). So do you vote [Yes] Include GNU patch as a standard package in Sage [No] Do not include it. Dave -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org