unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [arch-users] Re: cvs <-> arch mirroring scripts
       [not found]   ` <1060803518.28891.27.camel@columbia>
@ 2003-08-14  9:35     ` Miles Bader
  2003-08-14  9:46       ` Robert Collins
  2003-08-17 17:29       ` Richard Stallman
  0 siblings, 2 replies; 13+ messages in thread
From: Miles Bader @ 2003-08-14  9:35 UTC (permalink / raw)
  Cc: emacs-devel

BTW, I checked in my first two changesets from arch->CVS for emacs today:

I just did `tla update' in my, then generated a CVS log message from the
arch log, e.g.:

   tla cat-log miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14 | sed -n '/^Standard-date:/d;/^Date:/d;/^[^:]*:.*[^ ]/p;/^$/,$p' > /tmp/,l

Then committed the whole tree:

   cvs commit -F/tmp/,l

This generates CVS log entries like this:

   ----------------------------
   revision 1.43
   date: 2003/08/14 09:05:44;  author: miles;  state: Exp;  lines: +2 -2
   Revision: emacs--cvs-trunk--0--patch-14
   Archive: miles@gnu.org--gnu-2003
   Creator: Miles Bader <miles@gnu.org>
   Summary: Avoid .arch-ids dirs when making autoloads
   Modified-files: ./lisp/Makefile.in
   New-patches: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14

   Avoid .arch-ids dirs when making autoloads
   ----------------------------

Which I think is nice, and gives you some useful info about which arch
changeset the change came from.

Note that the arch-changeset's author is included in the message, which
helps ameliorate the `single CVS checkin point' a bit.

I'm gonna try to make a script to do some of this, though at first it
will probably just abort if detects any hard things (like renames or
conflicts) and let the invoker deal with them.

The one case that I'm bit concerned about is the old standard --
ChangeLog files.  In the above changesets I actually forgot to update
the ChangeLog, so it wasn't an issue :-), but in general, I suppose it's
going to be necessary to resolve `trivial' ChangeLog conflicts
automatically.  Luckily, I think this is fairly easy -- just look for a
ChangeLog.rej file that contains only add-lines-at-the-beginning, and
translate it into text to prepend to the ChangeLog -- but I know people
have rejected such automated merging of ChangeLogs for CVS in the past;
anyone know more details?

-Miles
-- 
Saa, shall we dance?  (from a dance-class advertisement)

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [arch-users] Re: cvs <-> arch mirroring scripts
  2003-08-14  9:35     ` [arch-users] Re: cvs <-> arch mirroring scripts Miles Bader
@ 2003-08-14  9:46       ` Robert Collins
  2003-08-14  9:59         ` Miles Bader
  2003-08-17 17:29       ` Richard Stallman
  1 sibling, 1 reply; 13+ messages in thread
From: Robert Collins @ 2003-08-14  9:46 UTC (permalink / raw)
  Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 918 bytes --]

On Thu, 2003-08-14 at 19:35, Miles Bader wrote:
> BTW, I checked in my first two changesets from arch->CVS for emacs today:
> 
> I just did `tla update' in my, then generated a CVS log message from the
> arch log, e.g.:
> 
>    tla cat-log miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14 | sed -n '/^Standard-date:/d;/^Date:/d;/^[^:]*:.*[^ ]/p;/^$/,$p' > /tmp/,l


Rather than committing the entire tree, I use larch what-changed
combined with xargs to generate a list of added and delete files,
perform those cvs operations, then get the list of added U deleted U
altered files and use xargs again to cvs ci those files.

There are files in CVS, that aren't in arch, and should be in cvs (long
story - they are autoconf generated files) and that I don't want to
commit alterations to, back to CVS.

Cheers.
Rob
-- 
GPG key available at: <http://members.aardvark.net.au/lifeless/keys.txt>.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [arch-users] Re: cvs <-> arch mirroring scripts
  2003-08-14  9:46       ` Robert Collins
@ 2003-08-14  9:59         ` Miles Bader
  0 siblings, 0 replies; 13+ messages in thread
From: Miles Bader @ 2003-08-14  9:59 UTC (permalink / raw)
  Cc: emacs-devel

