> > Yes, such a more-or-less automatic patching system could be useful. I
> > wonder if it would know about Git or just patches. I wouldn't be
> > surprised if such a thing has already been created for Python or Lisp.
Git has git-am(1) which applies patches directly from mailbox,
furthermore git uses patches compatible with patch(1), thus one can
just cd to the directory with sources (not necessary git-cloned) and
do
$ patch -p1 < patch-file-to-apply
> Here is the kind of thing that would be useful. You come up with
> a good idea that other people might want to try out without
> recompiling maxima etc etc. Create a file that can be read in
> like this:
>
> ;;; file defining new feature xxx
> ;;; written by <author> <date>
> ;;; tested in Maxima <version>
>
> (in-package :maxima)
>
> ;;; redefine two functions in file simp.lisp
The problem with this approach is that unless the format is
standardized and the tools are written, it requires a human
intervention "to apply such a patch" -- tedious and error-prone.
By the way, just file name is not enough, one also needs to mention
where to put the functions in each file when the patch is "applied".
> I continue to object generally to patches and files whose authorship
> can be discerned only by examining the separate change logs, so any
> alterations to pre-existing functions should have comments
> identifying authors, too.
Why do manually what a program can do? Git has git-blame(1) if one
wants to know who to blame for each line.
By the way, some open source projects keep AUTHORS [1] file that
mention which files each person modified (if I understand correctly,
this is done to prevent a single person from changing too many files),
but, of course, this file is automatically generated.
[1] <http://bzr.savannah.gnu.org/lh/emacs/trunk/annotate/head:/etc/AUTHORS>
--
Regards,
ASK