-
Notifications
You must be signed in to change notification settings - Fork 208
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
[feature request] choose a config file format and use the file extension #1042
Comments
I don't see how a single file format makes #426 worse.
For context, the toml configuration format has not yet been released. I would like at least one release to support both configurations for a couple reasons:
I would also note that part of the motivation for adding the toml support was to ensure that the configuration language was sufficiently abstracted from the configuration schema. This is part of the larger architectural improvements proceeding towards #775. Keeping multiple configuration formats ensures this property remains but is probably not a good enough reason on its own. All that said, I'd be open to potentially dropping the ini support some day. Unless there's a pressing need to remove it though, I'd see an incremental step to be to remove it from the documentation and print a deprecation warning when it is used.
I have a feeling this is another case of #1007 and perhaps #1001.
I don't see how a single format would improve syntax highlighting.
The |
Let me give an overview of my opinion first:
So in my opinion this adds unnecessary complexity, duplicities, makes it harder to maintain, document and troubleshoot, for no gain whatsoever.
I'd say then it's the perfect moment to do all big changes at once. If there's going to be breaking changes I rather do it all and forget, rather than every so often having to adopt minor breaking changes.
Which is why avoiding duplicities and sticking to one thing is best.
Reasonable, but I rather do it all at once, a project like this, the simpler the better, to maintain and to use. I guess if you are not ready to upgrade to a version introducing breaking changes, you can just hold on on the previous one.
Yeah, this sounds like the perfect middle ground.
I meant having a file extension, but now I see this is going to happen once toml get's adopted as it will have .toml extension.
Just to clarify my stance on this after reading and understanding the situation a bit more, yes, it's totally fine to have config without extension, but, having 2 different config languages without extension, makes it complex for people sharing their config with other people and so on. I must say that after reading you I understand the thought process and decisions better, to a degree is a matter of taste and I respect your decisions, I don't intend to impose my thoughts just share them. |
I do appreciate you weighing in. I've been uncomfortable making these decisions for users with only my own perspective.
This is a sound argument in general and one I would make for taskwarrior-3. But bugwarrior is a bit different since it interacts with third-party API's which are subject to change. They do seem to be becoming more stable but old bugwarrior releases are typically pretty broken by API incompatibility. To me this factor makes a forced migration more aggravating.
To be clear, there isn't really such flexibility about this. It's not documented yet (#1001) but, unless you use the bugwarrior/bugwarrior/config/load.py Lines 33 to 64 in 20972fb
|
I will consider making the incremental step before the next release and will probably solicit more opinions. |
Makes a lot of sense, my point is simply that if I'm going to face breaking changes I prefer to do it in one sitting and learn what taskwarrior v3 + bugwarrior v2 implies, set it and forget it. But your decisions are more sound than initially thought since I was confused by the dev documentation and a bit lost.
This settles it for me on the extensions, I thought there were 2 possible schemas, ini/toml, with the same exact file Bottom line for me is that while the intention of aiding the upgrading experience of the user is great, in a project where man-hours are scarce, time should be focused on other things rather than retro-compatibility, it's a slippery slope and it grows bigger than you expect it to, it's great if it's a commercial product and you can support it, but I think since people are having issues finding the right docs and there's some communication issues, perhaps it's best to simplify in areas like this, and I think, the time spent creating duplicate documentation and explaining doubts of unclear documentation is a bigger cost than what it would be by just making a breaking change that's very well written and communicated. I think we can safely close this, thank you. |
Instead of
That I think increases the chances of issues like these:
#426
It's be probably better to have a single file extension.
Also, as of now if I define my bugwarriorrc with a file extension I get the following
This seems like a trivial feature request but, if you have a single format with extension you get:
Alternatively you could continue mantaining both, I don't see the point, but it'd be good to at least have file extensions regardless.
The text was updated successfully, but these errors were encountered: