info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: Re: rename in cvs]


From: Sam Steingold
Subject: Re: address@hidden: Re: rename in cvs]
Date: 11 Oct 2001 10:39:50 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.0.107

> * In message <address@hidden>
> * On the subject of "Re: address@hidden: Re: rename in cvs]"
> * Sent on Thu, 11 Oct 2001 01:03:59 -0400 (EDT)
> * Honorable address@hidden (Greg A. Woods) writes:
>
> [ On , October 10, 2001 at 17:31:23 (-0400), Sam Steingold wrote: ]
> > Subject: Re: address@hidden: Re: rename in cvs]
> >  * 'cvs log BAR' does not list changes in file FOO
> Of course not!!!!  You do not want it to!  That would be illogical.

why? this is the same file.
to use a very specific example: CLISP (http://clisp.cons.org) used "lsp"
extension for CL files but switched to "lisp" a couple of years ago.
This was done "the right way" as per CVS manual.
Now we have two totally unrelated (from the CVS point of view) files:
compiler.lisp and compiler.lsp.
Actually, from the human point of view, these two are the different
names of the same file, and being able to see the change history of this
file _is_ a reasonable and logical thing!

> >  * there is no way to compare BAR 1.123 with FOO 1.321
> >    [yeah, they are separated by over a hundred revisions, so what?
> >     there are still situations when this makes sense.]
> 
> Bull.  It's trivial to do.

please! how do I do that without going through this:
$ cvs co -p -r 1.123 BAR > BAR.1.123
$ cvs co -p -r 1.321 FOO > FOO.1.321
$ diff BAR.1.123 FOO.1.321

> >  -->  etc - CVS does not know that FOO is the old name for BAR.
> > 
> >  * also, this operation cannot be undone gracefully: when I do the above
> >    renaming backwards, CVS moves BAR,v into the attic and there is no
> >    way to get the revisions of BAR into the FOO,v file
> >    (or is there - how do I concat two *,v files?!)
> 
> It's trivial to "undo" too -- the same way you "undo" any commit.

okay.  I _really_ do need this, and I will greatly appreciate an
instruction on how to do this.

Let me repeat: I have two files: <compiler.lsp,v> (with _many_ revisions)
and <compiler.lisp,v> (with even _more_ revisions).
I need to create a file compiler.lisp,v with _all_ these revisions,
sequentially, first those from <compiler.lsp,v>, then from
<compiler.lisp,v>.

The only thing I can think of is: check out <compiler.lsp> and patch it,
one by one, with all the patches that went into <compiler.lisp>, then go
(using shell) into the CVS repository and rename <compiler.lsp,v> to
<compiler.lisp,v>.

The problem is that there are 64 such files, so this process will have
to be automated somehow.

BTW, is there any difference, from the CVS POV, between

        $ cvs ci -m mesg FOO BAR
and
        $ cvs ci -m mesg FOO
        $ cvs ci -m mesg BAR
?
the reason I am asking is that some files have been checked in together,
so I will need to do some trickery to check the diffs into the old names
together too.

> > The problem is that I do not always have shell access - then I am stuck.
> You don't need to have shell-level access to the repository.

this is very nice to hear.

could you please tell me what to do?

I hope I made my needs quite clear already.

-- 
Sam Steingold (http://www.podval.org/~sds)
Support Israel's right to defend herself! <http://www.i-charity.com/go/israel>
Read what the Arab leaders say to their people on <http://www.memri.org/>
The program isn't debugged until the last user is dead.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]