Skip to content

Pre-commit, pre-merge and post merge python3 scripts to support versioning in Excel

Notifications You must be signed in to change notification settings

richardbrockie/XLSX-pre-commit-and-post-merge

 
 

Repository files navigation

Excel versioning using Git

Those script act for commit and merge, the data stored on git hub are the unzipped files, the scpits can be used in stand alone mode and parameters:

-d, --directory to specify where to look for the xlsx

-e, --extension to specify the extension to zip/unzip

-p, --prefix to specify the prefix of the folder containing the zip file content

Git clone

After a doing the git-clone

git clone <your repository using those script>

Copy the files "pre-commit", "pre-merge", "post-merge", "pre-commit-zipped-xml.py" and "post-merge-zipped-xml.py" in the .git/hooks/ folder

Then the "post-merge-zipped-xml.py" must be called fron the rool to create the xlsx file

pynthon ./.git/hooks/post-merge-zipped-xml.py

git commit

Before the actual git commit, it will unzip the xlsx (should work with other format like docx) and will turn all the xml in pretty print so the diff can show the lines (Excel XML are on 2 lines)

This is perfomed by the files "pre-commit" and "pre-commit-zipped-xml.py"

git pull/merge

Before the actual git pull/merge, it will unzip the xlsx (should work with other format like docx) and will turn all the xml in pretty print so the diff can show the lines (Excel XML are on 2 lines)

After the actual git pull/merge, it will zip the xlsx (should work with other format like docx) after putting bremoving the pretty print so Excel can recognize the file

This is perfomed by the files "pre-merge", "pre-commit-zipped-xml.py", "post-merge" and "post-merge-zipped-xml.py"

Credits

Those Scripts were created in the context of the Sysref project funded by the Stanley Thomas Johnson Fundation https://www.johnsonstiftung.ch/ to keep a version control on XLSForms used to make CDSS (Computerized decision support systems)

Those script require Python3, they were inspired by

About

Pre-commit, pre-merge and post merge python3 scripts to support versioning in Excel

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.0%
  • Shell 26.0%