why shouldn’t i save metadata when its a revision

You omitted how is this function called. I assume it is added to save_post action.

This action passes current post id as argument. In case of revision that would be revision id and not parent post id. So, as I see it, there is no reason to save additional data for revision (creating duplicate set of it).

Update.

Scratch that.

I looked through source code. Apparently *_post_meta functions will automatically change to parent post id if passed revision post id. So you might modify original post, thinking you are modifying revision.