This is an attempt to outline what the structure would be if the argouml-source repository would move to Github.
Git-Repositories to set up
One per tigris-project:
- argouml
- argoprint
- argouml-andromda
- argouml-cpp
- argouml-csharp
- argouml-db
- argouml-de
- argouml-documentation
- argouml-en-gb
... The contents is everything from trunk except for the trunk/www part.
Two ways to do this:
- Keep the history. Convert every commit, create tags from tags and branches from branches. Branches/tags from releases would probably be a good thing to keep too but this has to be tested.
- Abandon history. The history is still at Tigris for those that want to dig into that.
Toolchain
The existing ant-based build chain will not work anymore. Especially the release script that is very much subversion-oriented will not work. Luckily we have already done some work with maven-builds.
Suggestion for tools:
- maven (hopefully most in place)
- github + gerrithub (create, upload, configure)
- ad.hoc. build server (who manages this, configure and maintain)
Work to be done and suggested order:
- Announce the work. (done)
- Transfer the contents of the argouml.tigris.org project (the main project). (done)
- Move all the code into the repository at github. (done)
- Resolve the testmodels problem by keeping a copy. (done)
- Remove the code from the tigris repository. (done)
- Transfer the contents of the argouml-actionscript3, argouml-cpp, argouml-csharp and argouml-java projects. (done)
- Announce that development can continue in the main repositories. (done)
After this the work has several independent tracks:
Get the argouml/tools/maven/toppom.xml builds to work (done) -moving it to separate repository-. |
Transfer the contents of each of the rest of the projects |
Maven-based releases. |
Set up repo. Describe how to work with repo. (done) |
|
|
Set up gerrithub. (done) |
Get them to build individually adding each to the repo configuration. |
|
Modify the repo configuration to point to gerrithub. (done) |
|
|
Describe how to do development using gerrithub. (done) |
|
|
Set up build server. |
|
|
Check that developing using Eclipse works (egit against gerrithub). |
|
|
Notes
Imported to github (tags GITHUB_IMPORT):
- argouml: 6b6db0242a40f80655cbfdddcca246afe23df20c
- argouml-actionscript3: c10eda392e4609ddabf3e53fa76b2f8ffa667076
- argouml-cpp: 285ceb11cadd94f553d5d4aee3bedf370d05c03d
- argouml-csharp: fe282d43338df65cfe0454c07d6c62b90057a29d
- argouml-java: 77ac7e94de239561b33026b52316dbfe41bd93e1
Settings for all repositories in github:
- Wikis: off
- Projects: off
- Allow Merge commits: off
- Allow Squash commits: off
Settings for all repositories in gerrithub:
- Submit type: Rebase Always
- Allow content merges: False
- Create a new change for every commit not in the target branche: True
- Require Change-Id in commit message: True
- Reject implicit merges when changes are pushed for review: True
- Others the gerrithub default (Active/Inherit).