I agree with @brecht.
To illustrate: there is no way that you can save all the changes to vertex positions of a one hour long sculpting session in the form of Python code that moves all those vertices around. Converting all data modification to text is not a guarantee that it will produce an efficient diff.
As another illustration, give 32-bit floating point numbers, a new 4x4 transformation matrix can be written as 4×16 = 64
bytes. However, this Python code would be around 1 kilobyte, roughly 16 times as much:
bpy.ops.transform.translate(value=(-0, -0, -0.306203), orient_axis_ortho='X', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
bpy.ops.transform.rotate(value=-0.135777, orient_axis='X', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(True, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
bpy.ops.transform.resize(value=(1.15803, 1, 1), orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(True, False, False), mirror=False, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
And, this would be written for each translation, rotation, or scale. Personally I wouldn’t want to store my entire edit history in a versioning system, but just the results of those edits. The same was as I don’t want others to be bothered by all my typos and failed coding attempts, but just see the final shiny success
I think it’s a great idea to critically look at how blend files can be written more compression-friendly. I’m 100% certain the people at the Blender Studio will thank you when you help them making both commits & updates faster. Also I recently had to upgrade the studio SVN server storage from 2TB to 4TB because it was getting full, so smaller commits definitely would help there too.