info-cvs
[Top][All Lists]
Advanced

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

Re: cancel the last commit


From: jehan.procaccia
Subject: Re: cancel the last commit
Date: Sat, 22 Jan 2005 23:40:05 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20040922

Pierre Asselin wrote:


I was wondering if I could do something simpler:
2) Get the trunk code
address@hidden /var/www/html/ldap]
$ cvs -d :pserver:address@hidden:/var/cvs checkout -r trombint-2-0-0 trombintDev

Yes, much easier, but see below.
OK, good that's what I finally did with success :-), see below ...

3) Then copie/replace from my backup of the new/beta feature set every new&modified files to that fresh checkout
$ cp /tmp/trombintDev/identification.php ./trombintDev/
$ cp /tmp/trombintDev/cas-header.php ./trombintDev/

Be careful, the trunk seems to have advanced while all this was
going on.  Make sure that identification.php and cas-header.php
haven't been modified by others, or you will be clobbering their
changes.  I say, was that how the conflicts happened ?  If so you
may be better off cleaning up the conflicts in trombintDev.update-A.
No need to worry about "others", I'am alone on that project ! So I can manage to get something clean from the checkout of the tagged revision, then copied and replace new & modified files, then commited -> 1st a pb ! beacuse of the sticky tag !, so I removed it with cvs update -A, then commited for good this time. After that I tagged again to a new release in order to milestone that major commit ! For those interested here's what I did:

1) get the clean tagged release

address@hidden /var/www/html/ldap]
$ cvs -d :pserver:address@hidden:/var/cvs checkout -r trombint-2-0-0 trombintDev

2) copied & replace new an modified files
address@hidden /var/www/html/ldap/trombintDev]
$ cp /tmp/trombintDev/identification.php .

3) first commit which ended with a sticky tag pb :-(
$ cvs -d :pserver:address@hidden:/var/cvs commit -m "MAJOR Commit to head trunk" cvs commit: sticky tag `trombint-2-0-0' for file `identification.php' is not a branch

indeed:

$ cvs -d :pserver:address@hidden:/var/cvs status -v identification.php
===================================================================
File: identification.php        Status: Locally Modified

  Working revision:    1.11
  Repository revision: 1.11    /var/cvs/trombintDev/identification.php,v
  Sticky Tag:          trombint-2-0-0 (revision: 1.11)
  Sticky Date:         (none)
  Sticky Options:      (none)

  Existing Tags:
       trombint-2-0-0-patches          (branch: 1.11.2)
       trombint-2-0-0                  (revision: 1.11)
       start                           (revision: 1.1.1.1)
       jehan                           (branch: 1.1.1)

So I just run *cvs* update -A on these files to revert my working copy to the head revisions. The update -A will clear *sticky* tags so I can proceed.

4) update -A

address@hidden /var/www/html/ldap/trombintDev]

$ cvs -d :pserver:address@hidden:/var/cvs update -A

$ cvs -d :pserver:address@hidden:/var/cvs status -v identification.php
===================================================================

File: identification.php        Status: Locally Modified

  Working revision:    1.11

  Repository revision: 1.11    /var/cvs/trombintDev/identification.php,v

  Sticky Tag:          (none)

  Sticky Date:         (none)

  Sticky Options:      (none)

  Existing Tags:

       trombint-2-0-0-patches          (branch: 1.11.2)

       trombint-2-0-0                  (revision: 1.11)

       start                           (revision: 1.1.1.1)

       jehan                           (branch: 1.1.1)


no more stiky tag :-)

5) real an finally succesfull commit on head :-)

address@hidden /var/www/html/ldap/trombintDev]
$ cvs -d :pserver:address@hidden:/var/cvs commit -m "MAJOR Commit"
cvs commit: Examining .
Checking in identification.php;

/var/cvs/trombintDev/identification.php,v  <--  identification.php

new revision: 1.12; previous revision: 1.11

6) Tag that hard work !

address@hidden /var/www/html/ldap/trombintDev]

$ cvs -d :pserver:address@hidden:/var/cvs tag -c trombint-2-1-0 .
cvs tag: Tagging .
T Changelog.html
..

done, ouf !

Thanks a lot for all your help, it was really kind of you, I will keep trace of that thread and may take a note about that experience on my CVS personnal sample doc (reminder !).
http://www.int-evry.fr/s2ia/user/procacci/cvs/cvs.html

Thanks.



In any case, what you want is a sandbox that
   1)  is on the trunk, and
   2)  has all the new/beta/semibroken changes in it.

4) After I have put back all the new&modified files into the sanbox (./trombintDev), I will just have to commit ! no need to put -r trombint-2-0-0 it will go there (trunk) anyway ?

Right.  Just plain "commit", to the trunk.


I don't really understand this -A option but I tried it ... (see above)

Think of it as a strange way to say "update -r<nothing>".
(Actually it's more like
   update -r<nothing> -D<nodate> -k<defaultkeywords>
)

If view of the confusion, I would double-check that the trunk didn't
lose any work.  Run "cvs log" on the affected files and note which
revisions were committed by you and which ones by others.  Run
"cvs diff" between consecutive revisions and make sure that your
changes don't include rollbacks of other people's changes.

Similarly, on the stable/bufix branch make sure that all the
new/beta stuff is completely gone.  You more or less have to
do that anyway, since having beta stuff would be a "bug"
and on that branch you're fixing bugs.

Good luck.






reply via email to

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