Ralf Angeli writes: >> sync-to-emacs: >> === >> #!/bin/bash >> >> # Load common definitions >> . scripts/common.defs >> >> (cd $LISP/erc && find . -maxdepth 1 -mindepth 1 -type f -exec cp {} $OLDPWD \;) >> cp $ETC/ERC-NEWS etc/ >> cp $MAN/erc.texi man/ >> rm -f *.elc >> === > > The scripts look identical. Is that correct? Sorry about that. It should have been: sync-to-emacs: === #!/bin/bash # Load common definitions . scripts/common.defs find . -maxdepth 1 -mindepth 1 -type f -exec cp {} $LISP/erc \; find ./etc -maxdepth 1 -mindepth 1 -type f -exec cp {} $ETC \; find ./man -maxdepth 1 -mindepth 1 -type f -exec cp {} $MAN \; === Sorry about that. >> When there are some changes that need to be propagated to Emacs 22, I > > So you are updating ERC in Emacs not on a release-by-release basis, > but rather when some important changes need to be propagated? Yes. Of course, it's a priority to merge releases to Emacs 22. > Do you apply a tag in that case in order to identify the file > revisions if somebody has a bug report or support request referring > to the ERC version in Emacs or do you just use the files in Emacs > directly for testing and debugging? No. I can get changes for any revision that I commit at any time, so there isn't a need for making tags. I use DVC (http://download.gna.org/dvc/) to easily fetch changes: it gives me a listing of patches that I've committed, and I only need to hit "=" to view the one at point in diff form. I usually do debugging in the erc--main branch, because the versions are consistent enough that problems should be replicable there. If needed, I could easily just remove the (add-to-list 'load-path ...) line for ERC from my config, and work in Emacs directly, calling sync-from-emacs when I've fixed the problem (to propagate to erc--emacs--22), and so on. >> first check emacs--devo--0 to see if someone changed things on the >> Emacs side, by running ./scripts/sync-from-emacs. If anything is >> different than the current contents of erc--emacs--22, I immediately >> check them in (to erc--emacs--22). > > Do you regularly synch from Emacs or just when you are about to > synch to Emacs? Usually I only do it when I'm about to sync to Emacs. I also do it whenever I run "tla update" on Emacs 22 (about once a month), if I notice that some ERC files were modified. > My idea for RefTeX would have been that a synch from Emacs to RefTeX > is done regulary, but directly instead of using an intermediate > repository. That would work, too. >> I also think it is a very bad idea for Emacs developers to mandate >> checking in files individually. It might make sense for work on the >> core files in lisp/emacs-lisp/ or the top-level of lisp/, but a >> significant percentage of changes made to the other lisp files involve >> changing several files at once. Separating log entries for commit >> messages begins to become a burden. For operations such as updating >> an entire project, this would become very tedious (not to mention >> unnecessary, because ChangeLog contains all the information that is >> really needed). > > That reminds me: When you are synching from Emacs to ERC (and vice > versa) the ChangeLog file is probably handled the same way Lisp files > are. Because log entries of changes to RefTeX in Emacs currently end > up in lisp/ChangeLog we'd need a separate ChangeLog file for RefTeX > for this to work. That would be trickier. I assumed RefTeX would be getting its own subdirectory in lisp/. You might have to keep a separate ChangeLog and manually copy over ChangeLog entries when syncing to Emacs 22. >> With Arch, such changes are treated as a single change to the entire >> project, rather than multiple separate changes to single files. There >> is no possibility (however remote) of changes to several files being >> only partially applied, as long as Arch is the only version control >> system involved. > > As Savannah supports Arch repositories now it should be no problem to > maintain RefTeX in such a repository. What I would be missing with > Arch would be something like PCL-CVS and the web interface like > Savannah provides it for CVS repositories. I don't really know what PCL-CVS is used for, but DVC (link given above) satisfies me. It really brings out Arch's potential. As for a web interface, I set up one on my own webserver, and edited Savannah's configuration for ERC to point to it. Link is: http://www.mwolson.org/cgi-bin/archzoom/archzoom.cgi/erc@sv.gnu.org For safety's sake (to keep from getting close to my disk space quota), I have a cron job on my webserver that removes the generated changesets and such once a week. This assumes that ArchZoom has temp_dir = /home/mwolson/tmp. remove-tmp: === #!/bin/sh # Remove ArchZoom cruft PRE=/home/mwolson [ -d $PRE/,,tmp ] && exit 0 || : [ -d $PRE/tmp ] || exit 0 mv /home/mwolson/tmp /home/mwolson/,,tmp mkdir $PRE/tmp rm -fr $PRE/,,tmp === -- Michael Olson -- FSF Associate Member #652 -- http://www.mwolson.org/ Interests: Lisp, text markup, protocols -- Jabber: mwolson_at_hcoop.net /` |\ | | | Projects: Emacs, Muse, ERC, EMMS, Planner, ErBot, DVC |_] | \| |_| Reclaim your digital rights by eliminating DRM. See http://www.defectivebydesign.org/what_is_drm for details.