From b8c7370a682e4e29cda623222d17a790c01c3642 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 7 Aug 2024 12:37:21 +0100 Subject: gentoo auto-resync : 07:08:2024 - 12:37:20 --- dev-java/ant-ivy/Manifest | 2 +- dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild | 197 ------------------------------- dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild | 196 ++++++++++++++++++++++++++++++ 3 files changed, 197 insertions(+), 198 deletions(-) delete mode 100644 dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild create mode 100644 dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild (limited to 'dev-java/ant-ivy') diff --git a/dev-java/ant-ivy/Manifest b/dev-java/ant-ivy/Manifest index 8ba724658f42..a239bf2d959a 100644 --- a/dev-java/ant-ivy/Manifest +++ b/dev-java/ant-ivy/Manifest @@ -1,3 +1,3 @@ DIST apache-ivy-2.5.0-src.tar.gz 2719181 BLAKE2B 71c47e3493beac8de1bc4e8c86ae18383938265dd2803a1c4b9ad466306227dab9eeca256516ff94064d902d0694b4f0b35ce152c5f64b95b876e47289b25833 SHA512 59d9458345e3a51e8f527258ba26ebe2cf5cf257401c52fb5f75aced0da5f7bf36f8aa0f202bbc0cf029d1d49bd6634f7cb8b65ccc828eb55ff7084430879268 -EBUILD ant-ivy-2.5.0-r2.ebuild 8507 BLAKE2B f88f6e98d61e346fca76f3e4cdfc1d9ce8cd96fc45bcf7872d2b5e1007ef67346b3a05f02a5b682ca732a014c5f6edfc0e87b28b661635ac38e6d10b46e14491 SHA512 5c6a77d82be45a6e50c4a3ee3615b82a06f36307f5e5436b4f45cf1496e060c650604e0cb300320f19e233e17b307eb40d37c7fd5217b78c3731956f458ab861 +EBUILD ant-ivy-2.5.0-r4.ebuild 8508 BLAKE2B 94f99f12bf306817969e6b38512871a0fe97c8c5841d0f685ea55dd8257771556c4fab68b83cabcb3d642e791e1d54f093b407bc581880944cd1f91783cf1946 SHA512 7ffb7a3df1bd596a4d48e6636683667cba668d48d10ca1e07373f83a07737de740782cb6fca6e299183d1631266415f7e06b289654fd3cdce7c2f25c22b1b971 MISC metadata.xml 853 BLAKE2B 908a789bf1e0310f1cb5fe27b360fb21c8b3569d99c20891a10b68be9162cf3c7009eefe0497c370699d005875d937da59b03d8f844a4d1a1a474f313f4c152a SHA512 af35a6ba951105d6c5e24ab2dcfa84a859184623c3911594bc82d72f3f96307da1dd8f6bef9be1297ec7cd0942680d77d6bdb44e2e5c5afe56cde761e018812f diff --git a/dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild b/dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild deleted file mode 100644 index 0158c70768f5..000000000000 --- a/dev-java/ant-ivy/ant-ivy-2.5.0-r2.ebuild +++ /dev/null @@ -1,197 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -JAVA_PKG_IUSE="doc source test" -MAVEN_ID="org.apache.ivy:ivy:2.5.0" -JAVA_TESTING_FRAMEWORKS="junit-4" - -inherit java-pkg-2 java-pkg-simple java-osgi - -DESCRIPTION="Ivy is a free java based dependency manager" -HOMEPAGE="https://ant.apache.org/ivy/" -SRC_URI="https://archive.apache.org/dist/ant/ivy/${PV}/apache-ivy-${PV}-src.tar.gz" - -LICENSE="Apache-2.0" -SLOT="2" -KEYWORDS="amd64 ppc64 x86" - -PROPERTIES="test_network" -RESTRICT="test" - -CDEPEND=" - >=dev-java/ant-1.10.14-r3:0 - dev-java/bcpg:0 - dev-java/bcprov:0 - dev-java/httpcomponents-client - dev-java/commons-vfs:2 - dev-java/httpcore:0 - dev-java/jakarta-oro:2.0 - dev-java/jsch:0 - dev-java/jsch-agent-proxy:0 - test? ( - >=dev-java/ant-1.10.14-r3:0[junit,junit4,junitlauncher,testutil] - dev-java/hamcrest-core:1.3 - dev-java/hamcrest-library:1.3 - dev-java/xmlunit:1 - )" - -# Restrict to jdk:1.8 since java.util.jar.Pack200 was removed. -DEPEND="${CDEPEND} - virtual/jdk:1.8" -RDEPEND="${CDEPEND} - virtual/jre:1.8" - -DOCS=( LICENSE NOTICE README.adoc ) - -S="${WORKDIR}/apache-ivy-${PV}" - -JAVA_GENTOO_CLASSPATH=" - ant - bcpg - bcprov - httpcomponents-client-4 - commons-vfs-2 - httpcore - jakarta-oro-2.0 - jsch - jsch-agent-proxy -" -JAVA_MAIN_CLASS="org.apache.ivy.Main" -JAVA_SRC_DIR="src/java" -JAVA_RESOURCE_DIRS="resources/java" - -JAVA_TEST_GENTOO_CLASSPATH=" - ant - hamcrest-core-1.3 - hamcrest-library-1.3 - junit-4 - xmlunit-1 -" -JAVA_TEST_SRC_DIR="test-src/java" -JAVA_TEST_RESOURCE_DIRS="test" -JAVA_GENTOO_CLASSPATH_EXTRA="ant-ivy.jar:test.jar:custom-resolver.jar" - -# according to 57,60 build-release.xml -# https://github.com/apache/ant-ivy/commit/c0c8df492d2312c983f50cfdc5841e18177f6f7b -JAVA_TEST_EXTRA_ARGS="-Divy.cache.ttl.default=1s -Dskip.download=true -Divy.home=/tmp -D/offline=true" - -# Several tests require a certain treatment to "generate-bundles": -# https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L426-L428 -# -# -# The procedure is coded in https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/test/test-repo/build.xml#L19-L71 -# but appears too difficult to be reprodused with 'java-pkg-simple.eclass'. -# So the failing tests will be excluded, saved for a later attempt. -# -# Not excluding any test classes results in "Tests run: 1109, Failures: 98" -# Excluding those test classes listed below leads to "OK (812 tests)" -JAVA_TEST_EXCLUDES=( - # https://github.com/apache/ant-ivy/blob/083e3f685c1fe29092e59c63b87e81d31fc9babe/build.properties#L56 - # test.class.pattern = *Test - "org.apache.ivy.ant.testutil.AntTaskTestCase" # not in scope - "org.apache.ivy.core.TestPerformance" # not in scope - "org.apache.ivy.util.TestXmlHelper" # not in scope - "org.apache.ivy.TestFixture" # not in scope - "org.apache.ivy.TestHelper" # not in scope - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L412-L420 - # - "org.apache.ivy.util.url.AbstractURLHandlerTest" - "org.apache.ivy.plugins.resolver.AbstractDependencyResolverTest" - "org.apache.ivy.plugins.matcher.AbstractPatternMatcherTest" - # following excluded tests cause test failures - "org.apache.ivy.ant.BuildOBRTaskTest" # Tests run: 3, Failures: 2 - "org.apache.ivy.core.deliver.DeliverTest" # Tests run: 1, Failures: 1 - "org.apache.ivy.core.module.descriptor.IvyMakePomTest" # Tests run: 1, Failures: 1 - "org.apache.ivy.core.settings.XmlSettingsParserTest" # Tests run: 29, Failures: 1 - "org.apache.ivy.osgi.core.AggregatedOSGiResolverTest" # Tests run: 3, Failures: 1 - "org.apache.ivy.osgi.obr.OBRResolverTest" # Tests run: 16, Failures: 16 - "org.apache.ivy.osgi.repo.BundleRepoTest" # Tests run: 4, Failures: 3 - "org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest" # Tests run: 46, Failures: 1 - "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParserTest" # Tests run: 44, Failures: 7 - "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriterTest" # Tests run: 10, Failures: 1 - "org.apache.ivy.plugins.parser.xml.XmlModuleUpdaterTest" # Tests run: 14, Failures: 3 - "org.apache.ivy.plugins.resolver.JarResolverTest" # Tests run: 3, Failures: 3 - # following excluded tests can pass if run individually - "org.apache.ivy.ant.IvyConfigureTest" # OK (14 tests) - "org.apache.ivy.IvyTest" # OK (1 test) - "org.apache.ivy.MainTest" # OK (12 tests) - "org.apache.ivy.plugins.report.XmlReportWriterTest" # OK (3 tests) - "org.apache.ivy.plugins.resolver.BintrayResolverTest" # OK (12 tests) - "org.apache.ivy.plugins.resolver.ChainResolverTest" # OK (15 tests) - "org.apache.ivy.plugins.resolver.FileSystemResolverTest" # OK (27 tests) - "org.apache.ivy.plugins.resolver.IBiblioMavenSnapshotsResolutionTest" # OK (1 test) - "org.apache.ivy.plugins.resolver.IvyRepResolverTest" # OK (3 tests) - "org.apache.ivy.plugins.resolver.Maven2LocalTest" # OK (2 tests) - "org.apache.ivy.plugins.resolver.PackagerResolverTest" # OK (3 tests) - "org.apache.ivy.plugins.resolver.URLResolverTest" # OK (5 tests) - "org.apache.ivy.plugins.trigger.LogTriggerTest" # OK (3 tests) - # Without PROPERTIES="test_network", the following test cause additional failures. - "org.apache.ivy.core.settings.OnlineXmlSettingsParserTest" -# "org.apache.ivy.osgi.updatesite.UpdateSiteAndIbiblioResolverTest" - "org.apache.ivy.osgi.updatesite.UpdateSiteLoaderTest" -# "org.apache.ivy.plugins.resolver.IBiblioResolverTest" -# "org.apache.ivy.plugins.resolver.MirroredURLResolverTest" - "org.apache.ivy.util.url.ArtifactoryListingTest" -# "org.apache.ivy.util.url.BasicURLHandlerTest" -# "org.apache.ivy.util.url.HttpclientURLHandlerTest" -) - -src_prepare() { - default - - mkdir --parents "${JAVA_RESOURCE_DIRS}/META-INF" || die - pushd "${JAVA_RESOURCE_DIRS}" - cp "${S}"/{NOTICE,LICENSE} META-INF/ || die - cp -r "${S}"/src/java/* . || die - - # DEPRECATED: 'ivyconf' element is deprecated, use 'ivysettings' instead - # according to 210,221 build.xml and still in the upstream .jar file - cp org/apache/ivy/core/settings/ivy{settings,conf}-local.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-default-chain.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-main-chain.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-public.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}-shared.xml || die - cp org/apache/ivy/core/settings/ivy{settings,conf}.xml || die - - find . -type f -name '*.java' -exec rm -rf {} + || die - popd || die -} - -src_test() { - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L396-L407 - # name="build-custom-resolver-jar" - JAVA_SRC_DIR="test/custom-classpath" - JAVA_JAR_FILENAME="test/java/org/apache/ivy/core/settings/custom-resolver.jar" - java-pkg-simple_src_compile - - # Without "license.xml" the tests won't even start. "Tests run: 1109, Failures: 318" - jar -cf test.jar \ - -C test/java org/apache/ivy/plugins/parser/xml/license.xml \ - -C test/java org/apache/ivy/plugins/parser/m2/license.xml || die - - # Reduce number of failures to "Tests run: 1109, Failures: 98" - jar -uf "test.jar" -C test/java . || die - - # Separate *.java files from test resources - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L389-L393 - mkdir test-src || die - cp -r test/java test-src/ || die - find test -type f -name '*.java' -exec rm -rf {} + || die - - # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L430-L438 - # name="prepare-test-jar-repositories" - mkdir test/jar-repos || die - jar -cfM "test/jar-repos/jarrepo1.jar" -C test/repositories/1 . || die -# jar -cfM "test/jar-repos/jarrepo1_subdir.jar" -C test/repositories 1/**/*/ || die - - java-pkg-simple_src_test -} - -src_install() { - default - java-osgi_dojar-fromfile "ant-ivy.jar" "META-INF/MANIFEST.MF" "ant-ivy" - use doc && java-pkg_dojavadoc target/api - use source && java-pkg_dosrc src/* -} diff --git a/dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild b/dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild new file mode 100644 index 000000000000..32e0a711eb11 --- /dev/null +++ b/dev-java/ant-ivy/ant-ivy-2.5.0-r4.ebuild @@ -0,0 +1,196 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.apache.ivy:ivy:2.5.0" +JAVA_TESTING_FRAMEWORKS="junit-4" + +inherit java-pkg-2 java-pkg-simple java-osgi + +DESCRIPTION="Ivy is a free java based dependency manager" +HOMEPAGE="https://ant.apache.org/ivy/" +SRC_URI="https://archive.apache.org/dist/ant/ivy/${PV}/apache-ivy-${PV}-src.tar.gz" +S="${WORKDIR}/apache-ivy-${PV}" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="amd64 ppc64 x86" + +PROPERTIES="test_network" +RESTRICT="test" + +CDEPEND=" + >=dev-java/ant-1.10.14-r3:0 + dev-java/bcpg:0 + dev-java/bcprov:0 + dev-java/httpcomponents-client:4 + dev-java/commons-vfs:2 + dev-java/httpcore:0 + dev-java/jakarta-oro:2.0 + dev-java/jsch:0 + dev-java/jsch-agent-proxy:0 + test? ( + >=dev-java/ant-1.10.14-r3:0[junit,junit4,junitlauncher,testutil] + dev-java/hamcrest-core:1.3 + dev-java/hamcrest-library:1.3 + dev-java/xmlunit:1 + )" + +# Restrict to jdk:1.8 since java.util.jar.Pack200 was removed. +DEPEND="${CDEPEND} + virtual/jdk:1.8" +RDEPEND="${CDEPEND} + virtual/jre:1.8" + +DOCS=( LICENSE NOTICE README.adoc ) + +JAVA_GENTOO_CLASSPATH=" + ant + bcpg + bcprov + httpcomponents-client-4 + commons-vfs-2 + httpcore + jakarta-oro-2.0 + jsch + jsch-agent-proxy +" +JAVA_MAIN_CLASS="org.apache.ivy.Main" +JAVA_SRC_DIR="src/java" +JAVA_RESOURCE_DIRS="resources/java" + +JAVA_TEST_GENTOO_CLASSPATH=" + ant + hamcrest-core-1.3 + hamcrest-library-1.3 + junit-4 + xmlunit-1 +" +JAVA_TEST_SRC_DIR="test-src/java" +JAVA_TEST_RESOURCE_DIRS="test" +JAVA_GENTOO_CLASSPATH_EXTRA="ant-ivy.jar:test.jar:custom-resolver.jar" + +# according to 57,60 build-release.xml +# https://github.com/apache/ant-ivy/commit/c0c8df492d2312c983f50cfdc5841e18177f6f7b +JAVA_TEST_EXTRA_ARGS="-Divy.cache.ttl.default=1s -Dskip.download=true -Divy.home=/tmp -D/offline=true" + +# Several tests require a certain treatment to "generate-bundles": +# https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L426-L428 +# +# +# The procedure is coded in https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/test/test-repo/build.xml#L19-L71 +# but appears too difficult to be reprodused with 'java-pkg-simple.eclass'. +# So the failing tests will be excluded, saved for a later attempt. +# +# Not excluding any test classes results in "Tests run: 1109, Failures: 98" +# Excluding those test classes listed below leads to "OK (812 tests)" +JAVA_TEST_EXCLUDES=( + # https://github.com/apache/ant-ivy/blob/083e3f685c1fe29092e59c63b87e81d31fc9babe/build.properties#L56 + # test.class.pattern = *Test + "org.apache.ivy.ant.testutil.AntTaskTestCase" # not in scope + "org.apache.ivy.core.TestPerformance" # not in scope + "org.apache.ivy.util.TestXmlHelper" # not in scope + "org.apache.ivy.TestFixture" # not in scope + "org.apache.ivy.TestHelper" # not in scope + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L412-L420 + # + "org.apache.ivy.util.url.AbstractURLHandlerTest" + "org.apache.ivy.plugins.resolver.AbstractDependencyResolverTest" + "org.apache.ivy.plugins.matcher.AbstractPatternMatcherTest" + # following excluded tests cause test failures + "org.apache.ivy.ant.BuildOBRTaskTest" # Tests run: 3, Failures: 2 + "org.apache.ivy.core.deliver.DeliverTest" # Tests run: 1, Failures: 1 + "org.apache.ivy.core.module.descriptor.IvyMakePomTest" # Tests run: 1, Failures: 1 + "org.apache.ivy.core.settings.XmlSettingsParserTest" # Tests run: 29, Failures: 1 + "org.apache.ivy.osgi.core.AggregatedOSGiResolverTest" # Tests run: 3, Failures: 1 + "org.apache.ivy.osgi.obr.OBRResolverTest" # Tests run: 16, Failures: 16 + "org.apache.ivy.osgi.repo.BundleRepoTest" # Tests run: 4, Failures: 3 + "org.apache.ivy.plugins.parser.m2.PomModuleDescriptorParserTest" # Tests run: 46, Failures: 1 + "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorParserTest" # Tests run: 44, Failures: 7 + "org.apache.ivy.plugins.parser.xml.XmlModuleDescriptorWriterTest" # Tests run: 10, Failures: 1 + "org.apache.ivy.plugins.parser.xml.XmlModuleUpdaterTest" # Tests run: 14, Failures: 3 + "org.apache.ivy.plugins.resolver.JarResolverTest" # Tests run: 3, Failures: 3 + # following excluded tests can pass if run individually + "org.apache.ivy.ant.IvyConfigureTest" # OK (14 tests) + "org.apache.ivy.IvyTest" # OK (1 test) + "org.apache.ivy.MainTest" # OK (12 tests) + "org.apache.ivy.plugins.report.XmlReportWriterTest" # OK (3 tests) + "org.apache.ivy.plugins.resolver.BintrayResolverTest" # OK (12 tests) + "org.apache.ivy.plugins.resolver.ChainResolverTest" # OK (15 tests) + "org.apache.ivy.plugins.resolver.FileSystemResolverTest" # OK (27 tests) + "org.apache.ivy.plugins.resolver.IBiblioMavenSnapshotsResolutionTest" # OK (1 test) + "org.apache.ivy.plugins.resolver.IvyRepResolverTest" # OK (3 tests) + "org.apache.ivy.plugins.resolver.Maven2LocalTest" # OK (2 tests) + "org.apache.ivy.plugins.resolver.PackagerResolverTest" # OK (3 tests) + "org.apache.ivy.plugins.resolver.URLResolverTest" # OK (5 tests) + "org.apache.ivy.plugins.trigger.LogTriggerTest" # OK (3 tests) + # Without PROPERTIES="test_network", the following test cause additional failures. + "org.apache.ivy.core.settings.OnlineXmlSettingsParserTest" +# "org.apache.ivy.osgi.updatesite.UpdateSiteAndIbiblioResolverTest" + "org.apache.ivy.osgi.updatesite.UpdateSiteLoaderTest" +# "org.apache.ivy.plugins.resolver.IBiblioResolverTest" +# "org.apache.ivy.plugins.resolver.MirroredURLResolverTest" + "org.apache.ivy.util.url.ArtifactoryListingTest" +# "org.apache.ivy.util.url.BasicURLHandlerTest" +# "org.apache.ivy.util.url.HttpclientURLHandlerTest" +) + +src_prepare() { + default + + mkdir --parents "${JAVA_RESOURCE_DIRS}/META-INF" || die + pushd "${JAVA_RESOURCE_DIRS}" + cp "${S}"/{NOTICE,LICENSE} META-INF/ || die + cp -r "${S}"/src/java/* . || die + + # DEPRECATED: 'ivyconf' element is deprecated, use 'ivysettings' instead + # according to 210,221 build.xml and still in the upstream .jar file + cp org/apache/ivy/core/settings/ivy{settings,conf}-local.xml || die + cp org/apache/ivy/core/settings/ivy{settings,conf}-default-chain.xml || die + cp org/apache/ivy/core/settings/ivy{settings,conf}-main-chain.xml || die + cp org/apache/ivy/core/settings/ivy{settings,conf}-public.xml || die + cp org/apache/ivy/core/settings/ivy{settings,conf}-shared.xml || die + cp org/apache/ivy/core/settings/ivy{settings,conf}.xml || die + + find . -type f -name '*.java' -exec rm -rf {} + || die + popd || die +} + +src_test() { + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L396-L407 + # name="build-custom-resolver-jar" + JAVA_SRC_DIR="test/custom-classpath" + JAVA_JAR_FILENAME="test/java/org/apache/ivy/core/settings/custom-resolver.jar" + java-pkg-simple_src_compile + + # Without "license.xml" the tests won't even start. "Tests run: 1109, Failures: 318" + jar -cf test.jar \ + -C test/java org/apache/ivy/plugins/parser/xml/license.xml \ + -C test/java org/apache/ivy/plugins/parser/m2/license.xml || die + + # Reduce number of failures to "Tests run: 1109, Failures: 98" + jar -uf "test.jar" -C test/java . || die + + # Separate *.java files from test resources + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L389-L393 + mkdir test-src || die + cp -r test/java test-src/ || die + find test -type f -name '*.java' -exec rm -rf {} + || die + + # https://github.com/apache/ant-ivy/blob/48234fc5ede85a865eb874a96c08472ce1751fd1/build.xml#L430-L438 + # name="prepare-test-jar-repositories" + mkdir test/jar-repos || die + jar -cfM "test/jar-repos/jarrepo1.jar" -C test/repositories/1 . || die +# jar -cfM "test/jar-repos/jarrepo1_subdir.jar" -C test/repositories 1/**/*/ || die + + java-pkg-simple_src_test +} + +src_install() { + default + java-osgi_dojar-fromfile "ant-ivy.jar" "META-INF/MANIFEST.MF" "ant-ivy" + use doc && java-pkg_dojavadoc target/api + use source && java-pkg_dosrc src/* +} -- cgit v1.2.3