From OpenNMS
Contents |
Description
Investigate what we want out of the new SCM.
Acceptance Criteria
Conversion
- choose tool for how to do conversion
- "git svn" is the only really solid contender
- write scripts to "clean up" repositor(y|ies) after conversion
- renaming branches and tags
- check in current maven/etc. to trunk, script merging them to each branch & tag
- determine if there are any branches or tags that can be outright deleted
- export excludes
- investigate behavior of submodules vis. svn:externals
- submodules are probably bad for this particular use, better to just check it in (but keep them in mind for if/when we rearrange things down the road)
Hosting
- investigate hosting options (SF's git? GitHub? Gitorious?)
- investigate access to git in restricted environments (firewall, etc.)
Usage/Process/Document
- confirm working behavior on multiple OSes:
- linux ✓
- Mac ✓
- Windows
- Solaris ✓
- investigate tagging behavior; what is a "tag"?
- a tag is just a reference to a sha hash that represents a particular tree state
- need methodology for working with multiple branches
- see this link for details on branch tracking
- need way to handle commit approval (merging from "trunk" to "1.7", etc.)
- by convention, all new development is done in a feature branch, that branch should get pushed to the upstream OpenNMS repo, and then get approved and merged into master/1.7/etc. as appropriate
- need to be able to access from eclipse
- egit is pretty solid and works well in my testing
- need to be able to access from bamboo
- check out: http://github.com/krosenvold/bgit
- investigate maven release plugin's behavior with git
- investigate checking out individual subdirectories/modules (ie, opennms/core/lib)
- not possible, you can only check out (clone) at the top level
- investigate OGP development process






