Bug 268158

Summary: Don't update .kde4/share/apps/akregator/data/feeds.opml if not change to prevent disk writing
Product: [Applications] akregator Reporter: BRULE Herman <alpha_one_x86>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: REPORTED ---    
Severity: wishlist CC: aleksey.kladov
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description BRULE Herman 2011-03-10 21:18:16 UTC
Version:           unspecified (using KDE 4.6.1) 
OS:                Linux

Hello, can you don't update .kde4/share/apps/akregator/data/feeds.opml if not change to prevent disk writing. It's the alone application which wakeup my hdd.

Reproducible: Didn't try
Comment 1 Aleksey Kladov 2020-06-26 09:16:45 UTC
+1, but for a different reason. I store my .opml file in the git repo (to sync it between machines):

https://github.com/matklad/config/blob/c97dcf8fc96ac837ad1dfe7cec67eeaae1e5d494/home/.local/share/akregator/data/feeds.opml

It looks like akregator always makes non-semantic changes to opml on startup (changing the order of attributes), so I have to exclude opml from commit manually. Looks like hashmap is used to represent XML and the iteration order is leaked? 

I see two fixes:

* canonicalize the order of attributes (by using an ordered container instead of a hash-based one)
* avoid writing the file unless there are semantically-meaningful changes

Probably makes sense to do both of these :-)