-
Notifications
You must be signed in to change notification settings - Fork 56
Advice on joint FRET development #122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi @kquick, As you may know, FRET does not currently support version control. When you export requirements (e.g., as a JSON file), modify them, and re-import them into FRET, the tool does not merge or overwrite conflicts. Instead, each imported requirement is treated as a new entry, and FRET assigns a new unique FRET uses PouchDB as its database, and we had two implementation choices:
We opted for the second, less intrusive, approach to avoid overwriting local changes. In the SpaceROS project, where multiple people collaborated on requirements across different tools, we addressed this by:
Would this approach work for you? In SpaceROS, we also found that Markdown (MD) format was more readable for tracking changes with Git than our JSON export. Notice that the MD export only contains the following: While the public version of FRET currently includes MD export, it does not have the MD import. If MD import would be useful to you, we could add it in the public version for the next release. Thanks, |
Hi Anastasia, Thanks for the info, that's very helpful. I am not sure if the Markdown would be more helpful or not. I have the following observations/concerns:
In the unreleased Markdown import, is it possible to also provide variable definitions, and does that version support variable definitions in Markdown export as well? If that were the case, I think we might prefer Markdown format, otherwise I think we are restricted to the JSON format (although I have concerns about internal consistency in that case should the JSON ever be changed outside of FRET). -Kevin |
Hi Kevin, That's a great point. When we worked on the SpaceROS project, our initial focus was solely on exporting requirements, not variable information. In fact, we introduced the option to export variables at a later point. Currently, we only support variable import/export in JSON format. Right now, our main focus is on releasing FRET v3, but we can explore adding support for variable import/export in MD format in a future release. Thanks, |
I'm working on developing FRET models in conjunction with other developers. FRET seems to save things in various places in my home directory (~/Documents/fret*, ~/.config/FRET), but I'm wanting to use a proper workflow, involving git version control.
I can manually export Requirements and Variables to JSON and use git to maintain those, but it does require manual steps on both ends, and I'm wondering if a JSON import will completely overwrite any changes to a project I've made locally or if it will merge them? What about conflicting changes?
Please let me know the best recommended practice for multi-developer, version-control-backed development with FRET.
The text was updated successfully, but these errors were encountered: