update on subversion

13
Update on Subversion Jeremy McCormick Current Status and Plans

Upload: xanto

Post on 23-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

Update on Subversion. Current Status and Plans. Jeremy McCormick. What’s the plan?. All HPS projects in the LCD CVS are being migrated to the Subversion (SVN) revision control system. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Update on Subversion

Update on Subversion

Jeremy McCormickCurrent Status and Plans

Page 2: Update on Subversion

2Insert Presentation Title in Slide Master

What’s the plan?

• All HPS projects in the LCD CVS are being migrated to the Subversion (SVN) revision control system.

• The CVS should not be used from now on, and should be considered “frozen”, though all modules are still writeable (for now).

• LCSim, SLIC and its dependencies, and other projects are also being moved.

• During this process, I am taking the opportunity to reorganize sources, as well as leave things behind (mostly LCD projects) that are abandoned, unused and/or unmaintained.- This has mostly applied to LCSim thusfar, rather than HPS projects.- LCSim already underwent heavy reorganization when imported. This

has mostly NOT occurred for HPS (yet).

Page 3: Update on Subversion

3Insert Presentation Title in Slide Master

Status Report: Migration

Migrated successfully lcsim, lcsim-*, etc.GeomConverterslic, gdml, lcdd ilcinstall updated from CVS to SVN, too

hps-detectorshps-javajevio-basehps-et-java

Page 4: Update on Subversion

4Insert Presentation Title in Slide Master

Repository Information

• lcsim repository base URLsvn://svn.freehep.org/lcdet/

• lcsim trunksvn://svn.freehep.org/lcdet/projects/lcsim/trunk

• lcsim source browser http://java.freehep.org/svn/repos/lcdet/list/projects/lcsim/trunk/• HPS repository base URL svn://svn.freehep.org/hps/• HPS projects’ trunk

svn://svn.freehep.org/hps/java/trunk

• HPS source browser http://java.freehep.org/svn/repos/hps/list/java/trunk/

Page 5: Update on Subversion

5Insert Presentation Title in Slide Master

Credentials

• By default, projects are checked out in read only mode, which means local modifications cannot be checked in.

• In order to check out a writable copy, you need to provide a valid username and password combination.• The lcsim and HPS repositories have separate passwd files, though most

users can use the same ones.• From the command-line, need to use options like: svn co –username=[username] –password=[password] [URL]• If you checkout from the command line, the passwords will usually be

saved in your SVN config within the home directory and then subsequently used automatically.

• How the IDE does this depends (Netbeans, Eclipse, etc.).• Eclipse will use “secure storage” to encrypt passwords associated with a

repository.

Page 6: Update on Subversion

6Insert Presentation Title in Slide Master

Eclipse Repositories

Put credentials here for write mode

Page 7: Update on Subversion

7Insert Presentation Title in Slide Master

LCSim Repository Organizationtop dir

parent pom

branches dirtags dir

used to be GeomConverter

runnable jar and JAS install

current trunk (all lcsim projects)

pom for building all modules

Page 8: Update on Subversion

Insert Presentation Title in Slide Master

8

HPS Repository Organization

top dirtrunk

formerly hps-detectorscreates bin jar and installs to JASformerly hps-et-java

ye olde hps-javaformerly jevio-base

monitoring appuser packages

module buildbranches

tagssandbox area for tests, broken code, etc.

util package

database conditions framework

Page 9: Update on Subversion

9Insert Presentation Title in Slide Master

Bootstrap Instructions

# build lcsim locallymkdir workdir; cd workdirsvn co svn://svn.freehep.org/lcdet/projects/lcsim/trunk lcsim_trunkcd lcsim_trunkmvn clean install –DskipTests=true; cd -

# build HPS locallysvn co svn://svn.freehep.org/hps/java/trunk hps_trunkcd hps_trunkmvn clean install –DskipTests=true

Page 10: Update on Subversion

10Insert Presentation Title in Slide Master

Module Build

• All HPS Java projects can be built sequentially using a single Maven command from the top-level directory.

svn co svn://svn.freehep.org/hps/java/trunk hps_trunkcd hps_trunkmvn clean install

Page 11: Update on Subversion

11Insert Presentation Title in Slide Master

Running in Batch Mode

• Now there is a separate module for creating the runnable jar.• Used to be created by hps-java but no longer

• SVN URLsvn://svn.freehep.org/hps/java/trunk/distribution

• After ‘mvn clean install’ of that module, it will be here:distribution/target/hps-distribution-3.0-SNAPSHOT-bin.jar

• This module will pull in a set of dependencies defined in its POM file. (distribution/pom.xml)• To include local modifications of classes from other modules

like hps-java in your batch job, build those modules first and then make the distribution jar.

Page 12: Update on Subversion

12Insert Presentation Title in Slide Master

Tips and Tricks

• Find out about your working copy svn info• See local modifications svn status• Get some help svn help• Put global ignores in your ~/.subversion/config

global-ignores = target *.class *.jar *.diff x.x *.log .classpath .project .settings *.tar.gz

Page 13: Update on Subversion

13Insert Presentation Title in Slide Master

Plans

• Reorganize hps-java some more.• Remove unused code.• Cleanup packages in terms of which classes are where, as this is

a bit of a mess right now. (particularly recon.tracking)• Continue to extract packages into sub-modules where

appropriate.• Add a parent POM distinct from lcsim (using lcsim-parent now)• Change overall package names

• org.lcsim.hps => org.hps