Presentation is loading. Please wait.

Presentation is loading. Please wait.

CVS Version Tree Display Richard Thomas Benedict College Supervisor Dr. David J Ritchie Computing Division Fermilab Summer 2003.

Similar presentations


Presentation on theme: "CVS Version Tree Display Richard Thomas Benedict College Supervisor Dr. David J Ritchie Computing Division Fermilab Summer 2003."— Presentation transcript:

1 CVS Version Tree Display Richard Thomas Benedict College Supervisor Dr. David J Ritchie Computing Division Fermilab Summer 2003

2 Introduction My project… My project… –Created a software program –That will be used at the DZero experiment –That will provide a display Of source code Of source code –Organized version by version –In a web table format But, first, some background… But, first, some background…

3 Background Nature is based on… Nature is based on… –four forces: gravity, the electromagnetic force, the weak force, and the strong force. –30 years of experiment and theory have resulted in… the Standard Model (SM). the Standard Model (SM). During the 1960’s and 1970’s, research showed that During the 1960’s and 1970’s, research showed that –Electromagnetic and weak forces could be unified... –Strong force and gravity are still separate. The Standard Model… The Standard Model… –Is believed to be only an approximate theory. –May show through these approximations areas of “new physics” One of the goals of Fermilab is to explore these areas. One of the goals of Fermilab is to explore these areas.

4 The DZero Experiment Fermilab accelerator complex collides… Fermilab accelerator complex collides… –Proton and anti-proton beams –At the world's highest energy: 900 GeV in each beam. –At two locations: CDF and DZero The DZero experiment The DZero experiment –Was proposed in 1983 and approved in 1984. –Recorded its first antiproton-proton collision on May 12, 1992. –Took data during Run 1: 1992 – 1996 –Is now taking data for Run 2a –Is Planning to take data as Run 2b in the near future.

5 The DZero Detector Tracking chambers: purple, gray and pink. Tracking chambers: purple, gray and pink. Calorimeters: yellow, blue, and green. Calorimeters: yellow, blue, and green. Muon chambers: orange. Muon chambers: orange. Iron magnets: red. Iron magnets: red.

6 The DZero Software… Is custom-written. Is custom-written. Is in the C++ programming language. Is in the C++ programming language. Grouped into units called packages. Grouped into units called packages. Is how the experiment is monitored, controlled, read-out, and analyzed. Is how the experiment is monitored, controlled, read-out, and analyzed.

7 DZero Software Releases Test releases issued weekly. Test releases issued weekly. –Introduces new features into packages. –May have bugs. Production releases issued every three months. Production releases issued every three months. –Based on a test release –Has only bug fixes made to packages. –Intended to be used to produce publishable results. –Must be as correct as possible!!!

8 Example: The d0reco package Characteristics Characteristics –One of 500 packages –Many versions to date (>50) –Kept in the Concurrent Versions System (CVS) repository –All versions kept –Can list its version history with… cvs history –Tan d0reco cvs history –Tan d0reco Operation – the developer… Operation – the developer… –Checks out the d0reco package –Makes changes (to add new features or fix bugs). –tests, changes, tests until tests are successful. –Checks package back into CVS giving it a unique identifier (a “tag”). A tag must follow a standard format. Example: A tag must follow a standard format. Example: Trunk release: v02-15-03 Trunk release: v02-15-03 Test release: t03-04-00 Test release: t03-04-00 Production release: p14-03-01 Production release: p14-03-01

9 Tag Syntax Designates what is being done. Designates what is being done. –Example: p14-br marks the checked in package as the latest production release of “p14”. p14-br marks the checked in package as the latest production release of “p14”. Known as the “head of the p14 branch” Known as the “head of the p14 branch” –Example: t02-03-00 marks the checked in package as the test release t02.03.00. t02-03-00 marks the checked in package as the test release t02.03.00. –Example: V03-07-00 marks the checked in package as a trunk version v03-07-00. V03-07-00 marks the checked in package as a trunk version v03-07-00. Other information (from the cvs history output): Other information (from the cvs history output): –[p14–br:v02-15-13] says that the p14 branch has been created as split off the main development at v02-15-13.

10 Project Goal Phase 1: Phase 1: –Write a Python program that… analyzes the output from a CVS history command analyzes the output from a CVS history command displays the versions as a web page (html table). displays the versions as a web page (html table). Phase 2: Phase 2: –Extend the program to provide an option to display graphically using the Python software called Tkinter.

11 The Program written in Python written in Python –The programming language chosen by Dzero for this sort of application –uses the HTMLgen Python extension to write HTML from Python Uses functions to organize tasks. Uses functions to organize tasks.

12 Functions A means to A means to –group a set of statements into one place and –give it a name so that they can be run more than once in the program. Let’s us specify parameters, which may differ each time a function’s code is run. Let’s us specify parameters, which may differ each time a function’s code is run.

13 Function Definitions def print_menu(): def print_menu(): –displays a menu of user options. def print_all_data(bodylist): def print_all_data(bodylist): –generates an output of all the tags loaded in the repository. def print_trunk_data(bodylist): def print_trunk_data(bodylist): –gives the tags on the trunk of the development tree. def print_p13_branch(bodylist): def print_p13_branch(bodylist): –returns the tags on the p13 branch in the order of creation. def print_p14_branch(bodylist): def print_p14_branch(bodylist): –returns the tags on the p14 branch in the order of creation. def print_p15_branch(bodylist): def print_p15_branch(bodylist): –returns the tags on the p15 branch in the order of creation. def load_data(filename): def load_data(filename): –loads a file containing the result of the history command. def main(): def main(): –the main program which is called.

14 Results This is a example of the result of a test run of the program. This is a example of the result of a test run of the program.

15 Branch Report The branches are as follows: Module AuthorDateTimeZoneModuleTag trunk serban 2000-01-10 19:15 +0000 d0reco [v00-08-02:A] serban 2000-02-10 21:59 +0000 d0reco [v00-08-03:A] serban 2000-03-07 20:47 +0000 d0reco [v00-08-02:A] p14 jonckh2003-01-29 20:41+0000 d0reco [p14-br:p13-08-00-a] melanson2003-02-04 01:03+0000 d0reco [p14-br-01:p14-br] p15 jonckh2003-03-11 18:10 +0000 d0reco [p15-br:v02-00-03] jonckh 2003-03-11 18:10 +0000 d0reco [p15-00-00:v02-00-03] suyong 2003-03-17 17:16 +0000 d0reco [p15-br-01:p15-br] jonckh 2003-03-31 18:06 +0000 d0reco [p15-01-00:p15-br-01]

16 Conclusion The purpose of this project was to write a program that displays the output of a cvs history command as a web page. The purpose of this project was to write a program that displays the output of a cvs history command as a web page. The project was a success. The project was a success. It is expected that future versions will result in a useful tool to present this information. It is expected that future versions will result in a useful tool to present this information.

17 Acknowledgements I would like to thank David Ritchie, Alan Jonckheere, Paul Russo And Geoff Savage for taking the time out to mentor me and making sure that my experience here was the best possible. I would like to thank David Ritchie, Alan Jonckheere, Paul Russo And Geoff Savage for taking the time out to mentor me and making sure that my experience here was the best possible. I would also like to give a special thank you to the SIST Committee. I would also like to give a special thank you to the SIST Committee.


Download ppt "CVS Version Tree Display Richard Thomas Benedict College Supervisor Dr. David J Ritchie Computing Division Fermilab Summer 2003."

Similar presentations


Ads by Google