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

Re: Bug in SVN.pm

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 12, 2023, 01:43 UTC
Message-ID
<xmqqo7ewtcu8.fsf@gitster.g>
In-Reply-To
<DS7PR13MB46861D9FF40E2A340FD2C8D2CF8FA@DS7PR13MB4686.namprd13.prod.outlook.com>
Daniel Ducharme <dducharme@catalisgov.com> writes:
Show 11 quoted lines
> sub parse_svn_date requires both the month, day, hour, and minute
> to be 2 digits long and fails on 2007-3-12T17:46:4.000000Z as an
> example due to the regex. Suggestion is to make the regex instead
> /^(\d{4})\-(\d\d?)\-(\d\d?)T (\d\d?)\:(\d\d?)\:(\d\d?)\.\d*Z$/x)
>
> I have found this data to be present in a SVN repository converted
> off of VSS while trying to take some old VSS repos to git through
> SVN, not sure if standard SVN would have allowed these date
> patterns, but they should be valid. The above regex also contains
> a fix for single digit minute and second as I also ran into that
> as well.

I do not think it is fair to call this a bug in SVN.pm, provided if SVN wants to use ISO 8601 datetime format for its timestamps. ISO 8601, IIUC, is fairly clear that month and day must be two-digit strings, 0-filled to the left as needed, and I would not be surprised if standard SVN rejected such bogus dates, and I do not agree with your "they *SHOULD* be valid" statement.

Having said all that, it is good to be liberal in what we accept, and I am sympathetic to "it would be nicer if they were accepted" sentiment. As long as there is no ambiguity, I would say that it would be nicer if timestamps like "2007-3-12T17:1:2.0Z" were accepted, and I would not be fundamentally opposed to a patch that loosens the regex to do so.

Patches welcome ;-).
Previous: Daniel Ducharme
Message 2 of 2 in “Bug in SVN.pm”
  1. Daniel DucharmeDec 11, 2023
  2. Junio C HamanoDec 12, 2023

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.