-
Notifications
You must be signed in to change notification settings - Fork 18
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
libgitdit is too hard to use #172
Comments
I thought I had already introduced some functionality for handling accumulation in a more dev-friendly way. The passage where you collect trailers ended up being something like a simple fold in the binary IIRC. |
One thing which quickly comes to mind is |
In general: Some high-level functionality (as you described) would be awesome. What I can think about right now:
What's missing, afaict:
|
Not possible because (a) the accumulation rule is not provided and (b) the choice of HEAD to use is outside the scope of the library (e.g. you generally need to specify a search order).
Still no accumulation rule
In fact, I had considered those. However, we have to check whether it would violate our self-imposed dependency constraints.
I fear those are also not possible: we need a ref to a repo for one thing, and most of the parameters are not optional, either. |
What do you mean? You want the "latest" or "newest" value of the trailer at
We could pass them:
In the case of Of course, these are just convenience functions, for the "trivial case". I'm not trying to replace |
Nope, sometimes we want a list of values. Consider, for example,
|
I am currently in the process of writing an app with
libgitdit
and I found that it is way to hard to use.For example, for checking whether an issue is "open", this code has to be written:
(The actual check for "open", "OPEN" and "Open" is trivial, but the aggregating of trailers is way too complex).
Of course, this functionality should be part of
libgitdit
as inIssue.get_latest_trailer("Dit-status")? == "Open"
for example, but that's another problem.The boilerplate for writing this code is way to much. This is only one example, there are other places where this library is too complex to use.
The text was updated successfully, but these errors were encountered: