Version management
Sesarray, the distribution archive, is made of a lot individual applications and libraries that have their own version. Version branches are the same for all items. It is defined at the Sesarray level. Every day changes on all branches are automatically analyzed. Results are directly available in a browser.
- Branch 2.0 (current stable)
- Details: 2_0.txt
- Summary: summary-2_0.txt
- Main development branch
- Summary: summary-trunk.txt
- Details: trunk.txt
Modifications of source code is characterized by its level (script dpversionreport):
- Level 3: modification of object interface (.h files)
- Level 2: modification of object implementation (.cpp files)
- Level 1: currently not used
- Level 0: no modification
Version numbers are made of three parts: A.B.C
- A: major modification with drastic changes for the end-user
- B: major internal modification which breaks binary compatibility (API changed)
- C: minor bug fixes which ensure binary compatibility (API unchanged). Some functions can be added to object interfaces but existing function definitions are never removed nor modified.
The summary is an executable bash script that can be used to increment versions of individual applications and libraries. For each modification level, a version increment is labeled B (level 3) or C (level 2). Level 3 may be subject to discussion in case of minor modification of a header file. Modifications on the current stable branch cannot be other that C.
######################### geopsy/geopsycore ######################### OLD_DIR=$(pwd) cd gptools/gpsort dpversion C cd $OLD_DIR
Once this is done for all packets, you can commit the new versions to the repository:
dpsubdo dpversion c
Do not tag directly before successful testing of the distributed archive.
==