I'd like to track my UML diagrams with an SVN repository. I have a StartUML project, where I am drawing several diagrams that describe the requirements and architecture of my software project, and I'd like to manage and track changes for each diagram. I am wondering if there is a way to manage and version StartUML diagrams with SVN. I appreciate any help or suggestion on how to use a version control system like SVN with a StarUML project. Many thanks.
1
There are 1 best solutions below
Related Questions in SVN
- Cannot load modules/mod_dav_svn.so into server
- Created Jenkins pipeline and added the script in the Pipeline Description.To check out the Project from the svn repository.NotWorking. Any Suggestion
- How to host SVN server on Cloud
- In two subversion repositories (same machine), can I have different usernames with no password prompting?
- Unrelated git histories when moving code from SVN to Git
- Convert local SVN to GIT using Tortoise GIT fails with unable connect?
- Jenkins Pipeline Script Check-in SVN using NPM
- Making latest subversion exec point to my restored subversion data directory
- Can anyone help on this "svn merge" problem?
- clone repo from SVN to GIT: unable to connect to a repository
- Possible to recursively serve an existing SVN checkout folder to another computer?
- How to push certain branches into git repository?
- Subversion svn merge failure
- Jenkins: SVN Checkout missing commit message
- SVN same setup, same user, fine from one machine but from another DAV/PROPFIND error
Related Questions in UML
- steps to create a web app with backend and database and web
- How to present this example concept in UML: Using 2 LCD displays in C/C++
- In the UML diagram, in the Class diagram, what does stereotype mean <<compound>>?
- UML representation of containerized services
- uml class diagram for boxing match
- Polymorphism can be described as:
- Why am I getting a plantUML syntax error with a statechart in a package?
- System or external system as an actor in a use case?
- How to model statechart behavior inheritance using UML?
- Can we have an interface create objects of another interface in UML Class Diagrams?
- Is my relationships correct in my class diagram
- How to attach a Port shape to a class shape?
- How to correctly create a sequence diagram?
- How can I insert activity diagram image to an use case in Enterprise architect?
- Use case extends or include
Related Questions in STARUML
- StarUML fails to open file with JavaScript error
- ambiguity about the relationship between 2 UML entities? Can you tell me what kind of relationship is there?
- Use case Actor generalization
- UML how to indicate one class sending request to same class
- How to find nested class arrow in staruml 5.0?
- How to make a Port in a StarUML component diagram align on the left side?
- How to export a class diagram in StarUML?
- Global variable as a namespace? Defining ambient typescript definitions for StarUML
- StarUML 5 and SVN
- How can you put a whole class diagram inside a package on StarUML?
- Why DOESN'T this Star UML Sequence Diagram have the activation "rectangle" in the Control object?
- how to use interaction use in sequence diagram in Staruml
- Modeling frontend and backend in a use case diagram
- How can I describe an associative entity relationship?
- Including a create message inside a combined fragment in sequence diagram
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Source code management systems like SVN and GIT are designed to manage and track changes of text files. They are much less efficient with binary files.
Fortunately, StartUML stores the model in a file using the
.MDJformat which appears to be plain JSON text format. So as long as the source code management system scans the MDJ extension (if the file is stored in a tracked repository and if you commit it), it will monitor changes to the JSON file exactly as for the other source code files:Unfortunately, you have not very much control on the layout of the tracked file: small visual changes might lead to lots of changed lines. Moreover, unless you succeed in extracting each JSON part corresponding to a separate diagram in a separate file, the changes will be tracked at model level.
The tool seems to offer a fragment export/import function that allows to manually select model elements/diagrams to be individually saved in a separate file. However, it seems not appropriate for a systematic tracking of diagram changes, since it relies on an additional operation from a user, which can easily be forgotten. Unreliable versioning is in this regard worse than no versioning at all.
If you want to have things under tighter control, you could use the approach of "model as code", and use tools such as plantuml to write your diagrams as you'd do with code, grouping related items together and having separate (human readable) files for separate diagrams, and let the tool generate the diagrams based on text (you wouldn’t version the binary files corresponding to the rendering; only the text files).