From: Alan W. I. <ir...@be...> - 2002-11-30 02:42:24
|
I ask for your comments below on both the timing and implementation of merging the AT branch into CVS HEAD. But before getting to that here is the summary of where the AT project stands at the moment. Here is what works: (1) c, c++, f77, python, and tcl bindings and examples. (2) libltdl, the cross-platform dlopen wrapper (tested extensively on Linux and to a limited extent on Solaris). (3) dynamic xwin and ps drivers. (4) the distribution tarball approach (tested a few times on a rather software-challenged solaris machine). Here are the major categories of work left to do on this project with highest priority first: (1) tk binding. (2) the remainder of the dynamic drivers including tk and tkwin +++++++++++++++++++ (proposed date of merge, see below) (3) octave ******************* (conservative date for merge) (4) static drivers (5) deal with cross platform glitches. In planning the timing of the merge, I want to strike a reasonable balance between inconveniencing those working on MAIN HEAD, and the usual problem with branch development; rarely in a small group such as ours does anybody help out with branch development. From the solid achievements summarized above, the AT branch already passes the "nominally working" test similar to Geoffrey's judgement call when he decided to merge the dynamic driver changes into CVS HEAD. Thus, it would probably be reasonable to merge it now, but I am willing to wait to the "+++" line above when the next two things are done on the list above. The "+++" line above would only inconvenience Joao, I believe. Joao, do you mind doing the automake change for octave on CVS HEAD after the merge or do you want to do it on the AT branch before the merge? I will help as much as you like in either case. The "***" line corresponds to the most conservative time for the merge that I would like to adopt. Everything below that line does not work now on CVS HEAD so by definition nobody will be inconvenienced. In fact, I am convinced autotools will be a major convenience factor for our group's work in getting these two issues sorted out. I would like to adopt the "+++" time (which could conceivably be as early as Sunday if all goes well) for the merge if Joao positively agrees and there is also positive affirmation from at least either Geoffrey or Maurice (who I ask below to review the merge implementation). However, if there are any objections, then I will wait to merge until octave works on AT. I would now appreciate a review of the mechanics of the merge from the cvs guru's here (Maurice or Geoffrey) since I have never done a big merge like this before. So I hope you guys have access to your e-mail this weekend in the interests of getting the merge done soon. BTW, if there is any way to make this a more fail-safe procedure, please let me know! I definitely want to avoid flubbing up CVS head through some ill-advised cvs command. Here are the steps of what I propose at the time of the merge. (1) Tag cvs AT branch before merge using throwaway directory tree cvs checkout -r AT -d AT plplot cd AT cvs tag AT_1 cd .. (2) Tag cvs HEAD before merge using throwaway directory tree. cvs checkout -d plplot_b_ATmerge plplot cd plplot_b_ATmerge cvs tag b_ATmerge cd .. (3) do the merge (straight from the "merging an entire branch" section available with the "info cvs" command). First get MAIN HEAD with normal checkout then update the local copy with a merge. cvs checkout -d plplot plplot cd plplot # This only changes working directory cvs update -kk -j AT Question: would it be better to break this up by doing say the bindings directory, then the examples directory, then the overall directory? Can you break it up that way? (4) Check all is well with merged versions. In particular make sure no deleted files have come back to haunt us. Also, resolve conflicts. (5) Now change the repository, and after this commit we are all in business on CVS HEAD with the autotools approach! cvs commit -m "Merged AT into MAIN" Question: can this commit stage be done one sub-directory tree at a time if the answer to the previous question in (3) is yes? (6) I assume from my reading (but gurus please confirm) that the sticky tags (generated, e.g., by the -kk option above) only concern local directories and have nothing to do with the repository. So to get rid of them locally after the commit(s) are done is do a cvs update -a or a fresh checkout. Is that correct? Alan email: ir...@be... phone: 250-727-2902 FAX: 250-721-7715 snail-mail: Dr. Alan W. Irwin Department of Physics and Astronomy, University of Victoria, P.O. Box 3055, Victoria, British Columbia, Canada, V8W 3P6 __________________________ Linux-powered astrophysics __________________________ |