threads / discuss / 16378

git svn rebase creates some commits with empty author, commiter and date fields

Subject: git svn rebase creates some commits with empty author, commiter and date fields

## tl;dr

3 messages between Nov 18, 2008 and Nov 26, 2008.

replies: 2people: 2as markdown or json

Peter Kirk· Nov 18, 2008, 10:21 UTC · lore
Hi there,

I am using git version 1.6.0.3, which I compiled myself from sources on my linux/amd64 box which runns kubuntu 8.10.

Now, when I do "git svn clone" to retrieve the entire history from the svn server then everything works fine. Then I start working with this, commit some myself, and run "git svn rebase" frequently. What happens (and I don't see the pattern) is that *some* commits that are retrieved via "git svn rebase" are broken...they don't contain a valid author field, the date is at 1970 and, most importantly (for me) the commit message is empty except for the "git-svn-id:" line that "git svn" adds automatically. The diff is fine, and I can still use the checkout fine...but I cannot view the log-message/author/date of some commits, which becomes tiresome quickly. The only way to "fix" these broken commits is to do a clean "git svn clone", but as new commits are pulled via "git svn rebase", my repository will again become polluted with broken commits.

When I run "git fsck" I get a line like this for every broken commit:

error in commit 94a0eb26b0843f6b4db28d24b41301bd295d0794: invalid author/committer line

When I run git show on one of the broken commits the output looks like so:
########### snip ###########
commit 420be3a37353e3f2a968a2a8686a7169b31b9c3e
Author: (no author) <(no author)@596c1c1d-4ad6-0310-94f8-b98c4e649a3b>
Date:   Thu Jan 1 00:00:00 1970 +0000
 
    git-svn-id: svn+ssh://hiddenhost@5681 596c1c1d-4ad6-0310-94f8-b98c4e649a3b
 
 
diff --git a/bla/foo.cpp b/bla/foo.cpp
...the correct diff output follows...
############# snap ##########

While trying to find a solution to my problem with google I stumbled accross an 
old thread from 2007, but it sounds similar to my problem so I will link it 
for reference: https://kerneltrap.org/mailarchive/git/2007/10/30/368150
Note that in that case the changesets themselves seemed to be empty though 
though, for me it is only "author+date+commit message". Also I don't 
(knowingly) have any "authors file" provided.

Thanks in advance for any help, and please ask if any info is missing,
Peter
Eric Wong· Nov 25, 2008, 22:06 UTC · re: Peter Kirk · lore

Re: git svn rebase creates some commits with empty author, commiter and date fields

Peter Kirk <peter.kirk@gmx.de> wrote:
Show 17 quoted lines
> Hi there,
> 
> I am using git version 1.6.0.3, which I compiled myself from sources on my 
> linux/amd64 box which runns kubuntu 8.10.
> 
> Now, when I do "git svn clone" to retrieve the entire history from the svn 
> server then everything works fine. Then I start working with this, commit some 
> myself, and run "git svn rebase" frequently. What happens (and I don't see the 
> pattern) is that *some* commits that are retrieved via "git svn rebase" are 
> broken...they don't contain a valid author field, the date is at 1970 and, most 
> importantly (for me) the commit message is empty except for the "git-svn-id:" 
> line that "git svn" adds automatically. The diff is fine, and I can still use 
> the checkout fine...but I cannot view the log-message/author/date of some 
> commits, which becomes tiresome quickly.
> The only way to "fix" these broken commits is to do a clean "git svn clone", 
> but as new commits are pulled via "git svn rebase", my repository will again 
> become polluted with broken commits.
Weird.

Does this happen on other repositories you may use as well? Do you know of any strange hooks or otherwise non-standard setup with the SVN server?

Which version of the SVN perl bindings are you using?
-- 
Eric Wong
Peter Kirk· Nov 26, 2008, 07:36 UTC · re: Eric Wong · lore

Re: git svn rebase creates some commits with empty author, commiter and date fields

On Tuesday 25 November 2008 23:06:17 Eric Wong wrote:
Show 5 quoted lines
> Weird.
>
> Does this happen on other repositories you may use as well?  Do you know
> of any strange hooks or otherwise non-standard setup with the SVN
> server?

This is the only svn server I use with git-svn with, so I don't know if this would happen on other servers. About "strange hooks"...there is a pre-commit hook verifying that the svn:eolstyle is set properly on text files, but since git > 1.6.0 can do "autoproperties" like svn that has never failed for me. Then there is a post- commit hook which sends out a commit mail and scans the commit message for certain commands which trigger the software to be built.

Since that other post I linked was related to the "authors" file, I added a text file which maps all the svn users to git users, and that works (I can see the assigned names instead of the svn names for commits that aren't broken), but it hasn't helped reduce/eliminate the frequency of broken commits.

>
> Which version of the SVN perl bindings are you using?

I am using the SVN perl bindings that came with my distribution (ubuntu), the version string reads: 1.5.1dfsg1-1ubuntu2, might this be the problem?

Peter

← back to recent threads