Robert Collins <rbcollins@cygwin.com> writes:
> Rather than committing the entire tree, I use larch what-changed
> combined with xargs to generate a list of added and delete files,
> perform those cvs operations, then get the list of added U deleted U
> altered files and use xargs again to cvs ci those files.
> 
> There are files in CVS, that aren't in arch, and should be in cvs (long
> story - they are autoconf generated files) and that I don't want to
> commit alterations to, back to CVS.

Hmmm, that's probably a better method -- I glossed over it in my
previous post, but I had to temporarily move lisp/subdirs.el out of the
tree to make CVS happy before committing!  I think your method would
solve this.

-Miles
-- 
[|nurgle|]  ddt- demonic? so quake will have an evil kinda setting? one that
            will  make every christian in the world foamm at the mouth?
[iddt]      nurg, that's the goal

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-14  9:35     ` [arch-users] Re: cvs <-> arch mirroring scripts Miles Bader
  2003-08-14  9:46       ` Robert Collins
@ 2003-08-17 17:29       ` Richard Stallman
  2003-08-17 17:42         ` Rajesh Vaidheeswarran
  2003-08-18  4:10         ` Miles Bader
  1 sibling, 2 replies; 13+ messages in thread
From: Richard Stallman @ 2003-08-17 17:29 UTC (permalink / raw)
  Cc: arch-users, emacs-devel

    This generates CVS log entries like this:

       ----------------------------
       revision 1.43
       date: 2003/08/14 09:05:44;  author: miles;  state: Exp;  lines: +2 -2
       Revision: emacs--cvs-trunk--0--patch-14
       Archive: miles@gnu.org--gnu-2003
       Creator: Miles Bader <miles@gnu.org>
       Summary: Avoid .arch-ids dirs when making autoloads
       Modified-files: ./lisp/Makefile.in
       New-patches: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14

That is 6 lines longer than normal.  The extra lines will make it
harder to scan the CVS log for relevant information.  Can you make
that any more compact?  Is all of it really necessary?

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-17 17:29       ` Richard Stallman
@ 2003-08-17 17:42         ` Rajesh Vaidheeswarran
  2003-08-18 19:15           ` Richard Stallman
  2003-08-18  4:10         ` Miles Bader
  1 sibling, 1 reply; 13+ messages in thread
From: Rajesh Vaidheeswarran @ 2003-08-17 17:42 UTC (permalink / raw)
  Cc: arch-users, emacs-devel


----- Original Message ----- 
From: "Richard Stallman" <rms@gnu.org>
To: "Miles Bader" <miles@gnu.org>
Cc: <arch-users@lists.fifthvision.net>; <emacs-devel@gnu.org>
Sent: Sunday, August 17, 2003 1:29 PM
Subject: Re: cvs <-> arch mirroring scripts


>     This generates CVS log entries like this:
>
>        ----------------------------
>        revision 1.43
>        date: 2003/08/14 09:05:44;  author: miles;  state: Exp;  lines:
+2 -2
>        Revision: emacs--cvs-trunk--0--patch-14
>        Archive: miles@gnu.org--gnu-2003
>        Creator: Miles Bader <miles@gnu.org>
>        Summary: Avoid .arch-ids dirs when making autoloads
>        Modified-files: ./lisp/Makefile.in
>        New-patches: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14
>
> That is 6 lines longer than normal.  The extra lines will make it
> harder to scan the CVS log for relevant information.  Can you make
> that any more compact?  Is all of it really necessary?

Another possibility would require a change to the cvs command line (harder
to justify to the wide world), but might be useful.

Adding a -L (long listing, since -l is already taken) flag to `cvs log' to
list lines that are marked as extensions.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-17 17:29       ` Richard Stallman
  2003-08-17 17:42         ` Rajesh Vaidheeswarran
@ 2003-08-18  4:10         ` Miles Bader
  2003-08-18 19:16           ` Richard Stallman
  1 sibling, 1 reply; 13+ messages in thread
From: Miles Bader @ 2003-08-18  4:10 UTC (permalink / raw)
  Cc: gnu-arch-users, emacs-devel

