mantisbt:importexport
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mantisbt:importexport [2008/07/11 19:19] – giallu | mantisbt:importexport [2024/03/26 05:03] (current) – [Other] formatting xmllint code block dregad | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * **Author**: Gianluca Sforna (giallu) | * **Author**: Gianluca Sforna (giallu) | ||
| - | * **Status**: < | + | * **Status**: < |
| * **Associated Issue**: http:// | * **Associated Issue**: http:// | ||
| Line 9: | Line 9: | ||
| A complete solution for copying a list of issues between two different Mantis instances is something asked from quite some time: | A complete solution for copying a list of issues between two different Mantis instances is something asked from quite some time: | ||
| - | http:// | + | * http:// |
| - | http:// | + | |
| For a greater flexibility, | For a greater flexibility, | ||
| Line 44: | Line 44: | ||
| ** Proposed solution ** | ** Proposed solution ** | ||
| - | import will happen on a single project in instance B, so warn the user on export if "All project" | + | import will happen on a single project in instance B |
| + | |||
| + | ** Status ** | ||
| + | |||
| + | DONE | ||
| === User IDs === | === User IDs === | ||
| Line 57: | Line 62: | ||
| * squash all ids to a single one in instance B | * squash all ids to a single one in instance B | ||
| * attempt to find a matching user by username, then fall back to squashing id | * attempt to find a matching user by username, then fall back to squashing id | ||
| + | |||
| + | ** Status ** | ||
| + | |||
| + | DONE | ||
| + | A function implementing the above behaviour exists, but composing a list of users is memory intensive (more than 32Mb to execute with the mantis DB) so I'm refraining from using it. | ||
| + | |||
| + | The current implementation tries by default to match usernames, then squash to the userID performing the import operation | ||
| Line 72: | Line 84: | ||
| * Replace them with fake links, pretending the linked bug or note was deleted | * Replace them with fake links, pretending the linked bug or note was deleted | ||
| + | ** Status ** | ||
| + | |||
| + | DONE (notes are not in the initial implementation, | ||
| + | |||
| + | |||
| + | |||
| + | === Categories === | ||
| + | ** Issue ** | ||
| + | |||
| + | Category is a required field, but nothing guarantees the target project on instance B will use the same ones as instance A. | ||
| + | |||
| + | ** Proposed solution ** | ||
| + | |||
| + | Add import options: | ||
| + | * skip import of issues with unknown categories | ||
| + | * create missing categories (dangerous...) | ||
| + | |||
| + | ** Status ** | ||
| + | |||
| + | PENDING | ||
| Line 122: | Line 154: | ||
| ===== Requirements ===== | ===== Requirements ===== | ||
| + | |||
| The code being developed depends on: | The code being developed depends on: | ||
| Line 131: | Line 164: | ||
| ===== Other ===== | ===== Other ===== | ||
| - | * The resulting xml file can be tested for validity with xmllint like: | + | * The resulting xml file can be tested for validity with xmllint like: < |
| - | + | xmllint --noout --dtdvalid mantis.dtd | |
| - | '' | + | </ |
| * Check memory consumption when a huge number of issues are exported and imported | * Check memory consumption when a huge number of issues are exported and imported | ||
| + | * Add checks for required extensions - bool extension_loaded | ||
| + | * let user choose destination project on instance B | ||
mantisbt/importexport.1215818353.txt.gz · Last modified: (external edit)
