-
Notifications
You must be signed in to change notification settings - Fork 35
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
Switch to YAML & move appindicator to shared-modules #300
base: master
Are you sure you want to change the base?
Conversation
@TingPing i bring more changes |
Blocked on flathub/shared-modules#319 |
Started test build 150852 |
Build 150852 failed |
moving to yaml would break git blame in case someone wants to see historical context of some part of manifest. it also makes reviewing other changes harder |
What I typically do here is just git follow -- file.json and checkout to the file before it was modified, then you can blame it. Small price to pay for YAML, JSON really really sucks. Kept forgetting commas, though you could say skill issue. |
but 99% people looking at it will do it in github, not cli. yaml is so friendly that it doesn't warn when you break indentation and introduce subtle bugs |
In that case, you can go to the .yaml file in your browser, find the first commit in it's history, browse files, view history again, and browse files before that commit and then you can blame the JSON Scales with number of commits obviously though |
I know but then something taking 1 minute takes 10 min and you may give up. |
at least you may split converting to separate PR |
Sure, I'll split this up into separate PRs |
7fcf337
to
756923f
Compare
I was thinking about splitting 6cd1d1a and leave the rest combined. every update results in all users re-downloading whole snap from canonical servers so tiny cosmetic issues aren't worth separate PR. |
Started test build 150872 |
Build 150872 failed |
The idea was to have the YAML commit be dependent on the appindicator inclusion in shared-modules.
Eh, as long as they're merged relatively close together it should still make it all in the same update for the end user, Flatpaks don't get updated on a machine the moment one is available. Also the snap is only 180MB, it really doesn't matter. |
Started test build 151004 |
Build 151004 successful
|
I agree that this change would break continuity when viewing changes over the years of history that's been established. JSON is also still much better supported in older flatpak-builder installs and is still the default format for new projects created in Gnome Builder. Those points alone make JSON still compelling. That being said, I will say that in general, I find YAML is simply an easier format for day-to-day maintenance: A) YAML is much more concise, even when a lots of line breaks are used. For large files, you're looking at easily saving 25%-30% in lines:
These line savings also translate to more content fitting on the screen. B) YAML has built-in comment support, which is important for documenting in place how and why certain changes were made without having to backtrack to a separate document. C) Git diffs with YAML are more precise since it's not using commas for separation. For example, this commit shows one extra line being modified even though functionally only one line is being changed: Languages like Python will usually recommend treating commas as line terminators instead of as separators for this reason alone. You can't even use this formatting style in JSON:
D) YAML in general is flexible with string formatting. You can more easily work with strings since you don't have to use escape characters as much. This can help with readability and also avoid bugs with quoted variables in I would say switching the build manifest to YAML would be a good clean break, however the point about maintaining continuity is still a great point. Perhaps we can go half-way by keeping the JSON build manifest via |
No description provided.