Richard Stallman <rms@gnu.org> writes:
>        ----------------------------
>        revision 1.43
>        date: 2003/08/14 09:05:44;  author: miles;  state: Exp;  lines: +2 -2
>        Revision: emacs--cvs-trunk--0--patch-14
>        Archive: miles@gnu.org--gnu-2003
>        Creator: Miles Bader <miles@gnu.org>
>        Summary: Avoid .arch-ids dirs when making autoloads
>        Modified-files: ./lisp/Makefile.in
>        New-patches: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14
> 
> That is 6 lines longer than normal.  The extra lines will make it
> harder to scan the CVS log for relevant information.  Can you make
> that any more compact?  Is all of it really necessary?

Hmmm, well lets see; here are the extra added lines:

  Revision:     Identifies the arch changeset the change came from;
                I think this is very useful information and should be
                kept.

  Archive:      This is really part of the changeset name; it could be
                put into the Revision: header I think.

  Creator:      This is redundant in this case, but since CVS checkins
                from arch probably will occur from a single `gateway user'
                so that it's necessary to record the _actual_ author
                somewhere.

                This field might be eliminated for cases where both
                names are the same, or if there were a way to make CVS
                record a different author than the person who did the
                checkin (I've heard of CVS patches to allow this, but I
                think that implementation only works with a local CVS
                server).

  Summary:      This is actually part of the description; maybe it
                should be moved to be directly in front of the rest of
                the description, or even made part of the description.

  Modified-files:  I think this is useful information, but it could be
                elided in the case where only one file was part of the
                changeset.

  New-patches:  This is mainly useful to arch, so I think it could be
                removed (it can always be reconstructed by looking up
                the arch changeset using the information in the
                Revision: header).

So a typical one-file changeset might become something like this:

        revision 1.43
        date: 2003/08/14 09:05:44;  author: arch;  state: Exp;  lines: +2 -2
        Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-14
        Creator: Miles Bader <miles@gnu.org>

        Avoid .arch-ids dirs when making autoloads

A bigger changeset would add the Modified-files: header back in, but
since the DESCRIPTION would likely be much longer too, it's probably
less of an issue, and I think being able to see exactly which files
were modifies is useful.  E.g.:

        revision X.Y
        date: 2003/08/14 09:05:44;  author: arch;  state: Exp;  lines: +2 -2
        Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-73
        Creator: Miles Bader <miles@gnu.org>
        Modified-files: lisp/file2.el src/file1.c src/file2.c

        SUMMARY

        LONG DESCRIPTION
        ...

This seems pretty readable to me; what do you think?

-Miles
-- 
`Suppose Korea goes to the World Cup final against Japan and wins,' Moon said.
`All the past could be forgiven.'   [NYT]


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@gnu.org
http://mail.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-17 17:42         ` Rajesh Vaidheeswarran
@ 2003-08-18 19:15           ` Richard Stallman
  2003-08-19 14:38             ` [arch-users] " Rajesh Vaidheeswarran
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2003-08-18 19:15 UTC (permalink / raw)
  Cc: arch-users, emacs-devel, miles

    > That is 6 lines longer than normal.  The extra lines will make it
    > harder to scan the CVS log for relevant information.  Can you make
    > that any more compact?  Is all of it really necessary?

    Another possibility would require a change to the cvs command line (harder
    to justify to the wide world), but might be useful.

    Adding a -L (long listing, since -l is already taken) flag to `cvs log' to
    list lines that are marked as extensions.

We could also add such a feature to C-x v l, which might be
more convenient than changing CVS.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-18  4:10         ` Miles Bader
@ 2003-08-18 19:16           ` Richard Stallman
  2003-08-18 22:29             ` Miles Bader
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2003-08-18 19:16 UTC (permalink / raw)
  Cc: gnu-arch-users, emacs-devel

      Revision:     Identifies the arch changeset the change came from;
		    I think this is very useful information and should be
		    kept.

How is that useful to CVS users like me?

      Archive:      This is really part of the changeset name; it could be
		    put into the Revision: header I think.

      Creator:      This is redundant in this case, but since CVS checkins
		    from arch probably will occur from a single `gateway user'
		    so that it's necessary to record the _actual_ author
		    somewhere.

I see two possibilities:

1. We should think of this person as the one who checked in the
change.  If so, the info is useful but the CVS checkin user info is
useless.  This name should go in the CVS checkin user name, not in a
separate "Creator" field.

2. We should not think of this person as the one who checked in the change.
Then the info is useless.

Which of these is appropriate depends on how the arch checkin setup
will be used.  Will people need to have Savannah write-access to Emacs
in order to enter changes in the arch repository?  If so, I think
we should do #1.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-18 19:16           ` Richard Stallman
@ 2003-08-18 22:29             ` Miles Bader
  2003-08-20  2:43               ` Richard Stallman
  0 siblings, 1 reply; 13+ messages in thread
