I realised this could be handy to more people developing mods, so here it goes.
If you used git log, git diff or just viewed some changes in github, you probably realised that it only displays text files and their differences (weidu code, documentation and similar). Any update of an IE format file is just considered done, misunderstood — you don't get to see the actual change.
This can be fixed though! Not on github, but for everyone developing or viewing through their own clones of the repositories, the process is relatively simple.
1. Get either iesh or ielister (and compile it).
2. Copy the files somewhere stable. For iesh this means everything, for ieparse the executable will do.
3. Tell git to use it when comparing IE formats.
3.1. Open .git/config of each mod repository you downloaded and add the following, replacing PARSERPATH with the path to either iesh's ieparse.py or ielister:
[diff "ie"] textconv = PARSERPATH cachetextconv = true
(if you use a global git config, you can do it there)
4. Tell git how to reckognise files in IE formats.
4.1. Again for each repo, add or edit .gitattributes with:
*.bcs diff=ie *.chu diff=ie *.pro diff=ie *.spl diff=ie *.vvc diff=ie *.cre diff=ie *.wmp diff=ie *.gam diff=ie *.sav diff=ie
You can add other formats as needed.
5. That's it, now viewing git log -p, git diff and similar will first convert the files to plaintext and then diff them normall. Example:
You can test it by deleting a file and seeing how it is displayed in git diff.
Note: both parsers are mostly complete, but neither has been updated with any of the EE structural changes yet.
Edited by lynx, 09 July 2016 - 07:22 AM.