Hi, SASAKI Suguru <sss.sonik <at> gmail.com> writes: > > Hi, > > I'm working with data from `bzr fast-export` and `git fast-import`. > (bzr is 2.4b5, git is 1.7.5.4, on Debian GNU/Linux (sid)) > > Export and import themselves are OK, > but `git fsck --strict` exits with error, saying: > > error in commit 2e7a16fbe57b555c1c5954470ef66f3a2a089288: invalid > author/committer line - missing space before email > > and pushing to remote like GitHub fails. > > I found minimal OK-data unlike `bzr fast-export` outputs and NG-data > like `bzr fast-export`. > (Attached: test_NG.data.txt and test_OK.data.txt) > > Only one difference between these is a space in committer line. > * OK: 'committer' SP SP LT GT ... > * NG: 'committer' SP LT GT ... > > `man git-fast-import` says: > > commit > Create or update a branch with a new commit, recording one logical > change to the project. > > 'commit' SP <ref> LF > mark? > ('author' (SP <name>)? SP LT <email> GT SP <when> LF)? > 'committer' (SP <name>)? SP LT <email> GT SP <when> LF > data > ('from' SP <committish> LF)? > ('merge' SP <committish> LF)? > (filemodify | filedelete | filecopy | filerename | filedeleteall > | notemodify)* > LF? > > I think, from this notations, both data is OK. > What's the problem? The problem is with git-fast-import that it doesn't verify the format strictly here. For example following (no LT) will pass: <name> SP <email> GT The second problem is that it generates "bad" committer, in fact name-email is used as-is, so at least it should convert absent name to a empty name. Or maybe just fix the format to make string obligatory. There even is a third minor problem, fsck will report confusing "missing space" for the no-LT example. Third one is a clear. Your one is the second one, while internally it pulls the first one too. The shortest fix is to read documentation as 'committer' SP <name> SP LT <email> GT SP <when> LF > > Regards, > -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html