Forum OpenACS Q&A: Re: Unable to login after upgrade to OpenACS 5.1

Collapse
Posted by Ola Hansson on
Well, it does sound like something went wrong with the merge. After all, you're not supposed to be needing the zzz-postload.tcl script when upgrading from a fresh 5.0 install (I guess I should have read your second posting more closely).

When it comes to upgrading the code base by means of cvs import/merge etc. there are a few similar but slightly different approaches floating around which, in my experience, can cause some confusion ... Generally, I've found Andrew Grumet's cvs document very clear but still exhaustive enough to give you an understanding of what is going on. https://openacs.org/projects/dotlrn/dotlrn-doc/dotlrn-cvs

FWIW, these are the steps I took when I (AFAICT) successfully installed and, two years later, upgraded a couple of my sites:

cvs -d /localrep import -m "importing 4.5b" mysite OpenACS oacs-4-5-b

Check out one of the working copies:
cvs -d /localrep checkout mysite -d mysite-dev

[Add and commit some custom code ...]

2 years later: Along comes OpenACS 5.0!

cvs -d /localrep import -m "importing 5.0" mysite OpenACS openacs-5-0-compat

22 conlicts (say)

Ouch! However, we won't have this many conflicts to sort out after we have merged thanks to -kk.

Time to merge:

cd /tmp (or some other temporary location 😊

cvs -d /localrep checkout -kk -j oacs-4-5-b -j openacs-5-0-compat -d temp-checkout mysite

cd temp-checkout
cvs -qn update > /tmp/LOG 2>&1

Open the /tmp/LOG in emacs. Mark the beginning and place the cursor at the end of the text and do: M-x sort-lines ...

You should now see a "C" at the beginning of the line for each conlict, and they will probably be fewer than indicated before - again thanks to the -kk flag above.

Manually resolve the conflicts by editing the affected files.

Now *commit* the edited files:

(from /tmp/temp-checkout/)
cvs commit -m "Resolved conflicts during merge"

Finally update your real working copies (start with your development copy if you have one and once it has been verified to work well update the staging and/or production copies).

Then when 5.1 came I checked it out from openacs.org and imported it just as I did with 5.0. But when I merged, this time I used (approximately) this command and these -j tags:

cvs -d /localrep checkout -kk -j openacs-5-0-compat -j openacs-5-1-compat -d temp-checkout mysite

I *think* this is a correct way to do it (it seems to have worked well for me), but if anything I am doing is incorrect, please let me know!