-
Notifications
You must be signed in to change notification settings - Fork 143
Uid name #428
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
Uid name #428
Conversation
Reduce number of UID.check() calls. Update doorstop-dev#349.
Change the UID class to support UIDs formed by a prefix and an optional separator followed by a number or a name. The name must not contain separator characters or digits. Update doorstop-dev#349.
|
I think the code coverage threshold should be a bit tweaked. The change by -0.02% was probably a false positive code coverage degeneration. |
|
@sebhub Can you provide an example of how you intend to use this feature?
|
|
We would like to use Doorstop not only for requirements, but more general for all sorts of specifications. I started to work on a new build system for RTEMS which uses waf and Doorstop: https://git.rtems.org/sebh/rtems.git/tree/spec?h=build An example for an UID would be |
|
While I accept the view that the app should be flexible to users' preferred use cases, I still question that putting semantic meeting into a requirement's (or any item's) UID should be encouraged. UIDs are a permalink. What happens if the requirement's payload changes to no longer match the meaning in the UID? For example, suppose Doorstop had |
|
The names are optional. You have to use a command line option. By default, numbers are generated as usual. I don't think this encourages the use of names. Whenever you use something optional and walk away from the standard path, it is your responsibility to think twice what you do. With respect to your example. Is is a good idea to drastically change a requirement and keep the UID? In addtion, requirements should be independent of a particular solution (e.g. MD5 or SHA256). |
Yes, making it an optional for power users should hopefully mean they know what they're doing.
My idea is that all the places that link to Maybe we could have a command to rename an item's UID? This could be useful even if you don't use doorstop mv REQ-USE-MD5 REQ-HASH-FCN # renames item in REQ
doorstop mv REQ-HASH-FCN LLR # moves the item to document LLR
doorstop mv REQ-001 LLR --name OPT # moves item to LLR with a custom name. Result is LLR-OPT |
|
A command to move an item sounds useful. What should it do?
|
|
In case there are no general objections, it would be nice if someone can review this patch set if it is technically all right. I would like to start further work once it is integrated. |
|
I started to use this feature for my work on a build system specification. I think that UIDs with names are much more easy to use than UIDs with plain numbers. I will have to add about 1000 items for the build specification and another 1000 to 10000 items for the basic RTEMS specification. Here is an example document with names: https://git.rtems.org/sebh/rtems.git/tree/spec/build/testsuites/samples?h=build The items are used by a waf based build script: |
| '--name', | ||
| '--number', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add the new --separator, --name, and --number options as an examples in doorstop/docs/cli/creation.md?
|
The continuous-integration/travis-ci/pr failure seems to be unrelated to my recent commit. |
Make the item UID a bit more flexible so that it can contain a number or a name part. This enables user-specified names for items, e.g. REQ-ABC.yml. The new command line option can be also used to specify a user provided number, e.g.
doorstop add -n 99 REQcreates REQ-099.yml.