Add support for external definitions with date as revision
While working on improving the incremental loadings of subversion repositories, I stumbled across that external defintions list from a repository used in my tests:
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/__init__@{2021-03-01T02:02:20Z} contools/Scripts/__init__
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/__init__@{2021-03-01T02:02:20Z} contools/Scripts/Tools/__init__
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/encoding@{2021-03-01T02:02:20Z} contools/Scripts/Tools/encoding
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/filesys@{2021-03-01T02:02:20Z} contools/Scripts/Tools/filesys
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/registry@{2021-03-01T02:02:20Z} contools/Scripts/Tools/registry
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/std@{2021-03-01T02:02:20Z} contools/Scripts/Tools/std
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/ToolAdaptors/__init__@{2021-03-01T02:02:20Z} contools/Scripts/Tools/ToolAdaptors/__init__
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/ToolAdaptors/lnk@{2021-03-01T02:02:20Z} contools/Scripts/Tools/ToolAdaptors/lnk
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/ToolAdaptors/vbs@{2021-03-01T02:02:20Z} contools/Scripts/Tools/ToolAdaptors/vbs
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/wmi@{2021-03-01T02:02:20Z} contools/Scripts/Tools/wmi
svn://svn.code.sf.net/p/contools/contools/trunk/Scripts/Tools/xcopy@{2021-03-01T02:02:20Z} contools/Scripts/Tools/xcopy
svn://svn.code.sf.net/p/contools/contools/trunk/Utilities/bin/contools@{2021-03-01T02:02:20Z} contools/Utilities/bin/contools
svn://svn.code.sf.net/p/contools/contools/trunk/Utilities/bin/gnuwin32@{2021-03-01T02:02:20Z} contools/Utilities/bin/gnuwin32
svn://svn.code.sf.net/p/contools/contools/trunk/Utilities/bin/ritchielawrence@{2021-03-01T02:02:20Z} contools/Utilities/bin/ritchielawrence
svn://svn.code.sf.net/p/contools/contools/trunk/Utilities/bin/ss64.net/conutils@{2021-03-01T02:02:20Z} contools/Utilities/bin/ss64.net/conutils
svn://svn.code.sf.net/p/contools/contools/trunk/Utilities/bin/sysinternals@{2021-03-01T02:02:20Z} contools/Utilities/bin/sysinternals
svn://svn.code.sf.net/p/tacklelib/tacklelib/trunk/__init__@{2021-03-01T02:02:20Z} tacklelib/__init__
svn://svn.code.sf.net/p/tacklelib/tacklelib/trunk/vbs@{2021-03-01T02:02:20Z} tacklelib/vbs
It turns out subversion allows to specify a revision as a date in its CLI and C API and the following command is totally legit:
svn export -r {YYYY-MM-DDThh:mm:ssZ} <repo_url>
In that case, the current HEAD revision of the repository at that date is exported.
Unfortunately, subvertpy does not support parsing such revision date.
So in order for the loader to support such external definition we have to implement a function fetching the HEAD revision number of a repository for a given date.