{"id":5494,"date":"2019-04-09T15:53:45","date_gmt":"2019-04-09T13:53:45","guid":{"rendered":"https:\/\/opengis.ch\/?p=5494"},"modified":"2020-04-29T18:57:33","modified_gmt":"2020-04-29T16:57:33","slug":"plugin-for-tracking-qgis-project-files-in-git","status":"publish","type":"post","link":"https:\/\/www.opengis.ch\/de\/2019\/04\/09\/plugin-for-tracking-qgis-project-files-in-git\/","title":{"rendered":"Plugin for tracking QGIS project files in git"},"content":{"rendered":"\n<p>We often have QGIS project files that are part of a customer project. To be able to manage versions of these project files or have multiple people working on it, they are managed inside a git repository.<\/p>\n\n\n\n<p>This is however not easy, because with every save of a project file, thousands of lines change, even if the real change is minimal. Like a change of a layer name.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"750\" height=\"254\" src=\"https:\/\/i0.wp.com\/opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?resize=750%2C254&#038;ssl=1\" alt=\"\" class=\"wp-image-5498\" srcset=\"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?w=819&amp;ssl=1 819w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?resize=300%2C101&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?resize=768%2C260&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?resize=720%2C244&amp;ssl=1 720w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?resize=560%2C189&amp;ssl=1 560w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image.png?resize=532%2C180&amp;ssl=1 532w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Current situation <\/figcaption><\/figure>\n\n\n\n<p>This blows up the git repository for no reason. And worse: it makes it impossible to review changes, because the signal to noise ratio is horrible.<\/p>\n\n\n\n<p>OPENGIS.ch has just released a shiny jewel to make your life easier. The <a href=\"https:\/\/github.com\/opengisch\/qgis_trackable_project_files\">Trackable QGIS Projects plugin<\/a> will automatically rewrite the saved project into a much more stable format.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1241\" height=\"786\" src=\"https:\/\/i2.wp.com\/new.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?fit=664%2C421&amp;ssl=1\" alt=\"\" class=\"wp-image-5501\" srcset=\"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?w=1241&amp;ssl=1 1241w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?resize=300%2C190&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?resize=768%2C486&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?resize=1024%2C649&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?resize=720%2C456&amp;ssl=1 720w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?resize=560%2C355&amp;ssl=1 560w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?resize=284%2C180&amp;ssl=1 284w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><figcaption>Understandable changes thanks to the trackable QGIS plugin<\/figcaption><\/figure>\n\n\n\n<p>Just download the plugin, install it and you are done. No user interface available, no configuration needed.<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We often have QGIS project files that are part of a customer project. To be able to manage versions of these project files or have multiple people working on it, they are managed inside a git repository. This is however not easy, because with every save of a project file, [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":5501,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[15,161],"tags":[125],"class_list":["post-5494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qgis","category-uncategorised","tag-qgis-org"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2019\/04\/image-1.png?fit=1241%2C786&ssl=1","jetpack-related-posts":[{"id":147,"url":"https:\/\/www.opengis.ch\/de\/2010\/12\/01\/qgis-globe-plugin-installer-script\/","url_meta":{"origin":5494,"position":0},"title":"QGis Globe Plugin installer script","author":"Marco Bernasocchi","date":"1. Dezember 2010","format":false,"excerpt":"Lately, thanks to ma Master Thesis, I've been co-working on the Globe Plugin for QGis here my install script for a threaded version of QGis with the Globe Plugin. By now the Globe has stereo 3D support, keyboard navigation (try all the num key), mouse navigation, a gui to control\u2026","rel":"","context":"In &quot;C++&quot;","block_context":{"text":"C++","link":"https:\/\/www.opengis.ch\/de\/category\/programming\/cpp\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":336,"url":"https:\/\/www.opengis.ch\/de\/2011\/11\/23\/creating-non-versioned-shared-libraries-for-android\/","url_meta":{"origin":5494,"position":1},"title":"Creating non-versioned shared libraries for android","author":"Marco Bernasocchi","date":"23. November 2011","format":false,"excerpt":"While porting QGIS to android using necessitas I encountered the problem of versioned libs. Android does not support versioned libs and it is not going to. In the first vesions I used rpl -R -e libqgis_core.so.1.9.90 \"libqgis_core.sox00x00x00x00x00x00x00\" $APK_LIBS_DIR\u00a0and similar hacks to remove the version from the libs. But it was\u2026","rel":"","context":"In &quot;C++&quot;","block_context":{"text":"C++","link":"https:\/\/www.opengis.ch\/de\/category\/programming\/cpp\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1985,"url":"https:\/\/www.opengis.ch\/de\/2015\/12\/10\/geometry-generator-symbology\/","url_meta":{"origin":5494,"position":2},"title":"Geometry generator symbology","author":"Matthias Kuhn","date":"10. Dezember 2015","format":false,"excerpt":"Say hello to geometry generators, a new way to use expression syntax to generate a geometry on the fly during the rendering process.","rel":"","context":"In &quot;Featured&quot;","block_context":{"text":"Featured","link":"https:\/\/www.opengis.ch\/de\/category\/featured\/"},"img":{"alt_text":"Configuration Dialog","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2015\/12\/Screenshot-from-2015-12-10-16-06-12-300x203.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2021,"url":"https:\/\/www.opengis.ch\/de\/2016\/02\/04\/increasing-the-stability-of-processing-algorithms\/","url_meta":{"origin":5494,"position":3},"title":"Increasing the stability of processing algorithms","author":"Matthias Kuhn","date":"4. Februar 2016","format":false,"excerpt":"Processing just got a new testing framework to improve\u00a0the long-term stability of this important plugin. And you can help to improve it, even if you are not a software developer! This is yet another piece in our never-stopping crusade to improve the stability and quality of the best\u00a0desktop GIS on\u2026","rel":"","context":"In &quot;C++&quot;","block_context":{"text":"C++","link":"https:\/\/www.opengis.ch\/de\/category\/programming\/cpp\/"},"img":{"alt_text":"pr","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2016\/02\/pr.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2016\/02\/pr.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2016\/02\/pr.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2016\/02\/pr.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":10660,"url":"https:\/\/www.opengis.ch\/2020\/04\/16\/plugin-manager-improvement\/","url_meta":{"origin":5494,"position":4},"title":"Plugin Manager improvement","author":"Olivier","date":"16. April 2020","format":false,"excerpt":"During the 2020 Swiss QGIS Users Group annual meeting, a proposal to improve the plugin manager was accepted to improve QGIS' plugin manager. Starting with version 3.14, it will be possible to choose whether to install the stable or the experimental version of individual plugins. This feature will greatly improve\u2026","rel":"","context":"In &quot;QGIS&quot;","block_context":{"text":"QGIS","link":"https:\/\/www.opengis.ch\/de\/category\/gis\/qgis\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2020\/04\/qgis-plugin-manager-1.png?fit=952%2C519&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2020\/04\/qgis-plugin-manager-1.png?fit=952%2C519&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2020\/04\/qgis-plugin-manager-1.png?fit=952%2C519&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2020\/04\/qgis-plugin-manager-1.png?fit=952%2C519&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":12165,"url":"https:\/\/www.opengis.ch\/de\/2021\/06\/08\/qfieldcloud-now-opensource-happy-10-years-of-field-mapping-with-qgis\/","url_meta":{"origin":5494,"position":5},"title":"QFieldCloud now opensource &#8211; Happy 10 Years of field mapping with QGIS","author":"Marco Bernasocchi","date":"8. Juni 2021","format":false,"excerpt":"Today, on QField's 10th anniversary, we're extremely proud to publish the results of over 18 months of development and give you the source code of QFieldCloud to go and make your awesome adaptations, solutions, and hopefully contributions :) If you want to quickly try it out, head to\u00a0https:\/\/qfield.cloud where our\u2026","rel":"","context":"In &quot;QField&quot;","block_context":{"text":"QField","link":"https:\/\/www.opengis.ch\/de\/category\/gis\/qfield\/"},"img":{"alt_text":"QField git history","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2021\/06\/qfield-git-history.png?fit=660%2C280&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2021\/06\/qfield-git-history.png?fit=660%2C280&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2021\/06\/qfield-git-history.png?fit=660%2C280&ssl=1&resize=525%2C300 1.5x"},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/pbdBtI-1qC","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/posts\/5494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/comments?post=5494"}],"version-history":[{"count":3,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/posts\/5494\/revisions"}],"predecessor-version":[{"id":5505,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/posts\/5494\/revisions\/5505"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/media\/5501"}],"wp:attachment":[{"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/media?parent=5494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/categories?post=5494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.opengis.ch\/de\/wp-json\/wp\/v2\/tags?post=5494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}