From: Miles Bader @ 2003-08-18 22:29 UTC (permalink / raw)
  Cc: gnu-arch-users, emacs-devel

On Mon, Aug 18, 2003 at 03:16:06PM -0400, Richard Stallman wrote:
>       Revision:     Identifies the arch changeset the change came from;
> 		    I think this is very useful information and should be
> 		    kept.
> 
> How is that useful to CVS users like me?

Because (1) it identifies which arch revision the change came from, which
allows you to go back to the arch changeset to get more info if you need it,
(2) it helps identify the change as part of a changeset along with other
files, which is a generally useful concept even if not supported by the
mechanics of CVS.

You may not immediately need this info in your everyday log browsing, but
that doesnt mean it's not useful.  However, it does suggest that maybe the
idea of adding output-filtering to vc.el's C-v l command is good.  That way
you can strip out this stuff that may interfere with casual browsing, but
it's available in case you ever _do_ want it.

>       Creator:      This is redundant in this case, but since CVS checkins
> 		    from arch probably will occur from a single `gateway user'
> 		    so that it's necessary to record the _actual_ author
> 		    somewhere.
> 
> 1. We should think of this person as the one who checked in the
> change.  If so, the info is useful but the CVS checkin user info is
> useless.  This name should go in the CVS checkin user name, not in a
> separate "Creator" field.

This is true.  I think modifying the `cvs' client to do such a
substitution would be a pain, but maybe this is another thing that vc.el
could easily do.

[Also note that this field could be used in other non-arch-related cases,
when for some reason one person checks in a change for another]

It looks to me like the best solution is simply to hack vc.el a bit as
previously described.

-Miles
-- 
Occam's razor split hairs so well, I bought the whole argument!


_______________________________________________
Gnu-arch-users mailing list
Gnu-arch-users@gnu.org
http://mail.gnu.org/mailman/listinfo/gnu-arch-users

GNU arch home page:
http://savannah.gnu.org/projects/gnu-arch/


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [arch-users] Re: cvs <-> arch mirroring scripts
  2003-08-18 19:15           ` Richard Stallman
@ 2003-08-19 14:38             ` Rajesh Vaidheeswarran
  2003-08-20 17:23               ` Richard Stallman
  0 siblings, 1 reply; 13+ messages in thread
From: Rajesh Vaidheeswarran @ 2003-08-19 14:38 UTC (permalink / raw)
  Cc: arch-users, emacs-devel, miles


----- Original Message ----- 
From: "Richard Stallman" <rms@gnu.org>
To: "Rajesh Vaidheeswarran" <rv@gnu.org>
Cc: <arch-users@lists.fifthvision.net>; <emacs-devel@gnu.org>;
<miles@gnu.org>
Sent: Monday, August 18, 2003 3:15 PM
Subject: Re: cvs <-> arch mirroring scripts


>     > That is 6 lines longer than normal.  The extra lines will make it
>     > harder to scan the CVS log for relevant information.  Can you make
>     > that any more compact?  Is all of it really necessary?
>
>     Another possibility would require a change to the cvs command line
(harder
>     to justify to the wide world), but might be useful.
>
>     Adding a -L (long listing, since -l is already taken) flag to `cvs
log' to
>     list lines that are marked as extensions.
>
> We could also add such a feature to C-x v l, which might be
> more convenient than changing CVS.

If we decide to change, I'd rather that we change CVS, since many users
(including myself) may not use CVS from within emacs all the time..

rv

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-18 22:29             ` Miles Bader
@ 2003-08-20  2:43               ` Richard Stallman
  0 siblings, 0 replies; 13+ messages in thread
From: Richard Stallman @ 2003-08-20  2:43 UTC (permalink / raw)
  Cc: gnu-arch-users, emacs-devel, miles

    > How is that useful to CVS users like me?

    Because (1) it identifies which arch revision the change came from, which
    allows you to go back to the arch changeset to get more info if you need it,
    (2) it helps identify the change as part of a changeset along with other
    files, which is a generally useful concept even if not supported by the
    mechanics of CVS.

