[MPlayer-dev-eng] x11_common.c: it still doesn't work in fullscreen

Diego Biurrun diego at biurrun.de
Sun Mar 14 00:09:49 CET 2004


Gabucino writes:
 > Diego Biurrun wrote:
 > >     Do NOT do this unless you really know what you are doing and the version you
 > >     are removing is the last version, e.g. there were no commits after yours.
 > > Pay special attention to the last paragraph, I'll explain in a second
 > > why it's there for good reason.
 > It's there for you to read. When I cvs admin -o remove a revision (and it does
 > remove, FYI), your cvs update won't remove it!!
 >
 > > (the diff that I committed looked somewhat fishy)
 > For the exactly same reason: it still contained the reversed parts because
 > you didn't rm x11_common.c by hand.

rm and cvs update does not make a difference.  Read on for a proof.

Have a look at an RCS file (the filename,v things that lie around in
repositories) and you will see that it contains the latest revision
(that's logical - it needs to be easily extractible) and some sort of
diff of the later revisions.

Here is an example (CVS repository at work).  I'll create a file with
three revisions and 'cvs admin -o' remove the second.  Let's see what
happens to the file then...

akira:~/cvs/semantics/test$ echo "first line" > example
akira:~/cvs/semantics/test$ cat example
first line
akira:~/cvs/semantics/test$ cvs add example
cvs server: use 'cvs commit' to add this file permanently
akira:~/cvs/semantics/test$ cvs commit -m "first commit" example
RCS file: /home/cvs/Repositories/ver.netzt/semantics/test/example,v
done
Checking in example;
/home/cvs/Repositories/ver.netzt/semantics/test/example,v  <--  example
initial revision: 1.1
done
akira:~/cvs/semantics/test$ echo "second line" >> example
akira:~/cvs/semantics/test$ cvs commit -m "second commit" example
Checking in example;
/home/cvs/Repositories/ver.netzt/semantics/test/example,v  <--  example
new revision: 1.2; previous revision: 1.1
done
akira:~/cvs/semantics/test$ cat example
first line
second line
akira:~/cvs/semantics/test$ echo "third line" >> example
akira:~/cvs/semantics/test$ cvs commit -m "third commit" example
Checking in example;
/home/cvs/Repositories/ver.netzt/semantics/test/example,v  <--  example
new revision: 1.3; previous revision: 1.2
done
akira:~/cvs/semantics/test$ cat example
first line
second line
third line
akira:~/cvs/semantics/test$ cvs log example
RCS file: /home/cvs/Repositories/ver.netzt/semantics/test/example,v
Working file: example
head: 1.3
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 3;     selected revisions: 3
description:
----------------------------
revision 1.3
date: 2004/03/13 19:56:34;  author: diego;  state: Exp;  lines: +1 -0
third commit
----------------------------
revision 1.2
date: 2004/03/13 19:56:03;  author: diego;  state: Exp;  lines: +1 -0
second commit
----------------------------
revision 1.1
date: 2004/03/13 19:55:28;  author: diego;  state: Exp;
first commit
=============================================================================


OK, so now we have a new file in CVS with three lines corresponding to
three revisions.  Now for the interesting step: Removing a revision
with 'cvs admin -o'.


akira:~/cvs/semantics/test$ cvs admin -o1.2 example
RCS file: /home/cvs/Repositories/ver.netzt/semantics/test/example,v
deleting revision 1.2
done
akira:~/cvs/semantics/test$ cvs log example
RCS file: /home/cvs/Repositories/ver.netzt/semantics/test/example,v
Working file: example
head: 1.3
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
----------------------------
revision 1.3
date: 2004/03/13 19:56:34;  author: diego;  state: Exp;  lines: +2 -0
third commit
----------------------------
revision 1.1
date: 2004/03/13 19:55:28;  author: diego;  state: Exp;
first commit
=============================================================================


The file has only two revisions now.  What's in the file?


akira:~/cvs/semantics/test$ cat example
first line
second line
third line


OK, no surprises thus far.  But what happens if we remove the file and
cvs up again?


akira:~/cvs/semantics/test$ rm example
akira:~/cvs/semantics/test$ cvs update
U example
akira:~/cvs/semantics/test$ cat example
first line
second line
third line


Absolutely nothing.

As I said, the 'cvs admin' command does not actually "reverse" any
changes, it just deletes entries from the revision history.  Only for
the corner case that you remove the last revision does this amount to
"reversing" a commit.

 > > So the moment that the trucks start delivering Cola to your house,
 > > don't hesitate to call me, I'll take a bottle or two.
 > Be my guest and take all, after I reversed that stuff I rm'ed and cvsupped
 > the file and checked by hand that it does not contain the offending stuff.
 >
 > So it came back with your commit - as the cvs log says.

No, it did not "come back".  I did _not_ change the files, I just
recommitted revision 1.166 as 1.164.  But after the above explanation
there should be no doubts remaining about that.

Diego




More information about the MPlayer-dev-eng mailing list