5 ms·
Hi, thanks for the feedback, it would be great to be used by a project like Foreman! Currently the string for the format only allows the 3 defined variables, t
by Gazler 12y ago
Hi, thanks for the feedback, it would be great to be used by a project like Foreman!
Currently the string for the format only allows the 3 defined variables, type, scope and description. I have been using this style at https://github.com/Gazler/changex/commits/master https://github.com/Gazler/changex/commits/master to give you an idea of how it works.
I was concerned that the format string might be a little weird to get from the help. I will try and clear this up a bit.
I have attempted to build the string that you requested, currently an or separator is not supported, but I can take a look at adding it in.
Here are the format strings that I think match your use case. Using a colon as a separator:
test string: "Fixes #1234: foo"
format: "%{type} #%{scope}: %{description}"
[type: "Fixes", scope: "1234", description: "foo"]
Using a hyphen as a separator:
test string: "Fixes #1234 - foo"
format: "%{type} #%{scope} - %{description}"
[type: "Fixes", scope: "1234", description: "foo"]
I hope this makes sense, let me know if you get it working!
- eLobato 12y agoInteresting, that makes sense. I'll check if the rest of the team would be ok with forcing commits to use colon as a separator until that feature is added. :) Still, what does %{scope} actually catch? Anything that's not %{type}, %{description} or an explicit character?
- Gazler 12y agoGlad it made sense! So the match is exact between the non %{..} characters. The idea for scope is the context of the commit, in my libraries I use the name of the class as the scope. For example with the default format string: test string: "fix(User): ensure email address is required" format: "%{type}(%{scope}): %{description}" [type: "fix", scope: "User", description: "ensure email address is required"] So any literal characters are matched exactly and anything inside the capturing %{...} is assigned to that variable. This does fall over in the following case: "fix():(User): ensure email address is required" "%{type}(%{scope}): %{description}" [type: "fix", scope: "):(User", description: "ensure email address is required"] It is certainly a candidate for improvement in the future.