Subject: s%§"! need CVS assistance!

From: Dominik Vogt <[email-masked]>
Date: Fri, 24 Sep 1999 17:49:31 +0200

Somehow I was able to commit lots of old files from the 2.2
release over the latest version of the 2.2.x branch (see my
latest commit message). Now I need to undo this complete commit!
How do I do this?

Bye

Dominik ^_^

-- 
Dominik Vogt, Hewlett-Packard GmbH, Dept. BVS
Herrenberger Str.130, 71034 Boeblingen, Germany
phone: 07031/14-4596, fax: 07031/14-3883, [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: [email-masked] (Paul D. Smith)
Date: 24 Sep 1999 13:15:29 -0400

%% Regarding s%§"! need CVS assistance!;
%% Dominik Vogt <[email-masked]> writes:

  dv> Somehow I was able to commit lots of old files from the 2.2
  dv> release over the latest version of the 2.2.x branch (see my
  dv> latest commit message). Now I need to undo this complete commit!
  dv> How do I do this?

Very, very carefully! :)

You have two choices:

 1) You can use the cvs admin -o option to remove specific revisions
    from the archive.  Then it will be as if you never committed at
    all.  Of course, you must be extra-super-careful or you'll remove
    _useful_ revisions too.

 2) The safer way is to reconstruct the correct versions in your
    workspace (you can use cvs co -r or whatever), then do another
    commit that "re-does" the changes your previous commit undid.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <[email-masked]>         Network Management Development
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist
-------------------------------------------------------------------------------
   These are my opinions---Nortel Networks takes no responsibility for them.
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Sat, 25 Sep 1999 16:12:38 +0200

>   dv> latest commit message). Now I need to undo this complete commit!

I figured as much. I have no experience in doing such things
with CVS and I'm anxious I will do something wrong. If you look
at the commit message that was generated in that swrewed up
CVS commit, can you tell me the correct 'cvs checkout' options
so that I get the code before this commit? And perhaps the options
for the following 'cvs commit' too.
 
I'm in no particular hurry to fix this, so I'd prefer to understand
exactly what I am doing.

------------ CVS commit message -----------
CVSROOT:        /home/cvs/fvwm
Module name:    fvwm
Changes by:     domivogt        99/09/24 10:44:58

Modified files:
        .              : Tag: branch-2_2 ChangeLog INSTALL.fvwm NEWS
                         configure configure.in
        docs           : Tag: branch-2_2 ChangeLog Makefile.am
        extras         : Tag: branch-2_2 ChangeLog
        extras/FvwmCommand: Tag: branch-2_2 FvwmCommandS.c
        extras/FvwmScript/Widgets: Tag: branch-2_2 TextField.c
        extras/FvwmTaskBar: Tag: branch-2_2 ButtonArray.c
        fvwm           : Tag: branch-2_2 bindings.c builtins.c complex.c
                         fvwm2.1 menus.c misc.c move.c placement.c
                         virtual.c
        libs           : Tag: branch-2_2 ModParse.c
        modules        : Tag: branch-2_2 ChangeLog 
        modules/FvwmButtons: Tag: branch-2_2 FvwmButtons.c
        modules/FvwmCpp: Tag: branch-2_2 FvwmCpp.c
        modules/FvwmEvent: Tag: branch-2_2 ChangeLog FvwmEvent.1
                           FvwmEvent.c Makefile.am
        modules/FvwmForm: Tag: branch-2_2 FvwmForm.c
        modules/FvwmM4 : Tag: branch-2_2 FvwmM4.c
        modules/FvwmPager: Tag: branch-2_2 x_pager.c
        modules/FvwmRearrange: Tag: branch-2_2 FvwmRearrange.c
        utils          : Tag: branch-2_2 fvwmrc_convert
-------------------------------------------

Bye

Dominik ^_^

--
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dan Espen <[email-masked]>
Date: Sat, 25 Sep 1999 10:30:29 -0400

>         utils          : Tag: branch-2_2 fvwmrc_convert

I think I would try to check out 2.2 by date since nothing has been commited
for a while.  The a commit should then fix it up.

--
Dan Espen
444 Hoes Lane  Room RRC 1C-214           E-mail: [email-masked]
Piscataway, NJ 08854                     Phone: (732) 699-5570
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Sun, 26 Sep 1999 01:15:43 +0200

> for a while.  The a commit should then fix it up.

But can I simply commit older versions to the head of the branch?

Bye

Dominik ^_^

---

From: Dan Espen <[email-masked]>
Date: Sun, 26 Sep 1999 09:35:26 -0400

> > > > %% Regarding s%§"! need CVS assistance!;
                     ^^^^
Odd, here in the US we spell that as *$!%.  :)

> But can I simply commit older versions to the head of the branch?

I don't see why not.

First checkout 2.2 by date, you would be doing this in an area that
is "stuck" on 2.2.
Then do do an update, it should see all the changed files as modifications.
Then commit.

(I haven't tried any of this, but it seems like it should work.)

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 27 Sep 1999 00:54:27 +0200

On 26 Sep 1999 09:35:26 -0400, Dan Espen wrote:
> > > I think I would try to check out 2.2 by date since nothing has been
> > > commited for a while.  The a commit should then fix it up.
> > 

No, this should not work. It would not show all the previously changed
files as modifications if you don't modify anything. When you checkout
by date all your files will have sticky date. cvs commit will do nothing.
(Of course all this needs to be tested to be sure.)

The solution which works for sure is to checkout into a separate directory:
  cvs -d :pserver:[email-masked]:/home/cvs/fvwm checkout \
    -r branch-2_2 -d ../fvwm-old -D '2 weeks ago' fvwm
then copy back all needed old files to overwrite changes and commit.
(Personally I would run 'cvs admin -o rev file' to delete last revision.)

The best way not to do such errors is to always run 'cvs update' before
'cvs commit' and carefully check out which files are going to be commited.
But then again, this does not solve Chris's problem with ChangeLog...

Regards,
Mikhael.

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 27 Sep 1999 00:55:33 +0200

> for the following 'cvs commit' too.

In case you want to delete revisions you must (optionally) execute:
  cvs status file(s)

And then (one line for every file):
  cvs admin -o latest_file_revision_or_branch file

It is not dangerous at all if you specify the full file revision.
You can simply specify the branch instead of the revision and the latest
revision will be deleted. Specifying the branch is easier since it is the
constant for all files, but less safer.

Example (not tested):
  cvs admin -o 1.31.2.4 configure.in
Or (instead):
  cvs admin -o 1.31.2 configure.in

No need in special following commands. The only possible problems when you
delete revisions can be for one who locally changed deleted-revision file,
he must 'rm file' & 'cvs update -A [file]' to resolve the conflict.

> I'm in no particular hurry to fix this, so I'd prefer to understand

You can see rcs(1) for 'cvs admin' options.
I suggest that everyone using 'cvs admin' reports about this, since there
are no email notification.

Regards,
Mikhael.