Forum OpenACS Development: Re: cvs woes

Collapse
14: Re: cvs woes (response to 1)
Posted by Andrew Piskorski on
Whoa, I didn't look carefully at all those diagrams and stuff above, but I think the two of you are going off down some blind alleys here. Tammy, the only thing wrong as far as you know is you gave the wrong cvs vendor import command above, right? And the exact command you used was this:
$ cd /tmp/oacs-4-6-3/packages/acs-automated-testing
$ cvs import -m "Upgrade to OpenACS 4.6.3 from openacs.org" openacs OpenACS OACS-4-6-3
which you posted earlier above, right? If that's the case, then your only problem is you have some files where they don't belong. So I'm going to assume here that that's the only problem. (If you have reason to suspect other problems with your CVS repository, explain what and why, of course.)

Ok, in your /tmp/oacs-4-6-3/packages/acs-automated-testing/ directory that you used for the import, there are exactly 4 files, no more no less:

$ ls -F
acs-automated-testing.info  sql/  tcl/  www/
So when you did your import above, instead of telling it to import the files into "openacs/packages/acs-automated-testing", you messed up and told it to import the files into "openacs", which means the root directory of your "openacs" CSV project.

Where's your CVS repository, "/cvsroot"? Let's assume that's where it is. So look in your CVS repository, I bet you'll find a "/cvsroot/openacs/acs-automated-testing.info", which doesn't belong there. You need to get rid of that, as it's supposed to be at "/cvsroot/openacs/packages/acs-automated-testing/acs-automated-testing.info".

Basically, your cvs import slammed the "acs-automated-testing" directory and everything beneath it (its tcl, www, and sql directories, etc.) to directories up (../../) from where the stuff was supposed to go.

So, first find out if the scenario I painted above matches what you actually did and what actually happened. Next, I think you may have done some other stuff too that you didn't tell us about.

For example, above you posted some CVS log output which says that for /cvsroot/openacs/packages/acs-automated-testing/tcl/aa-test-procs.tcl,v you vendor imported 3 version, most recently on Dec. 1 with a comment of "Upgrade to OpenACS 4.6.3 from openacs.org", and since you never committed any of your own changes on that head, that latest vendor import is the live revision on the Head too.

Looks like you successful imported the 4.6.3 version of that file just like you wanted to. But, unless I'm completely missing something here, the cvs import command you said you used could not have been responsible for correctly importing that file. It couldn't, because you told it to import it into a different directory. Did you do two cvs imports? One wrong and then another that you got right? If so that would explain it.

Collapse
20: Re: cvs woes (response to 14)
Posted by tammy m on
Tammy, the only thing wrong as far as you know is you gave the wrong cvs vendor import command above, right?

Yes.

And the exact command you used was this:

     $ cd /tmp/oacs-4-6-3/packages/acs-automated-testing 
$ cvs import -m "Upgrade to OpenACS 4.6.3 from openacs.org" openacs OpenACS OACS-4-6-3  

which you posted earlier above, right? If that's the case, then your only problem is you have some files where they don't belong. So I'm going to assume here that that's the only problem. (If you have reason to suspect other problems with your CVS repository, explain what and why, of course.)

Absolutely right. I pulled that command right out of my saved shell history. And yes I have believed everything else with cvs was working up to that point.

Ok, in your /tmp/oacs-4-6-3/packages/acs-automated-testing/ directory that you used for the import, there are exactly 4 files, no more no less:

Yes again exactly as you showed above.

Where's your CVS repository, "/cvsroot"? Let's assume that's where it is. So look in your CVS repository, I bet you'll find a "/cvsroot/openacs/acs-automated-testing.info", which doesn't belong there. You need to get rid of that, as it's supposed to be at "/cvsroot/openacs/packages/acs-automated-testing/acs-automated-testing.info".

Now this is what I would have thought too (after doing the import the wrong way that I did). But in fact, no. There is no file "/cvsroot/openacs/packages/acs-automated-testing/acs-automated-testing.info". I don't understand why either:(

Ok wait, now I pulled this out of my shell history (I am using Terminal on OS X and I saved the output of the whole mess as a text file). I just noticed that the output of the import shows the files going to the "right" place though the command is "wrong."

