tagging the known working cases and leaving the rest of them as branches would work, but would leave you with a slightly inconsistant result (i.e. you'd also probably want to warn the user that they're missing some tags).
here's a few more alternatives for consideration: option 1: do the same as the previous suggestion, but instead of "leave as branch", tag the head (instead of the parent), and leave it as a headless commit. pros: everything is consistantly a tag cons: you end up with some headless commits for the corner cases option 2: rename the tags branches as "svn-tags" and tag the heads of the branches as tags pros: truer to the actual history, very simple, possibly idempotent cons: extra and arguably ugly branch history option 3: in the non-trivial case, tag the head of the branch, and rewrite the history so that it appears to directly branch from the common ancestor (i.e. graft) and rebasing (i.e. filter-branch) it to make the graft integrated into the repo history. this is basically option 1 plus some git vodoo to prevent the ancestry history of the otherwise headless commit from being lost. pros: should cover corner cases more gracefully cons: more complicated, changes history. --
signature.asc
Description: Digital signature

