all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ralf Angeli <angeli@caeruleus.net>
Cc: auctex-devel@gnu.org
Subject: Re: Ways of keeping Emacs 22 and external projects in sync
Date: Mon, 01 Jan 2007 16:21:18 +0100	[thread overview]
Message-ID: <enb8tj$is7$1@sea.gmane.org> (raw)
In-Reply-To: 87slev5ilm.fsf_-_@hariken.mwolson.org

* Michael Olson (2007-01-01) writes:

> I guess I'll chip in with how I manage to keep the development version
> of ERC synced with that included with Emacs 22.  Gnus does it slightly
> different than I do, because they merge directly to Emacs 22, rather
> than using an intermediary branch like I do.

AFAIK changes to Gnus files in Emacs' repository will be transferred
automatically via Miles' Arch repositories to Gnus' stable branch.
I'm not sure how changes relevant to the trunk are moved there.

> I use GNU Arch to maintain ERC.  Among the various branches are these:
>
> erc--main--0 :: Where development happens
>
> erc--rel--5.1 :: Where the currently previous major release (5.1) gets
>   updated when it is time to prepare a minor release.
>
> erc--emacs--22 :: The branch which is used to sync to and from the
>   version in Emacs 22.
>
> emacs--devo--0 :: The equivalent of CVS HEAD for Emacs in Arch, kept
>   in sync by Miles Bader.
[...]
> I then set up a couple of scripts (in a scripts/ directory that only
> exists in the erc--emacs--22 branch) that help me sync to and from the
> Emacs 22 source tree.
[...]
> sync-from-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
> ===
>
> 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?

> * Syncing changes
>
> 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?  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?

> 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?

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.

> 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.

> 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.

-- 
Ralf

  reply	other threads:[~2007-01-01 15:21 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                     ` Ralf Angeli [this message]
2007-01-01 17:59                       ` Ways of keeping Emacs 22 and external projects in sync 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
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='enb8tj$is7$1@sea.gmane.org' \
    --to=angeli@caeruleus.net \
    --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.