bash-2.05a$   cvs import -m "Upgrade to OpenACS 4.6.3 from openacs.org" openacs OpenACS OACS-4-6-3
cvs import: Importing /cvsroot/openacs/packages
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing/sql
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing/sql/oracle
U openacs/packages/acs-automated-testing/sql/oracle/acs-automated-testing-create.sql
U openacs/packages/acs-automated-testing/sql/oracle/acs-automated-testing-drop.sql
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing/sql/postgresql
U openacs/packages/acs-automated-testing/sql/postgresql/acs-automated-testing-create.sql
U openacs/packages/acs-automated-testing/sql/postgresql/acs-automated-testing-drop.sql
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing/tcl
U openacs/packages/acs-automated-testing/tcl/aa-test-procs-oracle.xql
U openacs/packages/acs-automated-testing/tcl/aa-test-procs-postgresql.xql
U openacs/packages/acs-automated-testing/tcl/aa-test-procs.tcl
U openacs/packages/acs-automated-testing/tcl/example-procs.tcl
U openacs/packages/acs-automated-testing/tcl/example-test-procs.tcl
U openacs/packages/acs-automated-testing/tcl/filter-procs.tcl
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing/www
U openacs/packages/acs-automated-testing/www/index.html
cvs import: Importing /cvsroot/openacs/packages/acs-automated-testing/www/admin
U openacs/packages/acs-automated-testing/www/admin/clear.tcl
U openacs/packages/acs-automated-testing/www/admin/component.adp
U openacs/packages/acs-automated-testing/www/admin/component.tcl
U openacs/packages/acs-automated-testing/www/admin/index-oracle.xql
U openacs/packages/acs-automated-testing/www/admin/index-postgresql.xql
U openacs/packages/acs-automated-testing/www/admin/index.adp
U openacs/packages/acs-automated-testing/www/admin/index.tcl
U openacs/packages/acs-automated-testing/www/admin/master.adp
U openacs/packages/acs-automated-testing/www/admin/rerun.tcl
U openacs/packages/acs-automated-testing/www/admin/testcase-oracle.xql
U openacs/packages/acs-automated-testing/www/admin/testcase-postgresql.xql
U openacs/packages/acs-automated-testing/www/admin/testcase.adp
U openacs/packages/acs-automated-testing/www/admin/testcase.tcl

No conflicts created by this import

Huh?

Next, I think you may have done some other stuff too that you didn't tell us about. For example, above you posted some CVS log output which says that for /cvsroot/openacs/packages/acs-automated-testing/tcl/aa-test-procs.tcl,v you vendor imported 3 version, most recently on Dec. 1 with a comment of "Upgrade to OpenACS 4.6.3 from openacs.org", and since you never committed any of your own changes on that head, that latest vendor import is the live revision on the Head too.

No I didn't do anything else. There should be 3 vendor imports of acs-automated-testing because I originally imported OACS 4.6 from Joel's site. Then later updated to 4.6.1 via import. And just on Dec 1st tried to import ONLY the acs-automated-testing package but that is the import that got screwed up and its tagged OACS-4-6-3. And yes I never did any changes to the testing package of my own, in fact I had never used it until a few days before Dec 1st.

Looks like you successful imported the 4.6.3 version of that file just like you wanted to. But, unless I'm completely missing something here, the cvs import command you said you used could not have been responsible for correctly importing that file. It couldn't, because you told it to import it into a different directory. Did you do two cvs imports? One wrong and then another that you got right? If so that would explain it.

That exactly the problem I'm having understanding this. I did the one import and it was wrong! I have my shell output saved and there is only one import command in it and it's clearly wrong. But the files do not exist 2 dirs up in my cvsroot as I would have expected them to. And it does look like they got imported into the right place. How I don't know! And if I did one wrong import and one right later (who knows anymore though I don't see it in my shell logs), wouldn't the wrong import still have the files in the cvsroot 2 dirs up??? Argh.

So maybe somehow my import is ok? This is weird and not comforting but would be nice to get this resolved and be able to confidently use cvs again.

Yet if I check out via the OACS-4-6-3 tag, I will get only acs-automated-testing package. And it looks like from my stats of files in acs-automated-testing that already the 4-6-3 files are at the HEAD of my working/dev copy. Maybe nothing is wrong but choice of tag name is poor?

This has been one wild ride. I am going to look at cvsgraph just to make myself feel like I have a bit more confidence that things are ok.