Score workflow: versioning, Publishing and history

• May 26, 2020 - 19:11


Is there any advice for how I can integrate an SCM with Musescore so I can keep track of all the different versions of a score? Ideally I'd also like a visual 'diff' of two scores to see what has changed, but I'd be happy with seeing history and perhaps tagging different versions.

I know how to use git and other SCM systems, but I'd like to use that capability with Musescore. Has anyone done this?



I don't know if anyone tried this, or if it is supported by MuseScore currently, but it seems to me it would be possible to use MuseScore to display the diff using the 'git difftool' command by setting 'difftool..cmd' to MuseScore with some "diff flags".


I guess MuseScore would need to be invoked in "diff-mode" where the varieables $LOCAL, $REMOTE and $MERGED are used. I guess this does not work currently, but I might be wrong.

In reply to by Jojo-Schmitz

Now I have tried this, and the --diff and --raw-diff flags only print info in the terminal. It does not open the gui and show the difference in the Score Compare tool.

This would be an obvious feature request, I guess.

If musescore --diff file1.mscz file2.mscz would open the GUI with the score comparison tool, it would be possible to integrate with git. You could define the difftool command to be "musescore --diff $LOCAL $REMOTE" if I understand the man page for 'git difftool' correctly.

And then you can do things like

git difftool too compare the working tree with the current commit. this would open the musescore file compare view.

git difftool master to compare with the latest commit on the master branch

git difftool master...HEAD to see the differences introduced on my branch since I branched out from master

Thereh are possibly problems with this. Should be investigated. I don't fully understand how to handle when there are different types of files in the repo. Probably you would have to write a script that calls different diff tools for different file extensions. Should be possible.

Do you still have an unanswered question? Please log in first to post your question.