HKS-HES Subversion Repository

From Hchkswiki
Revision as of 16:58, 14 July 2009 by Kawama (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The analysis code as well as documentation and papers being edited will be maintained in a Subversion repository.

Rules of Engagement

You are allowed to

  • checkout any version from a trunk, tag, or branch
  • commit any revisions to a branch that you "own"
  • tag any revision

You are NOT allowed to

  • commit changes to the trunk,
    • if you are the only person that knows about them.
    • if they have not been properly documented in the ELOG.
    • if they have not been properly tested.
  • ever commit changes to a tag!

If any of the above sounds just like gobbledygoo to you, please read at least the first two chapters of [Version Control with Subversion], a free book about Subversion. This book is published by O'Reilly Media.

Organization

free book

The initial organization of the repository looks like this

/
  analyzer/
     e01011/
        trunk/e01011analyzer
        tags/
        branches/
     e02017/
        trunk/
        tags/
        branches/
     e05115/
        trunk/
        tags/
        branches/
           development/
              e05115replay/
              e05115src/
           official/
              e05115replay/
              e05115src/
  docomentation/
     COO/
        trunk/
        tags/
        branches/
     ESAD/
        trunk/
        tags/
        branches/
     rrches/
  papers/
  simulation/
     geant4/
        trunk/

Strategy

The main development line of a project is kept in the trunk. The trunk is what you want to checkout to obtain a working copy.

Major revisions should be tagged. For example, after reaching a certain milestone in analyzer development and before starting a major new replay, the current revision should be tagged with a meaningful name for future reference. Likewise, versions of a paper that distributed more broadly within the collaboration or submitted to a journal of the archive should be tagged.

Extensive code development or any pursuit of an independent analysis strategy that is likely to disrupt the main trunk should take place in a dedicated branch. If you are not familiar with this, ask the administrator to create a branch for you.

Checkout the E01-011 Analyzer (ENGINE)

When logged into one of the CUE systems that has /group mounted, the command

svn checkout file:///group/hks/Repositories/svnroot/analyzer/e01011/trunk/e01011analyzer

will place the full analyzer, sources and replay directory into, a tree e01011analyzer in your currenct working directory.


Checkout the E05-115 Analyzer (ENGINE)

At this time (July 6, 2009) E05-115 analyzer repository has "development" version and "official" version in branch directory. "development" repository should be used for analysis code itself, not data reading part (ex. tracking, PID). "official" version is for the development of data reading part from ROCs (ex. F1 reading test, editing of MAP file). Be careful not to mix up these directories.

Following part is how to use E05-115 analyzer repositories. Now let's assume to use "development" repository. If you use following command, you can checkout e05115replay/ and e05115src/ directory;

svn checkout file:///group/hks/Repositories/svnroot/analyzer/e05115/branches/development

Or if you want to separate dev. version from stable version which have to be imported just before the experiment, simply type following;

svn checkout file:///group/hks/Repositories/svnroot/analyzer/e05115/

this command allows you to checkout trunk/, tags/, and branches/ directory.

Above commands are not effective in the machine which does not mount /group directory. But following command can allows you to use ssh connection for subversion;

svn checkout svn+ssh://ifarml5/(path to the directory)

If you have a system which subversion has been already installed, using ssh will be very usefill.

After checkout, you can simplay type "make" command. But the compilation will come up with error if you does not check the path in the "Makefile.in" in e05115src/ and "Makefile" in e05115replay/SRC.

If you have some inconvenient, tell Kawama(kawama_at_jlab.org), please.

Checkout the E05-115 Geant4 simulation code

The repository of Geant4 simulation code is only trunk. If you type following command, you can checkout our Geant4 simulation code.

svn checkout file:///group/hks/Repositories/svnroot/simulation/geant4/trunk

If this is a first time to use our source code, this page will be helpful for your study.

See also

External links