You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Some tags which are acceptable in CVS, are unacceptable in git. See this StackOverflow answer for a list of disallowed character sequences in tag names.
crap doesn't check tag names against these restrictions, and just goes ahead and accepts them into the tag database in read_file_versions(). Now, when it later encounters such a tag in going over the commit / tagging history, something fails/crashes (perhaps cvs-fast-export? git-fast-import?) and the process is terminated.
I'm not exactly sure what the solution should be, since I'm having trouble following to code to realize exactly where the tag name is used later on.
A (poor) workaround which I've somehow managed to hack together is simply not inserting problematic tag into the tag DB within read_file_versions(); but it's not the right thing to do. What is the right thing to do?
Option 1:
Keep the tag in the tag DB, but mark it as git-unacceptable
Whenever we see the tag used/applied, emit a warning message, and skip its use.
Option 2:
Keep the tag in the tag DB, but "escape" it somehow, e.g. badtag/ becomes crap_escaped_badtag_slash. (Perhaps it's a good idea to ensure that no such tag already exists in the repository)
Whenever we see the tag used/applied, apply instead the escaped tag.
Option 3:
Support both options 1 and 2, and let a command-line switch choose between them. Default to escaping rather than deleting, I would say.
The text was updated successfully, but these errors were encountered:
Some tags which are acceptable in CVS, are unacceptable in git. See this StackOverflow answer for a list of disallowed character sequences in tag names.
crap doesn't check tag names against these restrictions, and just goes ahead and accepts them into the tag database in
read_file_versions()
. Now, when it later encounters such a tag in going over the commit / tagging history, something fails/crashes (perhaps cvs-fast-export? git-fast-import?) and the process is terminated.I'm not exactly sure what the solution should be, since I'm having trouble following to code to realize exactly where the tag name is used later on.
A (poor) workaround which I've somehow managed to hack together is simply not inserting problematic tag into the tag DB within
read_file_versions()
; but it's not the right thing to do. What is the right thing to do?Option 1:
Option 2:
badtag/
becomescrap_escaped_badtag_slash
. (Perhaps it's a good idea to ensure that no such tag already exists in the repository)Option 3:
Support both options 1 and 2, and let a command-line switch choose between them. Default to escaping rather than deleting, I would say.
The text was updated successfully, but these errors were encountered: