Merge branch 'ref-abstract' * ref-abstract: Optimize RefAdvertiser performance by avoiding sorting branch: Add -m option to rename a branch Replace writeSymref with RefUpdate.link Rewrite reference handling to be abstract and accurate Create new RefList and RefMap utility types Change-Id: If43aacf5aa4013edbd0a6e84d84c4f9e94de5be0
diff --git a/org.eclipse.jgit.console/pom.xml b/org.eclipse.jgit.console/pom.xml index 1dea0d8..f91793a 100644 --- a/org.eclipse.jgit.console/pom.xml +++ b/org.eclipse.jgit.console/pom.xml
@@ -2,6 +2,7 @@ <!-- Copyright (C) 2009, Google Inc. Copyright (C) 2008, Imran M Yousuf <imyousuf@smartitengineering.com> + Copyright (C) 2010, Matthias Sohn <matthias.sohn@sap.com> and other copyright owners as documented in the project's IP log. This program and the accompanying materials are made available @@ -61,6 +62,10 @@ Console based user interface </description> + <properties> + <translate-qualifier/> + </properties> + <dependencies> <dependency> <groupId>org.eclipse.jgit</groupId> @@ -86,7 +91,7 @@ <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> + <manifestFile>${bundle-manifest}</manifestFile> </archive> </configuration> </plugin>
diff --git a/org.eclipse.jgit.http.server/pom.xml b/org.eclipse.jgit.http.server/pom.xml index cb49402..65101b6 100644 --- a/org.eclipse.jgit.http.server/pom.xml +++ b/org.eclipse.jgit.http.server/pom.xml
@@ -2,6 +2,7 @@ <!-- Copyright (C) 2009-2010, Google Inc. Copyright (C) 2008, Imran M Yousuf <imyousuf@smartitengineering.com> + Copyright (C) 2010, Matthias Sohn <matthias.sohn@sap.com> and other copyright owners as documented in the project's IP log. This program and the accompanying materials are made available @@ -61,6 +62,10 @@ Git aware HTTP server implementation. </description> + <properties> + <translate-qualifier/> + </properties> + <dependencies> <dependency> <groupId>org.eclipse.jgit</groupId> @@ -92,7 +97,7 @@ <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> + <manifestFile>${bundle-manifest}</manifestFile> </archive> </configuration> </plugin>
diff --git a/org.eclipse.jgit.junit/pom.xml b/org.eclipse.jgit.junit/pom.xml index 095d21a..e2973fa 100644 --- a/org.eclipse.jgit.junit/pom.xml +++ b/org.eclipse.jgit.junit/pom.xml
@@ -2,6 +2,7 @@ <!-- Copyright (C) 2009, Google Inc. Copyright (C) 2008, Imran M Yousuf <imyousuf@smartitengineering.com> + Copyright (C) 2010, Matthias Sohn <matthias.sohn@sap.com> and other copyright owners as documented in the project's IP log. This program and the accompanying materials are made available @@ -61,6 +62,10 @@ Utility classes to support JUnit testing of JGit applications. </description> + <properties> + <translate-qualifier/> + </properties> + <dependencies> <dependency> <groupId>org.eclipse.jgit</groupId> @@ -92,7 +97,7 @@ <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> + <manifestFile>${bundle-manifest}</manifestFile> </archive> </configuration> </plugin>
diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java index ddace0d..001deb2 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java
@@ -286,7 +286,7 @@ protected Repository createWorkRepository() throws IOException { */ private Repository createRepository(boolean bare) throws IOException { String uniqueId = System.currentTimeMillis() + "_" + (testCount++); - String gitdirName = "test" + uniqueId + (bare ? "" : "/") + ".git"; + String gitdirName = "test" + uniqueId + (bare ? "" : "/") + Constants.DOT_GIT; File gitdir = new File(trash, gitdirName).getCanonicalFile(); Repository db = new Repository(gitdir);
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/.gitignore b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/.gitignore
@@ -0,0 +1 @@ +target/
diff --git a/org.eclipse.jgit-feature/.project b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/.project similarity index 89% rename from org.eclipse.jgit-feature/.project rename to org.eclipse.jgit.packaging/org.eclipse.jgit.feature/.project index 80b0953..aaee80f 100644 --- a/org.eclipse.jgit-feature/.project +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/.project
@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>org.eclipse.jgit-feature</name> + <name>org.eclipse.jgit.feature</name> <comment></comment> <projects> </projects>
diff --git a/org.eclipse.jgit-feature/build.properties b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/build.properties similarity index 100% rename from org.eclipse.jgit-feature/build.properties rename to org.eclipse.jgit.packaging/org.eclipse.jgit.feature/build.properties
diff --git a/org.eclipse.jgit-feature/feature.properties b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.properties similarity index 100% rename from org.eclipse.jgit-feature/feature.properties rename to org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.properties
diff --git a/org.eclipse.jgit-feature/feature.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml similarity index 92% rename from org.eclipse.jgit-feature/feature.xml rename to org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml index 9facbe0..5cc5b84 100644 --- a/org.eclipse.jgit-feature/feature.xml +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/feature.xml
@@ -5,7 +5,7 @@ version="0.6.0.qualifier" provider-name="%providerName"> - <description url="http://www.eclipse.org/egit/"> + <description url="http://www.eclipse.org/jgit/"> %description </description>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml new file mode 100644 index 0000000..89fbbcc --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.feature/pom.xml
@@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2009-2010, Matthias Sohn <matthias.sohn@sap.com> + and other copyright owners as documented in the project's IP log. + + This program and the accompanying materials are made available + under the terms of the Eclipse Distribution License v1.0 which + accompanies this distribution, is reproduced below, and is + available at http://www.eclipse.org/org/documents/edl-v10.php + + All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the + names of its contributors may be used to endorse or promote + products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.eclipse.jgit</groupId> + <artifactId>jgit.tycho.parent</artifactId> + <version>0.6.0-SNAPSHOT</version> + </parent> + + <artifactId>org.eclipse.jgit.feature</artifactId> + <packaging>eclipse-feature</packaging> + + <name>JGit Feature (Incubation)</name> + + <dependencies> + <dependency> + <groupId>org.eclipse.jgit</groupId> + <artifactId>org.eclipse.jgit</artifactId> + <version>0.6.0-SNAPSHOT</version> + </dependency> + </dependencies> + +</project>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.gitignore b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.gitignore
@@ -0,0 +1 @@ +target/
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.project b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.project new file mode 100644 index 0000000..be21ac0 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.project
@@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.jgit.updatesite</name> + <comment></comment> + <projects> + <project>org.eclipse.jgit</project> + <project>org.eclipse.jgit.feature</project> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.pde.UpdateSiteBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.UpdateSiteNature</nature> + </natures> +</projectDescription>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.settings/org.eclipse.core.resources.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..4ec836b --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@ +#Mon Aug 11 16:46:54 PDT 2008 +eclipse.preferences.version=1 +encoding/<project>=UTF-8
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.settings/org.eclipse.core.runtime.prefs b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 0000000..fc5b578 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,3 @@ +#Mon Mar 24 18:55:44 EDT 2008 +eclipse.preferences.version=1 +line.separator=\n
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/assembly.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/assembly.xml new file mode 100644 index 0000000..0d258f7 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/assembly.xml
@@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<assembly> + <id>site</id> + <formats> + <format>zip</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + <fileSets> + <fileSet> + <directory>${project.build.directory}/site</directory> + <outputDirectory>/</outputDirectory> + </fileSet> + </fileSets> +</assembly> +
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/index.html b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/index.html new file mode 100644 index 0000000..9872ba6 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/index.html
@@ -0,0 +1,60 @@ +<html> +<head> +<title>org.eclipse.jgit.updatesite</title> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<style>@import url("web/site.css");</style> +<script type="text/javascript"> + var returnval = 0; + var stylesheet, xmlFile, cache, doc; + function init(){ + // NSCP 7.1+ / Mozilla 1.4.1+ / Safari + // Use the standard DOM Level 2 technique, if it is supported + if (document.implementation && document.implementation.createDocument) { + xmlFile = document.implementation.createDocument("", "", null); + stylesheet = document.implementation.createDocument("", "", null); + if (xmlFile.load){ + xmlFile.load("site.xml"); + stylesheet.load("web/site.xsl"); + } else { + alert("Document could not be loaded by browser."); + } + xmlFile.addEventListener("load", transform, false); + stylesheet.addEventListener("load", transform, false); + } + //IE 6.0+ solution + else if (window.ActiveXObject) { + xmlFile = new ActiveXObject("msxml2.DOMDocument.3.0"); + xmlFile.async = false; + xmlFile.load("site.xml"); + stylesheet = new ActiveXObject("msxml2.FreeThreadedDOMDocument.3.0"); + stylesheet.async = false; + stylesheet.load("web/site.xsl"); + cache = new ActiveXObject("msxml2.XSLTemplate.3.0"); + cache.stylesheet = stylesheet; + transformData(); + } + } + // separate transformation function for IE 6.0+ + function transformData(){ + var processor = cache.createProcessor(); + processor.input = xmlFile; + processor.transform(); + data.innerHTML = processor.output; + } + // separate transformation function for NSCP 7.1+ and Mozilla 1.4.1+ + function transform(){ + returnval+=1; + if (returnval==2){ + var processor = new XSLTProcessor(); + processor.importStylesheet(stylesheet); + doc = processor.transformToDocument(xmlFile); + document.getElementById("data").innerHTML = doc.documentElement.innerHTML; + } + } +</script> +</head> +<body onload="init();"> +<!--[insert static HTML here]--> +<div id="data"><!-- this is where the transformed data goes --></div> +</body> +</html>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml new file mode 100644 index 0000000..cdf4502 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/pom.xml
@@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2009-2010, Matthias Sohn <matthias.sohn@sap.com> + and other copyright owners as documented in the project's IP log. + + This program and the accompanying materials are made available + under the terms of the Eclipse Distribution License v1.0 which + accompanies this distribution, is reproduced below, and is + available at http://www.eclipse.org/org/documents/edl-v10.php + + All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the + names of its contributors may be used to endorse or promote + products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.eclipse.jgit</groupId> + <artifactId>jgit.tycho.parent</artifactId> + <version>0.6.0-SNAPSHOT</version> + </parent> + + <artifactId>org.eclipse.jgit.updatesite</artifactId> + <packaging>eclipse-update-site</packaging> + + <name>Eclipse JGit Plugin Update Site (Incubation)</name> + + <dependencies> + <dependency> + <groupId>org.eclipse.jgit</groupId> + <artifactId>org.eclipse.jgit</artifactId> + <version>0.6.0-SNAPSHOT</version> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.2-beta-4</version> + <configuration> + <descriptors> + <descriptor>assembly.xml</descriptor> + </descriptors> + </configuration> + <executions> + <execution> + <id>make-assembly</id> + <phase>package</phase> + <goals> + <goal>single</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + <!-- see http://issues.sonatype.org/browse/TYCHO-313 --> + <version>0.6.0</version> + +</project>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/site.xml b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/site.xml new file mode 100644 index 0000000..ab13de9 --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/site.xml
@@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<site> + <description url="JGit"> + This is a pure Java implementation of the Git version control system. The native Git version is also required in this version. + </description> + <feature url="features/org.eclipse.jgit_0.0.0.qualifier.jar" id="org.eclipse.jgit" version="0.0.0" patch="true"> + <category name="JGit (Incubation)"/> + </feature> + <category-def name="JGit (Incubation)" label="JGit (Incubation)"> + <description> + JGit (Incubation) + </description> + </category-def> +</site>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/web/site.css b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/web/site.css new file mode 100644 index 0000000..62c6f9f --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/web/site.css
@@ -0,0 +1,12 @@ +<STYLE type="text/css"> +td.spacer {padding-bottom: 10px; padding-top: 10px;} +.title { font-family: sans-serif; color: #99AACC;} +.bodyText { font-family: sans-serif; font-size: 9pt; color:#000000; } +.sub-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white;} +.log-text {font-family: sans-serif; font-style: normal; font-weight: lighter; font-size: 8pt; color:black;} +.big-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white; border-top:10px solid white;} +.light-row {background:#FFFFFF} +.dark-row {background:#EEEEFF} +.header {background:#99AADD} +#indent {word-wrap : break-word;width :300px;text-indent:10px;} +</STYLE>
diff --git a/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/web/site.xsl b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/web/site.xsl new file mode 100644 index 0000000..7620ffa --- /dev/null +++ b/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/web/site.xsl
@@ -0,0 +1,214 @@ +<xsl:stylesheet version = '1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns:msxsl="urn:schemas-microsoft-com:xslt"> +<xsl:output method="html" encoding="UTF-8"/> +<xsl:key name="cat" match="category" use="@name"/> +<xsl:template match="/"> +<xsl:for-each select="site"> + <html> + <head> + <title>org.eclipse.jgit.updatesite</title> + <style>@import url("web/site.css");</style> + </head> + <body> + <h1 class="title">org.eclipse.jgit.updatesite</h1> + <p class="bodyText"><xsl:value-of select="description"/></p> + <table width="100%" border="0" cellspacing="1" cellpadding="2"> + <xsl:for-each select="category-def"> + <xsl:sort select="@label" order="ascending" case-order="upper-first"/> + <xsl:sort select="@name" order="ascending" case-order="upper-first"/> + <xsl:if test="count(key('cat',@name)) != 0"> + <tr class="header"> + <td class="sub-header" width="30%"> + <xsl:value-of select="@name"/> + </td> + <td class="sub-header" width="70%"> + <xsl:value-of select="@label"/> + </td> + </tr> + <xsl:for-each select="key('cat',@name)"> + <xsl:sort select="ancestor::feature//@version" order="ascending"/> + <xsl:sort select="ancestor::feature//@id" order="ascending" case-order="upper-first"/> + <tr> + <xsl:choose> + <xsl:when test="(position() mod 2 = 1)"> + <xsl:attribute name="class">dark-row</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class">light-row</xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <td class="log-text" id="indent"> + <xsl:choose> + <xsl:when test="ancestor::feature//@label"> + <a href="{ancestor::feature//@url}"><xsl:value-of select="ancestor::feature//@label"/></a> + <br/> + <div id="indent"> + (<xsl:value-of select="ancestor::feature//@id"/> - <xsl:value-of select="ancestor::feature//@version"/>) + </div> + </xsl:when> + <xsl:otherwise> + <a href="{ancestor::feature//@url}"><xsl:value-of select="ancestor::feature//@id"/> - <xsl:value-of select="ancestor::feature//@version"/></a> + </xsl:otherwise> + </xsl:choose> + <br /> + </td> + <td> + <table> + <xsl:if test="ancestor::feature//@os"> + <tr><td class="log-text" id="indent">Operating Systems:</td> + <td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@os"/></td> + </tr> + </xsl:if> + <xsl:if test="ancestor::feature//@ws"> + <tr><td class="log-text" id="indent">Windows Systems:</td> + <td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@ws"/></td> + </tr> + </xsl:if> + <xsl:if test="ancestor::feature//@nl"> + <tr><td class="log-text" id="indent">Languages:</td> + <td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@nl"/></td> + </tr> + </xsl:if> + <xsl:if test="ancestor::feature//@arch"> + <tr><td class="log-text" id="indent">Architecture:</td> + <td class="log-text" id="indent"><xsl:value-of select="ancestor::feature//@arch"/></td> + </tr> + </xsl:if> + </table> + </td> + </tr> + </xsl:for-each> + <tr><td class="spacer"><br/></td><td class="spacer"><br/></td></tr> + </xsl:if> + </xsl:for-each> + <xsl:if test="count(feature) > count(feature/category)"> + <tr class="header"> + <td class="sub-header" colspan="2"> + Uncategorized + </td> + </tr> + </xsl:if> + <xsl:choose> + <xsl:when test="function-available('msxsl:node-set')"> + <xsl:variable name="rtf-nodes"> + <xsl:for-each select="feature[not(category)]"> + <xsl:sort select="@id" order="ascending" case-order="upper-first"/> + <xsl:sort select="@version" order="ascending" /> + <xsl:value-of select="."/> + <xsl:copy-of select="." /> + </xsl:for-each> + </xsl:variable> + <xsl:variable name="myNodeSet" select="msxsl:node-set($rtf-nodes)/*"/> + <xsl:for-each select="$myNodeSet"> + <tr> + <xsl:choose> + <xsl:when test="position() mod 2 = 1"> + <xsl:attribute name="class">dark-row</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class">light-row</xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <td class="log-text" id="indent"> + <xsl:choose> + <xsl:when test="@label"> + <a href="{@url}"><xsl:value-of select="@label"/></a> + <br /> + <div id="indent"> + (<xsl:value-of select="@id"/> - <xsl:value-of select="@version"/>) + </div> + </xsl:when> + <xsl:otherwise> + <a href="{@url}"><xsl:value-of select="@id"/> - <xsl:value-of select="@version"/></a> + </xsl:otherwise> + </xsl:choose> + <br /><br /> + </td> + <td> + <table> + <xsl:if test="@os"> + <tr><td class="log-text" id="indent">Operating Systems:</td> + <td class="log-text" id="indent"><xsl:value-of select="@os"/></td> + </tr> + </xsl:if> + <xsl:if test="@ws"> + <tr><td class="log-text" id="indent">Windows Systems:</td> + <td class="log-text" id="indent"><xsl:value-of select="@ws"/></td> + </tr> + </xsl:if> + <xsl:if test="@nl"> + <tr><td class="log-text" id="indent">Languages:</td> + <td class="log-text" id="indent"><xsl:value-of select="@nl"/></td> + </tr> + </xsl:if> + <xsl:if test="@arch"> + <tr><td class="log-text" id="indent">Architecture:</td> + <td class="log-text" id="indent"><xsl:value-of select="@arch"/></td> + </tr> + </xsl:if> + </table> + </td> + </tr> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:for-each select="feature[not(category)]"> + <xsl:sort select="@id" order="ascending" case-order="upper-first"/> + <xsl:sort select="@version" order="ascending" /> + <tr> + <xsl:choose> + <xsl:when test="count(preceding-sibling::feature[not(category)]) mod 2 = 1"> + <xsl:attribute name="class">dark-row</xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="class">light-row</xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <td class="log-text" id="indent"> + <xsl:choose> + <xsl:when test="@label"> + <a href="{@url}"><xsl:value-of select="@label"/></a> + <br /> + <div id="indent"> + (<xsl:value-of select="@id"/> - <xsl:value-of select="@version"/>) + </div> + </xsl:when> + <xsl:otherwise> + <a href="{@url}"><xsl:value-of select="@id"/> - <xsl:value-of select="@version"/></a> + </xsl:otherwise> + </xsl:choose> + <br /><br /> + </td> + <td> + <table> + <xsl:if test="@os"> + <tr><td class="log-text" id="indent">Operating Systems:</td> + <td class="log-text" id="indent"><xsl:value-of select="@os"/></td> + </tr> + </xsl:if> + <xsl:if test="@ws"> + <tr><td class="log-text" id="indent">Windows Systems:</td> + <td class="log-text" id="indent"><xsl:value-of select="@ws"/></td> + </tr> + </xsl:if> + <xsl:if test="@nl"> + <tr><td class="log-text" id="indent">Languages:</td> + <td class="log-text" id="indent"><xsl:value-of select="@nl"/></td> + </tr> + </xsl:if> + <xsl:if test="@arch"> + <tr><td class="log-text" id="indent">Architecture:</td> + <td class="log-text" id="indent"><xsl:value-of select="@arch"/></td> + </tr> + </xsl:if> + </table> + </td> + </tr> + </xsl:for-each> + </xsl:otherwise> + </xsl:choose> + </table> + </body> + </html> +</xsl:for-each> +</xsl:template> +</xsl:stylesheet>
diff --git a/org.eclipse.jgit.packaging/pom.xml b/org.eclipse.jgit.packaging/pom.xml new file mode 100644 index 0000000..3c21e26 --- /dev/null +++ b/org.eclipse.jgit.packaging/pom.xml
@@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (C) 2009-2010, Matthias Sohn <matthias.sohn@sap.com> + and other copyright owners as documented in the project's IP log. + + This program and the accompanying materials are made available + under the terms of the Eclipse Distribution License v1.0 which + accompanies this distribution, is reproduced below, and is + available at http://www.eclipse.org/org/documents/edl-v10.php + + All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, are permitted provided that the following + conditions are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + + - Neither the name of the Eclipse Foundation, Inc. nor the + names of its contributors may be used to endorse or promote + products derived from this software without specific prior + written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> + +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <prerequisites> + <maven>3.0</maven> + </prerequisites> + + <groupId>org.eclipse.jgit</groupId> + <artifactId>jgit.tycho.parent</artifactId> + <version>0.6.0-SNAPSHOT</version> + <packaging>pom</packaging> + + <name>JGit Tycho Parent (Incubation)</name> + + <properties> + <tycho-version>0.6.0</tycho-version> + <eclipse-site>http://download.eclipse.org/releases/galileo</eclipse-site> + </properties> + + <modules> + <module>org.eclipse.jgit.feature</module> + <module>org.eclipse.jgit.updatesite</module> + </modules> + + <repositories> + <repository> + <id>galileo</id> + <layout>p2</layout> + <url>${eclipse-site}</url> + </repository> + </repositories> + + <build> + <plugins> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>tycho-maven-plugin</artifactId> + <version>${tycho-version}</version> + <extensions>true</extensions> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho-version}</version> + <configuration> + <resolver>p2</resolver> + </configuration> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>maven-osgi-compiler-plugin</artifactId> + <version>${tycho-version}</version> + <configuration> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-resources-plugin</artifactId> + <version>2.4.1</version> + <configuration> + <encoding>ISO-8859-1</encoding> + </configuration> + </plugin> + <plugin> + <groupId>org.sonatype.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <version>${tycho-version}</version> + <configuration> + <resolver>p2</resolver> + <pomDependencies>consider</pomDependencies> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> +
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java index 571f34b..a6c50ff 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java
@@ -100,7 +100,7 @@ protected void run() throws Exception { } } if (gitdir == null) - gitdir = new File(localName, ".git"); + gitdir = new File(localName, Constants.DOT_GIT); db = new Repository(gitdir); db.create();
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java index c799222..caf4f30 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java
@@ -1,4 +1,5 @@ /* + * Copyright (C) 2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. * @@ -57,6 +58,7 @@ import javax.swing.JScrollPane; import org.eclipse.jgit.awtui.CommitGraphPane; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.revplot.PlotWalk; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevSort; @@ -125,7 +127,7 @@ protected RevWalk createWalk() { private String repoName() { final File f = db.getDirectory(); String n = f.getName(); - if (".git".equals(n)) + if (Constants.DOT_GIT.equals(n)) n = f.getParentFile().getName(); return n; }
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java index b6a4a44..a8fe7d8 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java
@@ -1,6 +1,7 @@ /* * Copyright (C) 2009, Constantine Plotnikov <constantine.plotnikov@gmail.com> * Copyright (C) 2008, Google Inc. + * Copyright (C) 2010, Robin Rosenberg <robin.rosenberg@dewire.com> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -47,6 +48,7 @@ import java.io.File; import org.kohsuke.args4j.Option; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; @Command(common = true, usage = "Create an empty git repository") @@ -62,7 +64,7 @@ protected final boolean requiresRepository() { @Override protected void run() throws Exception { if (gitdir == null) - gitdir = new File(bare ? "." : ".git"); + gitdir = new File(bare ? "." : Constants.DOT_GIT); db = new Repository(gitdir); db.create(bare); out.println("Initialized empty Git repository in "
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java index b4c5660..10ebef4 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java
@@ -228,7 +228,7 @@ private static File findGitDir() { } File current = new File("").getAbsoluteFile(); while (current != null) { - final File gitDir = new File(current, ".git"); + final File gitDir = new File(current, Constants.DOT_GIT); if (gitDir.isDirectory()) return gitDir; current = current.getParentFile();
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java index c6a6fd0..f43a279 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java
@@ -1,6 +1,6 @@ /* * Copyright (C) 2008-2009, Google Inc. - * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2009-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -47,6 +47,7 @@ import java.io.File; import org.kohsuke.args4j.Argument; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; @Command(common = false, usage = "Server side backend for 'jgit push'") @@ -63,8 +64,8 @@ protected final boolean requiresRepository() { protected void run() throws Exception { final org.eclipse.jgit.transport.ReceivePack rp; - if (new File(dstGitdir, ".git").isDirectory()) - dstGitdir = new File(dstGitdir, ".git"); + if (new File(dstGitdir, Constants.DOT_GIT).isDirectory()) + dstGitdir = new File(dstGitdir, Constants.DOT_GIT); db = new Repository(dstGitdir); if (!db.getObjectsDirectory().isDirectory()) throw die("'" + dstGitdir.getPath() + "' not a git repository");
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java index 85dbbc5..ea30899 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java
@@ -1,6 +1,6 @@ /* * Copyright (C) 2008-2009, Google Inc. - * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2009-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -48,6 +48,7 @@ import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; @Command(common = false, usage = "Server side backend for 'jgit fetch'") @@ -67,8 +68,8 @@ protected final boolean requiresRepository() { protected void run() throws Exception { final org.eclipse.jgit.transport.UploadPack rp; - if (new File(srcGitdir, ".git").isDirectory()) - srcGitdir = new File(srcGitdir, ".git"); + if (new File(srcGitdir, Constants.DOT_GIT).isDirectory()) + srcGitdir = new File(srcGitdir, Constants.DOT_GIT); db = new Repository(srcGitdir); if (!db.getObjectsDirectory().isDirectory()) throw die("'" + srcGitdir.getPath() + "' not a git repository");
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java index d4231bf..ce8a79e 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java
@@ -1,6 +1,6 @@ /* * Copyright (C) 2007, Dave Watson <dwatson@mimvista.com> - * Copyright (C) 2007-2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2007-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2006-2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. * @@ -57,7 +57,7 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { public void test001_Initalize() { - final File gitdir = new File(trash, ".git"); + final File gitdir = new File(trash, Constants.DOT_GIT); final File objects = new File(gitdir, "objects"); final File objects_pack = new File(objects, "pack"); final File objects_info = new File(objects, "info"); @@ -97,11 +97,11 @@ public void test000_openRepoBadArgs() throws IOException { */ public void test000_openrepo_default_gitDirSet() throws IOException { File repo1Parent = new File(trash.getParentFile(), "r1"); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(repo1Parent, r.getWorkDir()); @@ -117,11 +117,11 @@ public void test000_openrepo_default_gitDirSet() throws IOException { */ public void test000_openrepo_default_gitDirAndWorkTreeSet() throws IOException { File repo1Parent = new File(trash.getParentFile(), "r1"); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, repo1Parent.getParentFile()); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(repo1Parent.getParentFile(), r.getWorkDir()); @@ -137,11 +137,11 @@ public void test000_openrepo_default_gitDirAndWorkTreeSet() throws IOException { */ public void test000_openrepo_default_workDirSet() throws IOException { File repo1Parent = new File(trash.getParentFile(), "r1"); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(null, repo1Parent); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(repo1Parent, r.getWorkDir()); @@ -159,14 +159,14 @@ public void test000_openrepo_default_absolute_workdirconfig() File repo1Parent = new File(trash.getParentFile(), "r1"); File workdir = new File(trash.getParentFile(), "rw"); workdir.mkdir(); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.getConfig().setString("core", null, "worktree", workdir.getAbsolutePath()); repo1initial.getConfig().save(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(workdir, r.getWorkDir()); @@ -184,14 +184,14 @@ public void test000_openrepo_default_relative_workdirconfig() File repo1Parent = new File(trash.getParentFile(), "r1"); File workdir = new File(trash.getParentFile(), "rw"); workdir.mkdir(); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.getConfig() .setString("core", null, "worktree", "../../rw"); repo1initial.getConfig().save(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(workdir, r.getWorkDir()); @@ -211,11 +211,11 @@ public void test000_openrepo_alternate_index_file_and_objdirs() File indexFile = new File(trash, "idx"); File objDir = new File(trash, "../obj"); File[] altObjDirs = new File[] { db.getObjectsDirectory() }; - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null, objDir, altObjDirs, indexFile); assertEqualsPath(theDir, r.getDirectory());
diff --git a/org.eclipse.jgit.ui/pom.xml b/org.eclipse.jgit.ui/pom.xml index a0e9089..04b8049 100644 --- a/org.eclipse.jgit.ui/pom.xml +++ b/org.eclipse.jgit.ui/pom.xml
@@ -2,6 +2,7 @@ <!-- Copyright (C) 2009, Google Inc. Copyright (C) 2008, Imran M Yousuf <imyousuf@smartitengineering.com> + Copyright (C) 2010, Matthias Sohn <matthias.sohn@sap.com> and other copyright owners as documented in the project's IP log. This program and the accompanying materials are made available @@ -61,6 +62,10 @@ AWT/Swing based UI </description> + <properties> + <translate-qualifier/> + </properties> + <dependencies> <dependency> <groupId>org.eclipse.jgit</groupId> @@ -86,7 +91,7 @@ <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> + <manifestFile>${bundle-manifest}</manifestFile> </archive> </configuration> </plugin>
diff --git a/org.eclipse.jgit/.project b/org.eclipse.jgit/.project index 19aeef1..d785b65 100644 --- a/org.eclipse.jgit/.project +++ b/org.eclipse.jgit/.project
@@ -20,9 +20,15 @@ <arguments> </arguments> </buildCommand> + <buildCommand> + <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.pde.PluginNature</nature> + <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> </natures> </projectDescription>
diff --git a/org.eclipse.jgit/.settings/org.eclipse.pde.core.prefs b/org.eclipse.jgit/.settings/org.eclipse.pde.core.prefs new file mode 100644 index 0000000..82793f2 --- /dev/null +++ b/org.eclipse.jgit/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@ +#Thu Jan 14 14:34:32 CST 2010 +eclipse.preferences.version=1 +resolve.requirebundle=false
diff --git a/org.eclipse.jgit/pom.xml b/org.eclipse.jgit/pom.xml index 066002a..0422800 100644 --- a/org.eclipse.jgit/pom.xml +++ b/org.eclipse.jgit/pom.xml
@@ -3,6 +3,7 @@ Copyright (C) 2009, Google Inc. Copyright (C) 2009, Igor Fedorenko <igor@ifedorenko.com> Copyright (C) 2008, Imran M Yousuf <imyousuf@smartitengineering.com> + Copyright (C) 2010, Matthias Sohn <matthias.sohn@sap.com> and other copyright owners as documented in the project's IP log. This program and the accompanying materials are made available @@ -62,6 +63,10 @@ Repository access and algorithms </description> + <properties> + <translate-qualifier/> + </properties> + <dependencies> <dependency> <groupId>com.jcraft</groupId> @@ -86,7 +91,7 @@ <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> - <manifestFile>META-INF/MANIFEST.MF</manifestFile> + <manifestFile>${bundle-manifest}</manifestFile> </archive> </configuration> </plugin>
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java index 05de98c..348905d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java
@@ -308,6 +308,12 @@ public final class Constants { /** Default remote name used by clone, push and fetch operations */ public static final String DEFAULT_REMOTE_NAME = "origin"; + /** Default name for the Git repository directory */ + public static final String DOT_GIT = ".git"; + + /** A bare repository typically ends with this string */ + public static final String DOT_GIT_EXT = ".git"; + /** * Create a new digest function for objects. *
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java index ca86e36..45eda05 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java
@@ -1,7 +1,7 @@ /* * Copyright (C) 2007, Dave Watson <dwatson@mimvista.com> * Copyright (C) 2008-2010, Google Inc. - * Copyright (C) 2006-2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2006-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2006-2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. * @@ -181,7 +181,7 @@ public Repository(final File d, final File workTree, final File objectDir, if (workTree != null) { workDir = workTree; if (d == null) - gitDir = new File(workTree, ".git"); + gitDir = new File(workTree, Constants.DOT_GIT); else gitDir = d; } else {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java index f0fc544..b086968 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java
@@ -377,13 +377,13 @@ private static String readFirstLine(final File head) { public static File resolve(final File directory) { if (isGitRepository(directory)) return directory; - if (isGitRepository(new File(directory, ".git"))) - return new File(directory, ".git"); + if (isGitRepository(new File(directory, Constants.DOT_GIT))) + return new File(directory, Constants.DOT_GIT); final String name = directory.getName(); final File parent = directory.getParentFile(); - if (isGitRepository(new File(parent, name + ".git"))) - return new File(parent, name + ".git"); + if (isGitRepository(new File(parent, name + Constants.DOT_GIT_EXT))) + return new File(parent, name + Constants.DOT_GIT_EXT); return null; } }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/Daemon.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/Daemon.java index c6f6904..cafcd7b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/Daemon.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/Daemon.java
@@ -57,6 +57,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.RepositoryCache; @@ -204,8 +205,8 @@ public void setExportAll(final boolean export) { * the repository instance. */ public void exportRepository(String name, final Repository db) { - if (!name.endsWith(".git")) - name = name + ".git"; + if (!name.endsWith(Constants.DOT_GIT_EXT)) + name = name + Constants.DOT_GIT_EXT; exports.put(name, db); RepositoryCache.register(db); } @@ -358,7 +359,8 @@ Repository openRepository(String name) { name = name.substring(1); Repository db; - db = exports.get(name.endsWith(".git") ? name : name + ".git"); + db = exports.get(name.endsWith(Constants.DOT_GIT_EXT) ? name : name + + Constants.DOT_GIT_EXT); if (db != null) { db.incrementOpen(); return db;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java index 8bb2227..a99a9b4 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java
@@ -56,6 +56,7 @@ import org.eclipse.jgit.errors.NotSupportedException; import org.eclipse.jgit.errors.TransportException; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.util.FS; @@ -101,8 +102,8 @@ static boolean canHandle(final URIish uri) { super(local, uri); File d = FS.resolve(new File(PWD), uri.getPath()).getAbsoluteFile(); - if (new File(d, ".git").isDirectory()) - d = new File(d, ".git"); + if (new File(d, Constants.DOT_GIT).isDirectory()) + d = new File(d, Constants.DOT_GIT); remoteGitDir = d; }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java index 1f7bad1..80b94b2 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java
@@ -50,6 +50,8 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.eclipse.jgit.lib.Constants; + /** * This URI like construct used for referencing Git archives over the net, as * well as locally stored archives. The most important difference compared to @@ -57,8 +59,6 @@ * any special character is written as-is. */ public class URIish { - private static final String DOT_GIT = ".git"; - private static final Pattern FULL_URI = Pattern .compile("^(?:([a-z][a-z0-9+-]+)://(?:([^/]+?)(?::([^/]+?))?@)?(?:([^/]+?))?(?::(\\d+))?)?((?:[A-Za-z]:)?/.+)$"); @@ -408,10 +408,11 @@ public String getHumanishName() throws IllegalArgumentException { if (elements.length == 0) throw new IllegalArgumentException(); String result = elements[elements.length - 1]; - if (DOT_GIT.equals(result)) + if (Constants.DOT_GIT.equals(result)) result = elements[elements.length - 2]; - else if (result.endsWith(DOT_GIT)) - result = result.substring(0, result.length() - DOT_GIT.length()); + else if (result.endsWith(Constants.DOT_GIT_EXT)) + result = result.substring(0, result.length() + - Constants.DOT_GIT_EXT.length()); return result; }
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java index 10bb539..19db39a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java
@@ -1,6 +1,6 @@ /* * Copyright (C) 2008, Google Inc. - * Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2007-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> * Copyright (C) 2009, Tor Arne Vestbø <torarnv@gmail.com> * and other copyright owners as documented in the project's IP log. @@ -52,6 +52,7 @@ import java.io.InputStream; import org.eclipse.jgit.errors.IncorrectObjectTypeException; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.util.FS; @@ -124,7 +125,7 @@ static public class FileEntry extends Entry { file = f; if (f.isDirectory()) { - if (new File(f, ".git").isDirectory()) + if (new File(f, Constants.DOT_GIT).isDirectory()) mode = FileMode.GITLINK; else mode = FileMode.TREE;
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java index 0c6786b..6b8a6ce 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java
@@ -336,7 +336,7 @@ protected void init(final Entry[] list) { final String name = e.getName(); if (".".equals(name) || "..".equals(name)) continue; - if (".git".equals(name)) + if (Constants.DOT_GIT.equals(name)) continue; if (i != o) entries[o] = e;
diff --git a/pom.xml b/pom.xml index d02cafb..42630d5 100644 --- a/pom.xml +++ b/pom.xml
@@ -127,6 +127,9 @@ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format> + <bundle-manifest>${project.build.directory}/META-INF/MANIFEST.MF</bundle-manifest> + <jsch-CQ>CQ 3493</jsch-CQ> <jsch-version>0.1.41</jsch-version> @@ -209,6 +212,28 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>translate-qualifier</id> + <phase>generate-resources</phase> + <configuration> + <tasks unless="${translate-qualifier}"> + <copy file="META-INF/MANIFEST.MF" tofile="${bundle-manifest}" overwrite="true"/> + <replace file="${bundle-manifest}"> + <replacefilter token=".qualifier" value=".${maven.build.timestamp}"/> + </replace> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <executions> <execution>