That's not particularly useful for me.

    You may not immediately need this info in your everyday log browsing, but
    that doesnt mean it's not useful.  However, it does suggest that maybe the
    idea of adding output-filtering to vc.el's C-v l command is good.  That way
    you can strip out this stuff that may interfere with casual browsing, but
    it's available in case you ever _do_ want it.

Ok, let's try to do it that way.

    > 1. We should think of this person as the one who checked in the
    > change.  If so, the info is useful but the CVS checkin user info is
    > useless.  This name should go in the CVS checkin user name, not in a
    > separate "Creator" field.

    This is true.  I think modifying the `cvs' client to do such a
    substitution would be a pain, but maybe this is another thing that vc.el
    could easily do.

Ok.

    [Also note that this field could be used in other non-arch-related cases,
    when for some reason one person checks in a change for another]


That would be inconsistent.  If in arch changes the person in the
Creator field is considered the one who checked in the change, then we
should not use the Creator field to indicate the real author in other
cases.

Currently what we do is put the real author in ChangeLog, not in the
CVS log entry.  That seems to work well and I see no reason to change it.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-19 14:38             ` [arch-users] " Rajesh Vaidheeswarran
@ 2003-08-20 17:23               ` Richard Stallman
  2003-08-22  8:17                 ` dhruva
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Stallman @ 2003-08-20 17:23 UTC (permalink / raw)
  Cc: arch-users, miles, emacs-devel

    If we decide to change, I'd rather that we change CVS, since many users
    (including myself) may not use CVS from within emacs all the time..

Overall it would be cleaner to change CVS.  However, CVS is not a GNU
package and I am not sure how its maintenance is going these days.
Does anyone know?  We may find that the only way to get a change
installed is to install it in Emacs.

Could people design a spec for the change?  Then I will send it to
bug-cvs.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: cvs <-> arch mirroring scripts
  2003-08-20 17:23               ` Richard Stallman
@ 2003-08-22  8:17                 ` dhruva
  0 siblings, 0 replies; 13+ messages in thread
From: dhruva @ 2003-08-22  8:17 UTC (permalink / raw)
  Cc: arch-users, Emacs Devel, miles

On Wed, 20 Aug 2003 13:23:23 -0400, "Richard Stallman" <rms@gnu.org>
said:
>     If we decide to change, I'd rather that we change CVS, since many
>     users
>     (including myself) may not use CVS from within emacs all the time..
> 
> Overall it would be cleaner to change CVS.  However, CVS is not a GNU
> package and I am not sure how its maintenance is going these days.
> Does anyone know?  We may find that the only way to get a change
> installed is to install it in Emacs.
> 
> Could people design a spec for the change?  Then I will send it to
> bug-cvs.

 One feature I am looking for (and am quite sure there are many other
 users out there) is TUNNELING capability or access through firewall. It
 is not a enhancement to the behaviour of CVS but more a desired feature
 to allow people like me behind firewall.
 I have used ProxyTunnel to access CVS, but I would prefer CVS to handle
 it instead of me having to depend on another tool.

with regards,
dhruva
-- 
Dhruva Krishnamurthy
Web: http://schemer.fateback.com/

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2003-08-22  8:17 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1060744673.2522.27.camel@columbia>
     [not found] ` <buo65l2facg.fsf@mcspd15.ucom.lsi.nec.co.jp>
     [not found]   ` <1060803518.28891.27.camel@columbia>
2003-08-14  9:35     ` [arch-users] Re: cvs <-> arch mirroring scripts Miles Bader
2003-08-14  9:46       ` Robert Collins
2003-08-14  9:59         ` Miles Bader
2003-08-17 17:29       ` Richard Stallman
2003-08-17 17:42         ` Rajesh Vaidheeswarran
2003-08-18 19:15           ` Richard Stallman
2003-08-19 14:38             ` [arch-users] " Rajesh Vaidheeswarran
2003-08-20 17:23               ` Richard Stallman
2003-08-22  8:17                 ` dhruva
2003-08-18  4:10         ` Miles Bader
2003-08-18 19:16           ` Richard Stallman
2003-08-18 22:29             ` Miles Bader
2003-08-20  2:43               ` Richard Stallman

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).