{"thread":{"id":"16378","subject":"git svn rebase creates some commits with empty author, commiter and date fields","startedAt":"2008-11-18T10:21:14Z","lastAt":"2008-11-26T07:36:41Z","messageCount":3,"participants":["Peter Kirk","Eric Wong"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"96080","messageId":"200811181121.18264.peter.kirk@gmx.de","threadId":"16378","inReplyTo":null,"subject":"git svn rebase creates some commits with empty author, commiter and date fields","fromName":"Peter Kirk","fromEmail":"peter.kirk@gmx.de","sentAt":"2008-11-18T10:21:14Z","receivedAt":"2008-11-18T10:21:14Z","isPatch":false,"sender":{"key":"peter.kirk@gmx.de","avatar":null},"body":"Hi there,\n\nI am using git version 1.6.0.3, which I compiled myself from sources on my \nlinux/amd64 box which runns kubuntu 8.10.\n\nNow, when I do \"git svn clone\" to retrieve the entire history from the svn \nserver then everything works fine. Then I start working with this, commit some \nmyself, and run \"git svn rebase\" frequently. What happens (and I don't see the \npattern) is that *some* commits that are retrieved via \"git svn rebase\" are \nbroken...they don't contain a valid author field, the date is at 1970 and, most \nimportantly (for me) the commit message is empty except for the \"git-svn-id:\" \nline that \"git svn\" adds automatically. The diff is fine, and I can still use \nthe checkout fine...but I cannot view the log-message/author/date of some \ncommits, which becomes tiresome quickly.\nThe only way to \"fix\" these broken commits is to do a clean \"git svn clone\", \nbut as new commits are pulled via \"git svn rebase\", my repository will again \nbecome polluted with broken commits.\n\nWhen I run \"git fsck\" I get a line like this for every broken commit:\n\nerror in commit 94a0eb26b0843f6b4db28d24b41301bd295d0794: invalid \nauthor/committer line\n\nWhen I run git show on one of the broken commits the output looks like so:\n########### snip ###########\ncommit 420be3a37353e3f2a968a2a8686a7169b31b9c3e\nAuthor: (no author) <(no author)@596c1c1d-4ad6-0310-94f8-b98c4e649a3b>\nDate:   Thu Jan 1 00:00:00 1970 +0000\n \n    git-svn-id: svn+ssh://hiddenhost@5681 596c1c1d-4ad6-0310-94f8-b98c4e649a3b\n \n \ndiff --git a/bla/foo.cpp b/bla/foo.cpp\n...the correct diff output follows...\n############# snap ##########\n\nWhile trying to find a solution to my problem with google I stumbled accross an \nold thread from 2007, but it sounds similar to my problem so I will link it \nfor reference: https://kerneltrap.org/mailarchive/git/2007/10/30/368150\nNote that in that case the changesets themselves seemed to be empty though \nthough, for me it is only \"author+date+commit message\". Also I don't \n(knowingly) have any \"authors file\" provided.\n\nThanks in advance for any help, and please ask if any info is missing,\nPeter\n"},{"id":"96500","messageId":"20081125220617.GA21644@mayonaise","threadId":"16378","inReplyTo":"200811181121.18264.peter.kirk@gmx.de","subject":"Re: git svn rebase creates some commits with empty author, commiter and date fields","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2008-11-25T22:06:17Z","receivedAt":"2008-11-25T22:06:17Z","isPatch":false,"sender":{"key":"e@80x24.org","avatar":null},"body":"Peter Kirk <peter.kirk@gmx.de> wrote:\n> Hi there,\n> \n> I am using git version 1.6.0.3, which I compiled myself from sources on my \n> linux/amd64 box which runns kubuntu 8.10.\n> \n> Now, when I do \"git svn clone\" to retrieve the entire history from the svn \n> server then everything works fine. Then I start working with this, commit some \n> myself, and run \"git svn rebase\" frequently. What happens (and I don't see the \n> pattern) is that *some* commits that are retrieved via \"git svn rebase\" are \n> broken...they don't contain a valid author field, the date is at 1970 and, most \n> importantly (for me) the commit message is empty except for the \"git-svn-id:\" \n> line that \"git svn\" adds automatically. The diff is fine, and I can still use \n> the checkout fine...but I cannot view the log-message/author/date of some \n> commits, which becomes tiresome quickly.\n> The only way to \"fix\" these broken commits is to do a clean \"git svn clone\", \n> but as new commits are pulled via \"git svn rebase\", my repository will again \n> become polluted with broken commits.\n\nWeird.\n\nDoes this happen on other repositories you may use as well?  Do you know\nof any strange hooks or otherwise non-standard setup with the SVN\nserver?\n\nWhich version of the SVN perl bindings are you using?\n\n-- \nEric Wong\n"},{"id":"96518","messageId":"200811260836.48808.peter.kirk@gmx.de","threadId":"16378","inReplyTo":"20081125220617.GA21644@mayonaise","subject":"Re: git svn rebase creates some commits with empty author, commiter and date fields","fromName":"Peter Kirk","fromEmail":"peter.kirk@gmx.de","sentAt":"2008-11-26T07:36:41Z","receivedAt":"2008-11-26T07:36:41Z","isPatch":false,"sender":{"key":"peter.kirk@gmx.de","avatar":null},"body":"On Tuesday 25 November 2008 23:06:17 Eric Wong wrote:\n> Weird.\n>\n> Does this happen on other repositories you may use as well?  Do you know\n> of any strange hooks or otherwise non-standard setup with the SVN\n> server?\nThis is the only svn server I use with git-svn with, so I don't know if this \nwould happen on other servers.\nAbout \"strange hooks\"...there is a pre-commit hook verifying that the \nsvn:eolstyle is set properly on text files, but since git > 1.6.0 can do \n\"autoproperties\" like svn that has never failed for me. Then there is a post-\ncommit hook which sends out a commit mail and scans the commit message for \ncertain commands which trigger the software to be built.\n\nSince that other post I linked was related to the \"authors\" file, I added a \ntext file which maps all the svn users to git users, and that works (I can see \nthe assigned names instead of the svn names for commits that aren't broken), \nbut it hasn't helped reduce/eliminate the frequency of broken commits.\n\n>\n> Which version of the SVN perl bindings are you using?\nI am using the SVN perl bindings that came with my distribution (ubuntu), the \nversion string reads: 1.5.1dfsg1-1ubuntu2, might this be the problem?\n\nPeter\n"}]}