On 6/1/05, Bill Wohler <[EMAIL PROTECTED]> wrote: > I'm not familiar with Arch. Are you talking about > http://www.gnu.org/software/gnu-arch/?
Yes; the wiki at (I think) http://wiki.gnuarch.org might be more informative. The key property of arch that makes things easier is the ability to create and apply "changesets" (basically, patches) that operate by file _identity_ rather than filename. So a changeset from the Gnus tree does more or less the right thing when applied to Emacs tree. Arch also keeps track of what changes have been merged, which reduces the need for manual book-keeping (one of the most stressful things about more manual merging, I find). Note that this doesn't remove the need for manual intervention, as there are cases where the right thing doesn't happen, but it takes care of about 95% of the work. I have a sort of mental checklist of exceptional cases to be on the lookout for and be ready to fixup by hand (for instance the Emacs file "man/ChangeLog" contains entries for changes to gnus texinfo files, but also many other non-Gnus texinfo files, and only the Gnus-related changes should go into the Gnus tree). Note that my usage of Arch for this is sort of a hack -- Arch has no explicit notion of a "subtree"; merging in the Emacs => Gnus direction results in many "unappliable" changes, because they are to files which don't exist in Gnus (Arch puts such changes in a scratch directory where you can look at them if you want). > How often do you sync? Usually about every 2-3 days; however I also follow the Gnus mailing list and sync immediately if someone makes an important change. Note that the relationship is: Emacs trunk <=> Gnus-5.10 branch (bi-directional) Gnus trunk <== Gnus-5.10 branch (one-way) So changes from Emacs eventually end up in the Gnus trunk too, via the Gnus 5.10 branch. Activity on the Gnus 5.10 branch is relatively light, which makes the job easier. > Do you clone te CVS check-ins including log messages? CVS log messages are not used; Arch is "tree changeset" oriented rather than file-oriented, so there's no easy way to maintain them. However in Emacs (unlike some projects), basically all changes have in-tree ChangeLog entries too, so my scripts try to create relevant log messages from, which are what gets committed to CVS. I've relatively knowledgeable about the way Arch works, and have many of my own scripts, so I'm not sure how easy it would be for someone to start doing the same thing from scratch. BTW, I would certainly be willing to try syncing MH-E in the same way I sync Gnus. My experience with Gnus is that while it's a bit of manual work, it's not that much, and it's not unpleasant. -Miles -- Do not taunt Happy Fun Ball. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel