summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Peter Christen <mc@yacy.net>2022-12-05 14:26:17 +0100
committerMichael Peter Christen <mc@yacy.net>2022-12-05 14:26:17 +0100
commitb1199e97f82376458e3693097a85a779ffe62175 (patch)
treeebb62ccd7001122cdf70cc7056932305f788b303
parent5d9587fc1db08ccc1f367bfa76088d2b36ffdbd5 (diff)
enabling new update location release.yacy.net
with new version numbers
-rw-r--r--defaults/yacy.network.allip.unit3
-rw-r--r--defaults/yacy.network.freeworld.unit3
-rw-r--r--defaults/yacy.network.intranet.unit3
-rw-r--r--defaults/yacy.network.webportal.unit3
-rw-r--r--source/net/yacy/htroot/ConfigUpdate_p.java1
-rw-r--r--source/net/yacy/peers/operation/yacyRelease.java60
-rw-r--r--source/net/yacy/peers/operation/yacyUpdateLocation.java15
-rw-r--r--source/net/yacy/peers/operation/yacyVersion.java12
8 files changed, 52 insertions, 48 deletions
diff --git a/defaults/yacy.network.allip.unit b/defaults/yacy.network.allip.unit
index 38b42ce56..8dafca2eb 100644
--- a/defaults/yacy.network.allip.unit
+++ b/defaults/yacy.network.allip.unit
@@ -14,8 +14,7 @@ network.unit.remotecrawl.speed = 600
# the auto-updater can access network-specific update locations
network.unit.update.location0 = https://download.yacy.net/
network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
-network.unit.update.location1 = http://kaskelix.de/update/
-network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
+network.unit.update.location1 = https://release.yacy.net/
# properties for in-protocol response authentication:
network.unit.protocol.control = uncontrolled
diff --git a/defaults/yacy.network.freeworld.unit b/defaults/yacy.network.freeworld.unit
index a7b56c9dc..596153368 100644
--- a/defaults/yacy.network.freeworld.unit
+++ b/defaults/yacy.network.freeworld.unit
@@ -72,8 +72,7 @@ network.unit.bootstrap.seedlist11 = https://s1002.xpcom-online.de/yacy/seed2.txt
# the auto-updater can access network-specific update locations
network.unit.update.location0 = https://download.yacy.net/
network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
-network.unit.update.location1 = http://kaskelix.de/update/
-network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
+network.unit.update.location1 = https://release.yacy.net/
# add github releases - binary distribution archives must be attache (uploaded) to the git release
# network.unit.update.location2 = https://github.com/yacy/yacy_search_server/releases
diff --git a/defaults/yacy.network.intranet.unit b/defaults/yacy.network.intranet.unit
index b2793dc6b..0aeee2439 100644
--- a/defaults/yacy.network.intranet.unit
+++ b/defaults/yacy.network.intranet.unit
@@ -21,8 +21,7 @@ network.unit.remotecrawl.speed = 600
# the auto-updater can access network-specific update locations
network.unit.update.location0 = https://download.yacy.net/
network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
-network.unit.update.location1 = http://kaskelix.de/update/
-network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
+network.unit.update.location1 = https://release.yacy.net/
# properties for in-protocol response authentication:
network.unit.protocol.control = uncontrolled
diff --git a/defaults/yacy.network.webportal.unit b/defaults/yacy.network.webportal.unit
index 0ea39f982..45cf12ad9 100644
--- a/defaults/yacy.network.webportal.unit
+++ b/defaults/yacy.network.webportal.unit
@@ -18,8 +18,7 @@ network.unit.remotecrawl.speed = 1
# the auto-updater can access network-specific update locations
network.unit.update.location0 = https://download.yacy.net/
network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
-network.unit.update.location1 = http://kaskelix.de/update/
-network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk=
+network.unit.update.location1 = https://release.yacy.net/
# properties for in-protocol response authentication:
network.unit.protocol.control = uncontrolled
diff --git a/source/net/yacy/htroot/ConfigUpdate_p.java b/source/net/yacy/htroot/ConfigUpdate_p.java
index 867432f18..91adf5d0b 100644
--- a/source/net/yacy/htroot/ConfigUpdate_p.java
+++ b/source/net/yacy/htroot/ConfigUpdate_p.java
@@ -66,7 +66,6 @@ public class ConfigUpdate_p {
prop.put("candeploy", "0");
}
-
prop.put("candeploy_configCommit", "0");
prop.put("candeploy_autoUpdate", "0");
prop.put("candeploy_downloadsAvailable", "0");
diff --git a/source/net/yacy/peers/operation/yacyRelease.java b/source/net/yacy/peers/operation/yacyRelease.java
index 78ad4ce3e..93d5d8887 100644
--- a/source/net/yacy/peers/operation/yacyRelease.java
+++ b/source/net/yacy/peers/operation/yacyRelease.java
@@ -233,8 +233,8 @@ public final class yacyRelease extends yacyVersion {
Thread.currentThread().setName("allReleaseFrom - host " + uri.getHost()); // makes it more easy to see which release blocks process in thread dump
scraper = Switchboard.getSwitchboard().loader.loadDocument(uri, CacheStrategy.NOCACHE, null, ClientIdentification.yacyInternetCrawlerAgent);
} catch (final IOException e) {
- /* Restore the thread initial name */
- Thread.currentThread().setName(initialThreadName);
+ /* Restore the thread initial name */
+ Thread.currentThread().setName(initialThreadName);
return null;
}
@@ -260,8 +260,8 @@ public final class yacyRelease extends yacyVersion {
}
Switchboard.getSwitchboard().setConfig("update.time.lookup", System.currentTimeMillis());
- /* Restore the thread initial name */
- Thread.currentThread().setName(initialThreadName);
+ /* Restore the thread initial name */
+ Thread.currentThread().setName(initialThreadName);
return new DevAndMainVersions(devReleases, mainReleases);
}
@@ -290,30 +290,26 @@ public final class yacyRelease extends yacyVersion {
// download signature first, if public key is available
try {
if (this.publicKey != null) {
- final Request request = Switchboard.getSwitchboard().loader
- .request(new DigestURL(getUrl().toString() + ".sig"), true, false);
- final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE,
- Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent);
- byte[] signatureData = null;
- if(response != null && response.validResponseStatus()) {
- signatureData = response.getContent();
- }
+ final Request request = Switchboard.getSwitchboard().loader.request(new DigestURL(getUrl().toString() + ".sig"), true, false);
+ final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE, Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent);
+ byte[] signatureData = null;
+ if (response != null && response.validResponseStatus()) {
+ signatureData = response.getContent();
+ }
if (signatureData == null) {
ConcurrentLog.warn("yacyVersion", "download of signature " + getUrl().toString() + " failed. ignoring signature file.");
}
else signatureBytes = Base64Order.standardCoder.decode(UTF8.String(signatureData).trim());
}
-
- final Request request = Switchboard.getSwitchboard().loader.request(new DigestURL(getUrl().toString()),
- true, false);
- final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE,
- Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent);
- if(response == null) {
- throw new IOException("Could not get a response");
- }
- if(!response.validResponseStatus()) {
- /* HTTP status is not OK : let's stop here to avoid creating a invalid download file*/
- throw new IOException("HTTP response status code : " + response.getStatus());
+
+ final Request request = Switchboard.getSwitchboard().loader.request(new DigestURL(getUrl().toString()), true, false);
+ final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE, Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent);
+ if (response == null) {
+ throw new IOException("Could not get a response");
+ }
+ if (!response.validResponseStatus()) {
+ /* HTTP status is not OK : let's stop here to avoid creating a invalid download file*/
+ throw new IOException("HTTP response status code : " + response.getStatus());
}
final ResponseHeader header = response.getResponseHeader();
@@ -326,10 +322,10 @@ public final class yacyRelease extends yacyVersion {
if (this.publicKey != null && signatureBytes != null) {
// copy to file and check signature
try (
- /* Resources automatically closed by this try-with-resources statement */
- final FileOutputStream fileOutStream = new FileOutputStream(download);
- final SignatureOutputStream verifyOutput = new SignatureOutputStream(fileOutStream, CryptoLib.signAlgorithm, this.publicKey);
- final BufferedOutputStream bufferedStream = new BufferedOutputStream(verifyOutput);
+ /* Resources automatically closed by this try-with-resources statement */
+ final FileOutputStream fileOutStream = new FileOutputStream(download);
+ final SignatureOutputStream verifyOutput = new SignatureOutputStream(fileOutStream, CryptoLib.signAlgorithm, this.publicKey);
+ final BufferedOutputStream bufferedStream = new BufferedOutputStream(verifyOutput);
) {
FileUtils.copy(response.getContent(), bufferedStream);
@@ -346,11 +342,11 @@ public final class yacyRelease extends yacyVersion {
} else {
// just copy into file
try (
- /* Resources automatically closed by this try-with-resources statement */
- final FileOutputStream fileOutStream = new FileOutputStream(download);
- final BufferedOutputStream downloadOutStream = new BufferedOutputStream(fileOutStream);
+ /* Resources automatically closed by this try-with-resources statement */
+ final FileOutputStream fileOutStream = new FileOutputStream(download);
+ final BufferedOutputStream downloadOutStream = new BufferedOutputStream(fileOutStream);
) {
- FileUtils.copy(response.getContent(), downloadOutStream);
+ FileUtils.copy(response.getContent(), downloadOutStream);
}
}
if ((!download.exists()) || (download.length() == 0)) throw new IOException("wget of url " + getUrl() + " failed");
@@ -470,7 +466,7 @@ public final class yacyRelease extends yacyVersion {
* @return true when release file has been successfully extracted and asynchronous update has been triggered
*/
public static boolean deployRelease(final File releaseFile) {
- boolean restartTriggered = false;
+ boolean restartTriggered = false;
try {
final Switchboard sb = Switchboard.getSwitchboard();
ConcurrentLog.info("UPDATE", "INITIATED");
diff --git a/source/net/yacy/peers/operation/yacyUpdateLocation.java b/source/net/yacy/peers/operation/yacyUpdateLocation.java
index 4e3cad907..09d75de19 100644
--- a/source/net/yacy/peers/operation/yacyUpdateLocation.java
+++ b/source/net/yacy/peers/operation/yacyUpdateLocation.java
@@ -37,18 +37,25 @@ import net.yacy.cora.document.id.DigestURL;
*
*/
public class yacyUpdateLocation {
+
private final DigestURL locationURL;
private final PublicKey publicKey;
public yacyUpdateLocation(DigestURL locationURL, PublicKey publicKey) {
- this.locationURL = locationURL;
- this.publicKey = publicKey;
+ this.locationURL = locationURL;
+ this.publicKey = publicKey;
}
public DigestURL getLocationURL() {
- return this.locationURL;
+ return this.locationURL;
}
+
public PublicKey getPublicKey() {
- return this.publicKey;
+ return this.publicKey;
}
+
+ public String toString() {
+ return this.locationURL.toString();
+ }
+
}
diff --git a/source/net/yacy/peers/operation/yacyVersion.java b/source/net/yacy/peers/operation/yacyVersion.java
index b65bf4f85..edc1f299a 100644
--- a/source/net/yacy/peers/operation/yacyVersion.java
+++ b/source/net/yacy/peers/operation/yacyVersion.java
@@ -17,6 +17,7 @@ public class yacyVersion implements Comparator<yacyVersion>, Comparable<yacyVers
private double releaseNr;
private final String dateStamp;
private int svn;
+ private String git;
private final boolean mainRelease;
private final String name;
@@ -27,6 +28,7 @@ public class yacyVersion implements Comparator<yacyVersion>, Comparable<yacyVers
* <ul>
* <li>yacy_dev_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz</li>
* <li>yacy_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz</li>
+ * <li>yacy_v1.926_202212010112_d6731e3e3.tar.gz</li>
* </ul>
* i.e. yacy_v0.51_20070321_3501.tar.gz
* @param release
@@ -58,17 +60,21 @@ public class yacyVersion implements Comparator<yacyVersion>, Comparable<yacyVers
this.mainRelease = ((int) (getReleaseNr() * 100)) % 10 == 0 || (host != null && host.endsWith("yacy.net"));
//System.out.println("Release version " + this.releaseNr + " is " + ((this.mainRelease) ? "main" : "std"));
this.dateStamp = comp[1];
- if (getDateStamp().length() != 8) {
- throw new RuntimeException("release file name '" + release + "' is not valid, '" + comp[1] + "' should be a 8-digit date string");
+ if (this.dateStamp.length() != 8 && this.dateStamp.length() != 12) {
+ throw new RuntimeException("release file name '" + release + "' is not valid, '" + comp[1] + "' should be a 8 or 12-digit date string");
}
if (comp.length > 2) {
try {
this.svn = Integer.parseInt(comp[2]);
+ this.git = "";
} catch (final NumberFormatException e) {
- throw new RuntimeException("release file name '" + release + "' is not valid, '" + comp[2] + "' should be a integer number");
+ // this is not a number, so it is a new release name using an git version hash
+ this.svn = 0;
+ this.git = comp[2];
}
} else {
this.svn = 0; // we migrate to git
+ this.git = "";
}
// finished! we parsed a relase string
}