git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git-svn error: Unable to parse date

From
DMDeskin Miller <deskinm@gmail.com>
Date
Feb 17, 2009, 14:26 UTC
Message-ID
<86d4c5e00902170626q7d460a30l168ecd227db69a46@mail.gmail.com>
In-Reply-To
<20090217094850.GQ7504@wouts.nl>
Hi,
Cc:ing Eric Wong, the git-svn author; further comments inline.
On Tue, Feb 17, 2009 at 04:48, Ward Wouts <ward@wouts.nl> wrote:
Show 7 quoted lines
> $ git svn fetch
> Unable to parse date: 2004-03-09T09:44:33.Z
>  at /usr/bin/git-svn line 3995
>
> The message goes away with this one character patch:
>
> $ diff -bru git-svn*
Not using git to hack on git?
Show 11 quoted lines
> --- git-svn     2009-02-17 10:23:24.000000000 +0100
> +++ git-svn.orig        2009-02-17 10:20:30.000000000 +0100
> @@ -2387,7 +2387,7 @@
>  sub parse_svn_date {
>        my $date = shift || return '+0000 1970-01-01 00:00:00';
>        my ($Y,$m,$d,$H,$M,$S) = ($date =~ /^(\d{4})\-(\d\d)\-(\d\d)T
> -                                           (\d\d)\:(\d\d)\:(\d\d).\d*Z$/x) or
> +                                           (\d\d)\:(\d\d)\:(\d\d).\d+Z$/x) or
>                                         croak "Unable to parse date: $date\n";
>        "+0000 $Y-$m-$d $H:$M:$S";
>  }

I was rather confused until I looked at the source currently in git, but it looks like you have the patch lines backward. Looking at the diff header now that's more clear to me. At any rate, it's clear why this date didn't parse, and why your patch fixes it.

I don't have any idea what sort of date format git should be expecting from svn, so the possibility exists that the current regex is actually correct and svn is buggily leaving off the subseconds. Especially given that this timestamp issue doesn't seem to have come up before, that feels like a very real possibility. All the same, even if it is svn's fault, we likely want to adjust to accommodate faulty svn installs, certainly in easy cases like this; but I'll defer to Eric in that regard.

I appreciate the time you took to address this issue, and go so far as to submit a patch, but you'll be much farther ahead if you use git to submit patches to git. Your patch is pretty small and easy to understand, but it's still lacking a commit message and a signoff from you, and the diff is actually backwards. Patches in this state often end up dropped on the floor on this list- there's too much work to be done to spend our time on stuff where people haven't used the list conventions. It'd be a shame for any further work you do improving git go to waste, especially when it's not hard to correct, so I'm trying to help out now by pointing you in the right direction. You can find git.git on the web at the following address, along with git URLs from which you can clone:

http://git.kernel.org/?p=git/git.git;a=summary

Within the repository, Documentation/SubmittingPatches is your best guide to sending stuff to the mailing list.

In anticipation of a proper commit message and the like, this patch is
Acked-by: Deskin Miller <deskinm@umich.edu>
Previous: Ward WoutsNext: Junio C Hamano
Message 2 of 6 in “git-svn error: Unable to parse date”
  1. Ward WoutsFeb 17, 2009
  2. Deskin MillerFeb 17, 2009
  3. Junio C HamanoFeb 17, 2009
  4. Ward WoutsFeb 17, 2009
  5. Eric WongFeb 17, 2009
  6. Junio C HamanoFeb 19, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.