all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Olson <mwolson@gnu.org>
Cc: auctex-devel@gnu.org
Subject: Re: Ways of keeping Emacs 22 and external projects in sync
Date: Wed, 03 Jan 2007 13:29:13 -0500	[thread overview]
Message-ID: <87k60455hi.fsf@hariken.mwolson.org> (raw)
In-Reply-To: enb8tj$is7$1@sea.gmane.org


[-- Attachment #1.1: Type: text/plain, Size: 5447 bytes --]

Ralf Angeli <angeli@caeruleus.net> 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.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]

[-- Attachment #2: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

  parent reply	other threads:[~2007-01-03 18:29 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-28 22:53 CVS repository synchronization for RefTeX Ralf Angeli
2006-12-29 22:04 ` Stefan Monnier
2006-12-29 23:43   ` Ralf Angeli
2006-12-30 14:20     ` Eli Zaretskii
2006-12-30 15:08       ` Ralf Angeli
2006-12-30 15:20         ` Eli Zaretskii
2006-12-30 16:01           ` Ralf Angeli
2006-12-30 16:47           ` Carsten Dominik
2006-12-30 18:03             ` Eli Zaretskii
2006-12-30 18:50               ` Ralf Angeli
2006-12-30 19:03                 ` Eli Zaretskii
2006-12-30 19:18                   ` Ralf Angeli
2006-12-31  1:46                   ` Richard Stallman
2006-12-30 21:28               ` Alan Shutko
2006-12-30 21:55               ` Reiner Steib
2006-12-31 22:27               ` Giorgos Keramidas
2006-12-31 23:57                 ` Ralf Angeli
2007-01-01  7:09                   ` Ways of keeping Emacs 22 and external projects in sync (was: CVS repository synchronization for RefTeX) Michael Olson
2007-01-01 15:21                     ` Ways of keeping Emacs 22 and external projects in sync Ralf Angeli
2007-01-01 17:59                       ` Reiner Steib
2007-01-01 18:36                       ` Giorgos Keramidas
2007-01-03 10:43                       ` Yavor Doganov
2007-01-03 18:32                         ` Michael Olson
2007-01-03 18:29                       ` Michael Olson [this message]
2007-01-03 19:53                         ` Ralf Angeli
2007-01-03 22:37                         ` Michael Olson
2007-01-01 18:20                     ` Ways of keeping Emacs 22 and external projects in sync (was: CVS repository synchronization for RefTeX) Giorgos Keramidas
2007-01-01 21:56                 ` CVS repository synchronization for RefTeX Richard Stallman
2006-12-30 18:23     ` Richard Stallman
2006-12-30 18:39       ` Ralf Angeli
2006-12-31  1:47         ` Richard Stallman
2007-01-01 16:01           ` David Kastrup
2007-01-02  3:09             ` Richard Stallman
2007-01-02  7:43               ` David Kastrup
2007-01-02 21:24                 ` Richard Stallman
2007-01-03  8:48                   ` David Kastrup
2007-01-04  2:31                     ` Richard Stallman
2007-01-04 21:51                       ` David Kastrup
2007-01-06  2:54                         ` Richard Stallman
2007-01-06  9:14                           ` David Kastrup
2006-12-30 21:54     ` Reiner Steib
2006-12-31 19:36       ` Ralf Angeli
2007-01-01 17:59         ` Reiner Steib
2007-01-01 19:12           ` Ralf Angeli
2006-12-30 22:07     ` Stefan Monnier
2006-12-29 22:59 ` Richard Stallman
2006-12-30 17:00   ` David Kastrup
2007-01-07 21:42 ` Bill Wohler
2007-01-08 19:25   ` [AUCTeX-devel] " Ralf Angeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k60455hi.fsf@hariken.mwolson.org \
    --to=mwolson@gnu.org \
    --cc=auctex-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.