https://github.com/apache/commons-lang
It's looking much better, the only edge case that throws it for a loop is if things start on the 29th of February in a year. I've hacked it in the day mode, but I'm not sure why I had to do that - however I trust the brute force test to be right in day mode. In month mode, it's even trickier as to what the correct answer is. How many months between 29th Feb and 28th of Feb the next year? The answer is 11, or with days included it's 11 months and 28 days. I can't see any reason to define that better, so I'm declaring that law. Things are weird if you start on Feb 29 :) git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@488926 13f79535-47bb-0310-9956-ffa450edef68
- HEAD
- refs/heads/LANG_1_0_BRANCH
- refs/heads/LANG_2_2_X
- refs/heads/LANG_2_X
- refs/heads/LANG_4_X
- refs/heads/LANG_POST_2_4
- refs/heads/LangTwo-1.x
- refs/heads/dependabot/maven/org.junit-pioneer-junit-pioneer-2.2.0
- refs/heads/master
- refs/heads/release
- refs/remotes/LANG_1_0_BRANCH
- refs/remotes/LANG_1_0_BRANCH@137086
- refs/remotes/LANG_1_0_BRANCH@560656
- refs/remotes/LANG_1_0_BRANCH@560657
- refs/remotes/LANG_1_0_BRANCH@560659
- refs/remotes/LANG_2_2_X
- refs/remotes/LANG_2_2_X@447961
- refs/remotes/LANG_2_2_X@560656
- refs/remotes/LANG_2_2_X@560657
- refs/remotes/LANG_2_2_X@560659
- refs/remotes/LANG_2_X
- refs/remotes/LANG_4_X
- refs/remotes/LANG_POST_2_4
- refs/remotes/LangTwo-1.x
- refs/remotes/LangTwo-1.x@534204
- refs/remotes/LangTwo-1.x@534206
- refs/remotes/LangTwo-1.x@560656
- refs/remotes/LangTwo-1.x@560657
- refs/remotes/LangTwo-1.x@560659
- refs/remotes/tags/LANG_1_0
- refs/remotes/tags/LANG_1_0@137086
- refs/remotes/tags/LANG_1_0@560656
- refs/remotes/tags/LANG_1_0@560657
- refs/remotes/tags/LANG_1_0@560659
- refs/remotes/tags/LANG_1_0_1
- refs/remotes/tags/LANG_1_0_1@137082
- refs/remotes/tags/LANG_1_0_1@560656
- refs/remotes/tags/LANG_1_0_1@560657
- refs/remotes/tags/LANG_1_0_1@560659
- refs/remotes/tags/LANG_1_0_B1
- refs/remotes/tags/LANG_1_0_B1@136941
- refs/remotes/tags/LANG_1_0_B1@560656
- refs/remotes/tags/LANG_1_0_B1@560657
- refs/remotes/tags/LANG_1_0_B1@560659
- refs/remotes/tags/LANG_1_0_RC1
- refs/remotes/tags/LANG_1_0_RC1@137064
- refs/remotes/tags/LANG_1_0_RC1@560656
- refs/remotes/tags/LANG_1_0_RC1@560657
- refs/remotes/tags/LANG_1_0_RC1@560659
- refs/remotes/tags/LANG_1_0_RC2
- refs/remotes/tags/LANG_1_0_RC2@137083
- refs/remotes/tags/LANG_1_0_RC2@560656
- refs/remotes/tags/LANG_1_0_RC2@560657
- refs/remotes/tags/LANG_1_0_RC2@560659
- refs/remotes/tags/LANG_2_0
- refs/remotes/tags/LANG_2_0@137658
- refs/remotes/tags/LANG_2_0@560656
- refs/remotes/tags/LANG_2_0@560657
- refs/remotes/tags/LANG_2_0@560659
- refs/remotes/tags/LANG_2_0_RC1
- refs/remotes/tags/LANG_2_0_RC1@137430
- refs/remotes/tags/LANG_2_0_RC1@560656
- refs/remotes/tags/LANG_2_0_RC1@560657
- refs/remotes/tags/LANG_2_0_RC1@560659
- refs/remotes/tags/LANG_2_0_RC2
- refs/remotes/tags/LANG_2_0_RC2@137603
- refs/remotes/tags/LANG_2_0_RC2@560656
- refs/remotes/tags/LANG_2_0_RC2@560657
- refs/remotes/tags/LANG_2_0_RC2@560659
- refs/remotes/tags/LANG_2_0_RC3
- refs/remotes/tags/LANG_2_0_RC3@137627
- refs/remotes/tags/LANG_2_0_RC3@560656
- refs/remotes/tags/LANG_2_0_RC3@560657
- refs/remotes/tags/LANG_2_0_RC3@560659
- refs/remotes/tags/LANG_2_1
- refs/remotes/tags/LANG_2_1@190273
- refs/remotes/tags/LANG_2_1@560656
- refs/remotes/tags/LANG_2_1@560657
- refs/remotes/tags/LANG_2_1@560659
- refs/remotes/tags/LANG_2_1_RC1
- refs/remotes/tags/LANG_2_1_RC1@161686
- refs/remotes/tags/LANG_2_1_RC1@560656
- refs/remotes/tags/LANG_2_1_RC1@560657
- refs/remotes/tags/LANG_2_1_RC1@560659
- refs/remotes/tags/LANG_2_1_RC2
- refs/remotes/tags/LANG_2_1_RC2@162099
- refs/remotes/tags/LANG_2_1_RC2@560656
- refs/remotes/tags/LANG_2_1_RC2@560657
- refs/remotes/tags/LANG_2_1_RC2@560659
- refs/remotes/tags/LANG_2_1_RC3
- refs/remotes/tags/LANG_2_1_RC3@165540
- refs/remotes/tags/LANG_2_1_RC3@560656
- refs/remotes/tags/LANG_2_1_RC3@560657
- refs/remotes/tags/LANG_2_1_RC3@560659
- refs/remotes/tags/LANG_2_1_RC5
- refs/remotes/tags/LANG_2_1_RC5@169119
- refs/remotes/tags/LANG_2_1_RC5@560656
- refs/remotes/tags/LANG_2_1_RC5@560657
- refs/remotes/tags/LANG_2_1_RC5@560659
- refs/remotes/tags/LANG_2_1_RC6
- refs/remotes/tags/LANG_2_1_RC6@171273
- refs/remotes/tags/LANG_2_1_RC6@560656
- refs/remotes/tags/LANG_2_1_RC6@560657
- refs/remotes/tags/LANG_2_1_RC6@560659
- refs/remotes/tags/LANG_2_1_RC7
- refs/remotes/tags/LANG_2_1_RC7@178911
- refs/remotes/tags/LANG_2_1_RC7@560656
- refs/remotes/tags/LANG_2_1_RC7@560657
- refs/remotes/tags/LANG_2_1_RC7@560659
- refs/remotes/tags/LANG_2_1_RC8
- refs/remotes/tags/LANG_2_1_RC8@179329
- refs/remotes/tags/LANG_2_1_RC8@560656
- refs/remotes/tags/LANG_2_1_RC8@560657
- refs/remotes/tags/LANG_2_1_RC8@560659
- refs/remotes/tags/LANG_2_2
- refs/remotes/tags/LANG_2_2@447961
- refs/remotes/tags/LANG_2_2@452930
- refs/remotes/tags/LANG_2_2@560656
- refs/remotes/tags/LANG_2_2@560657
- refs/remotes/tags/LANG_2_2@560659
- refs/remotes/tags/LANG_2_2_DEV_STYLE
- refs/remotes/tags/LANG_2_2_DEV_STYLE@209379
- refs/remotes/tags/LANG_2_2_DEV_STYLE@560656
- refs/remotes/tags/LANG_2_2_DEV_STYLE@560657
- refs/remotes/tags/LANG_2_2_DEV_STYLE@560659
- refs/remotes/tags/LANG_2_2_RC1
- refs/remotes/tags/LANG_2_2_RC1@447961
- refs/remotes/tags/LANG_2_2_RC1@448054
- refs/remotes/tags/LANG_2_2_RC1@560656
- refs/remotes/tags/LANG_2_2_RC1@560657
- refs/remotes/tags/LANG_2_2_RC1@560659
- refs/remotes/tags/LANG_2_2_RC2
- refs/remotes/tags/LANG_2_2_RC2@447961
- refs/remotes/tags/LANG_2_2_RC2@449197
- refs/remotes/tags/LANG_2_2_RC2@560656
- refs/remotes/tags/LANG_2_2_RC2@560657
- refs/remotes/tags/LANG_2_2_RC2@560659
- refs/remotes/tags/LANG_2_2_RC3
- refs/remotes/tags/LANG_2_2_RC3@447961
- refs/remotes/tags/LANG_2_2_RC3@450513
- refs/remotes/tags/LANG_2_2_RC3@560656
- refs/remotes/tags/LANG_2_2_RC3@560657
- refs/remotes/tags/LANG_2_2_RC3@560659
- refs/remotes/tags/LANG_2_3
- refs/remotes/tags/LANG_2_3@505486
- refs/remotes/tags/LANG_2_3@507088
- refs/remotes/tags/LANG_2_3@560656
- refs/remotes/tags/LANG_2_3@560657
- refs/remotes/tags/LANG_2_3@560659
- refs/remotes/tags/LANG_2_3_RC1
- refs/remotes/tags/LANG_2_3_RC1@501634
- refs/remotes/tags/LANG_2_3_RC1@560656
- refs/remotes/tags/LANG_2_3_RC1@560657
- refs/remotes/tags/LANG_2_3_RC1@560659
- refs/remotes/tags/LANG_2_3_RC2
- refs/remotes/tags/LANG_2_3_RC2@504361
- refs/remotes/tags/LANG_2_3_RC2@560656
- refs/remotes/tags/LANG_2_3_RC2@560657
- refs/remotes/tags/LANG_2_3_RC2@560659
- refs/remotes/tags/LANG_2_3_RC3
- refs/remotes/tags/LANG_2_3_RC3@505486
- refs/remotes/tags/LANG_2_3_RC3@560656
- refs/remotes/tags/LANG_2_3_RC3@560657
- refs/remotes/tags/LANG_2_3_RC3@560659
- refs/remotes/tags/LANG_2_4
- refs/remotes/tags/LANG_2_4_RC1
- refs/remotes/tags/LANG_2_4_RC2
- refs/remotes/tags/LANG_2_4_RC3
- refs/remotes/tags/LANG_2_5
- refs/remotes/tags/LANG_2_5_COPY
- refs/remotes/tags/LANG_2_5_RC1
- refs/remotes/tags/LANG_2_5_RC2
- refs/remotes/tags/LANG_2_5_RC3
- refs/remotes/tags/LANG_2_6
- refs/remotes/tags/LANG_2_6_RC1
- refs/remotes/tags/LANG_2_6_RC2
- refs/remotes/tags/LANG_2_6_REPACKAGED
- refs/remotes/tags/LANG_3_0
- refs/remotes/tags/LANG_3_0_1
- refs/remotes/tags/LANG_3_0_1_RC1
- refs/remotes/tags/LANG_3_0_1_RC2
- refs/remotes/tags/LANG_3_0_2_RC1
- refs/remotes/tags/LANG_3_0_B1
- refs/remotes/tags/LANG_3_0_B2
- refs/remotes/tags/LANG_3_0_B3
- refs/remotes/tags/LANG_3_0_RC1
- refs/remotes/tags/LANG_3_0_RC2
- refs/remotes/tags/LANG_3_0_RC3
- refs/remotes/tags/LANG_3_0_RC4
- refs/remotes/tags/LANG_3_1
- refs/remotes/tags/LANG_3_1_RC1
- refs/remotes/tags/LANG_3_2
- refs/remotes/tags/LANG_3_2_1
- refs/remotes/tags/LANG_3_2_1_RC1
- refs/remotes/tags/LANG_3_2_RC1
- refs/remotes/tags/LANG_3_2_RC2
- refs/remotes/tags/LANG_3_3
- refs/remotes/tags/LANG_3_3_1
- refs/remotes/tags/LANG_3_3_1_RC1
- refs/remotes/tags/LANG_3_3_2
- refs/remotes/tags/LANG_3_3_2_RC1
- refs/remotes/tags/LANG_3_3_RC1
- refs/remotes/tags/LANG_3_4
- refs/remotes/tags/LANG_3_4_RC1
- refs/remotes/tags/LANG_3_4_RC2
- refs/remotes/tags/STRUTS_1_1_B2
- refs/remotes/tags/STRUTS_1_1_B2@136955
- refs/remotes/tags/STRUTS_1_1_B2@560656
- refs/remotes/tags/STRUTS_1_1_B2@560657
- refs/remotes/tags/STRUTS_1_1_B2@560659
- refs/remotes/tags/STRUTS_1_1_B3
- refs/remotes/tags/STRUTS_1_1_B3@137215
- refs/remotes/tags/STRUTS_1_1_B3@560656
- refs/remotes/tags/STRUTS_1_1_B3@560657
- refs/remotes/tags/STRUTS_1_1_B3@560659
- refs/remotes/tags/STRUTS_1_1_RC1
- refs/remotes/tags/STRUTS_1_1_RC1@137253
- refs/remotes/tags/STRUTS_1_1_RC1@560656
- refs/remotes/tags/STRUTS_1_1_RC1@560657
- refs/remotes/tags/STRUTS_1_1_RC1@560659
- refs/remotes/trunk
- refs/remotes/trunk@560656
- refs/remotes/trunk@560657
- refs/remotes/trunk@560659
- 4f514d5eb3e80703012df9be190ae42d35d25bdc
- rel/commons-lang-3.14.0
- rel/commons-lang-3.13.0
- rel/commons-lang-3.12.0
- rel/commons-lang-3.11
- rel/commons-lang-3.10
- commons-lang-3.9-RC2
- commons-lang-3.9-RC1
- commons-lang-3.9
- commons-lang-3.14.0-RC1
- commons-lang-3.13.0-RC1
- commons-lang-3.12.0-RC1
- commons-lang-3.11-RC2
- commons-lang-3.11-RC1
- commons-lang-3.10-RC1
- STRUTS_1_1_RC1
- STRUTS_1_1_B3
- STRUTS_1_1_B2
- LANG_3_8_RC1
- LANG_3_8_1_RC1
- LANG_3_8_1
- LANG_3_8
- LANG_3_7_RC1
- LANG_3_7
- LANG_3_6_RC4
- LANG_3_6_RC3
- LANG_3_6_RC2
- LANG_3_6_RC1
- LANG_3_6
- LANG_3_5_RC2
- LANG_3_5_RC1
- LANG_3_4_RC2
- LANG_3_4_RC1
- LANG_3_4
- LANG_3_3_RC1
- LANG_3_3_2_RC1
- LANG_3_3_2
- LANG_3_3_1_RC1
- LANG_3_3_1
- LANG_3_3
- LANG_3_2_RC2
- LANG_3_2_RC1
- LANG_3_2_1_RC1
- LANG_3_2_1
- LANG_3_2
- LANG_3_1_RC1
- LANG_3_1
- LANG_3_0_RC4
- LANG_3_0_RC3
- LANG_3_0_RC2
- LANG_3_0_RC1
- LANG_3_0_B3
- LANG_3_0_B2
- LANG_3_0_B1
- LANG_3_0_2_RC1
- LANG_3_0_1_RC2
- LANG_3_0_1_RC1
- LANG_3_0_1
- LANG_3_0
- LANG_2_6_REPACKAGED
- LANG_2_6_RC2
- LANG_2_6_RC1
- LANG_2_6
- LANG_2_5_RC3
- LANG_2_5_RC2
- LANG_2_5_RC1
- LANG_2_5_COPY
- LANG_2_5
- LANG_2_4_RC3
- LANG_2_4_RC2
- LANG_2_4_RC1
- LANG_2_4
- LANG_2_3_RC3
- LANG_2_3_RC2
- LANG_2_3_RC1
- LANG_2_3
- LANG_2_2_RC3
- LANG_2_2_RC2
- LANG_2_2_RC1
- LANG_2_2_DEV_STYLE
- LANG_2_2
- LANG_2_1_RC8
- LANG_2_1_RC7
- LANG_2_1_RC6
- LANG_2_1_RC5
- LANG_2_1_RC3
- LANG_2_1_RC2
- LANG_2_1_RC1
- LANG_2_1
- LANG_2_0_RC3
- LANG_2_0_RC2
- LANG_2_0_RC1
- LANG_2_0
- LANG_1_0_RC2
- LANG_1_0_RC1
- LANG_1_0_B1
- LANG_1_0_1
- LANG_1_0
Cook and download a directory from the Software Heritage Vault
You have requested the cooking of the directory with identifier swh:1:dir:48b57a37e5866de041c7e06a79147bdbc422f384 into a standard tar.gz archive
.
Are you sure you want to continue ?
Download a directory from the Software Heritage Vault
You have requested the download of the directory with identifier swh:1:dir:48b57a37e5866de041c7e06a79147bdbc422f384 as a standard tar.gz archive
.
Are you sure you want to continue ?
Cook and download a revision from the Software Heritage Vault
You have requested the cooking of the history heading to revision with identifier swh:1:rev:4f514d5eb3e80703012df9be190ae42d35d25bdc into a bare git archive
.
Are you sure you want to continue ?
Download a revision from the Software Heritage Vault
You have requested the download of the history heading to revision with identifier swh:1:rev:4f514d5eb3e80703012df9be190ae42d35d25bdc as a bare git archive
.
Are you sure you want to continue ?
Invalid Email !
The provided email is not well-formed.
Download link has expired
The requested archive is no longer available for download from the Software Heritage Vault.
Do you want to cook it again ?
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
More tests, more bugfixes (aka rewrite of the guts).
File | Mode | Size |
---|---|---|
src | ||
xdocs | ||
LICENSE.txt | -rw-r--r-- | 11.1 KB |
NOTICE.txt | -rw-r--r-- | 181 bytes |
PROPOSAL.html | -rw-r--r-- | 3.0 KB |
RELEASE-NOTES.txt | -rw-r--r-- | 5.2 KB |
STATUS.html | -rw-r--r-- | 9.5 KB |
build.xml | -rw-r--r-- | 8.5 KB |
checkstyle.xml | -rw-r--r-- | 1.6 KB |
default.properties | -rw-r--r-- | 2.6 KB |
doap_lang.rdf | -rw-r--r-- | 1.9 KB |
maven.xml | -rw-r--r-- | 1.9 KB |
pom.xml | -rw-r--r-- | 11.8 KB |
project.properties | -rw-r--r-- | 2.5 KB |
project.xml | -rw-r--r-- | 14.1 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...