Merge "Fix broken links in error documentation"
diff --git a/ReleaseNotes/ReleaseNotes-2.1.7.txt b/ReleaseNotes/ReleaseNotes-2.1.7.txt
index 58aa584..d4088c9 100644
--- a/ReleaseNotes/ReleaseNotes-2.1.7.txt
+++ b/ReleaseNotes/ReleaseNotes-2.1.7.txt
@@ -138,10 +138,9 @@
* Internal dependencies updated
+
Updated H2 Database to 1.2.147, PostgreSQL JDBC Client to 9.0-801,
-ANTLR to 3.2, GWT to 2.1.1, JSch to 0.1.44, Gson to 1.6, Ehcache to
-2.3.0, Apache Commons Net to 2.2, Apache Commons Pool to 1.5.5, JGit
-to 0.11.3.240-gd05d351, MINA SSHD to 0.5.1-r1095809, Jetty to
-7.4.0.v20110414.
+ANTLR to 3.2, GWT to 2.1.1, JSch to 0.1.44, Gson to 1.6, Apache
+Commons Net to 2.2, Apache Commons Pool to 1.5.5, JGit to
+0.11.3.240-gd05d351, MINA SSHD to 0.5.1-r1095809.
Bug Fixes
---------
diff --git a/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh b/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh
index 60f56a8..9aba73e 100755
--- a/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh
+++ b/gerrit-pgm/src/main/resources/com/google/gerrit/pgm/gerrit.sh
@@ -47,7 +47,7 @@
##################################################
running() {
test -f $1 || return 1
- PID=$(cat $1)
+ PID=`cat $1`
ps -p $PID >/dev/null 2>/dev/null || return 1
return 0
}
@@ -203,7 +203,7 @@
# Check that Gerrit is where we think it is
#####################################################
GERRIT_CONFIG="$GERRIT_SITE/$GERRIT_INSTALL_TRACE_FILE"
-test -e "$GERRIT_CONFIG" || {
+test -f "$GERRIT_CONFIG" || {
echo "** ERROR: Gerrit is not initialized in $GERRIT_SITE"
exit 1
}
@@ -309,12 +309,12 @@
ulimit -c 0 ; # core file size
ulimit -d unlimited ; # data seg size
ulimit -f unlimited ; # file size
-ulimit -m unlimited ; # max memory size
+ulimit -m >/dev/null 2>&1 && ulimit -m unlimited ; # max memory size
ulimit -n $GERRIT_FDS ; # open files
ulimit -t unlimited ; # cpu time
-ulimit -t unlimited ; # virtual memory
+ulimit -v unlimited ; # virtual memory
-ulimit -x unlimited 2>/dev/null ; # file locks
+ulimit -x >/dev/null 2>&1 && ulimit -x unlimited ; # file locks
#####################################################
# This is how the Gerrit server will be started
@@ -344,7 +344,7 @@
exit 1
fi
-test -z "$GERRIT_USER" && GERRIT_USER=$(whoami)
+test -z "$GERRIT_USER" && GERRIT_USER=`whoami`
RUN_ARGS="-jar $GERRIT_WAR daemon -d $GERRIT_SITE"
if test "`get_config --bool container.slave`" = "true" ; then
RUN_ARGS="$RUN_ARGS --slave"
@@ -381,9 +381,9 @@
exit 0
fi
- test -z "$UID" && UID=`id -u`
+ test -z "$UID" && UID=`id | sed -e 's/^[^=]*=\([0-9]*\).*/\1/'`
- RUN_ID=$(date +%s).$$
+ RUN_ID=`date +%s`.$$
RUN_ARGS="$RUN_ARGS --run-id=$RUN_ID"
if test 1 = "$START_STOP_DAEMON" && type start-stop-daemon >/dev/null 2>&1
@@ -425,7 +425,7 @@
else
$RUN_EXEC $RUN_Arg1 "$RUN_Arg2" $RUN_Arg3 $RUN_ARGS &
PID=$!
- disown $PID
+ type disown >/dev/null 2>&1 && disown $PID
echo $PID >"$GERRIT_PID"
fi
fi
@@ -444,13 +444,13 @@
TIMEOUT=90 # seconds
sleep 1
while running "$GERRIT_PID" && test $TIMEOUT -gt 0 ; do
- if test "x$RUN_ID" = "x$(cat $GERRIT_RUN 2>/dev/null)" ; then
+ if test "x$RUN_ID" = "x`cat $GERRIT_RUN 2>/dev/null`" ; then
echo OK
exit 0
fi
sleep 2
- TIMEOUT=$(($TIMEOUT - 2))
+ TIMEOUT=`expr $TIMEOUT - 2`
done
echo FAILED
@@ -481,7 +481,7 @@
while running "$GERRIT_PID" && test $TIMEOUT -gt 0 ; do
kill $PID 2>/dev/null
sleep 1
- TIMEOUT=$(($TIMEOUT - 1))
+ TIMEOUT=`expr $TIMEOUT - 1`
done
test $TIMEOUT -gt 0 || kill -9 $PID 2>/dev/null
rm -f "$GERRIT_PID" "$GERRIT_RUN"
@@ -491,7 +491,9 @@
restart)
GERRIT_SH=$0
- if ! test -f "$GERRIT_SH" ; then
+ if test -f "$GERRIT_SH" ; then
+ : OK
+ else
echo >&2 "** ERROR: Cannot locate gerrit.sh"
exit 1
fi
diff --git a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/index_postgres.sql b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/index_postgres.sql
index cb8196e..8e3cead 100644
--- a/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/index_postgres.sql
+++ b/gerrit-reviewdb/src/main/resources/com/google/gerrit/reviewdb/index_postgres.sql
@@ -13,9 +13,42 @@
CLUSTER;
+-- Define function for conditional installation of PL/pgSQL.
+-- This is required, because starting with PostgreSQL 9.0, PL/pgSQL
+-- language is installed by default and database returns error when
+-- we try to install it again.
+--
+-- Source: http://wiki.postgresql.org/wiki/CREATE_OR_REPLACE_LANGUAGE
+-- Author: David Fetter
+--
+
+delimiter //
+
+CREATE OR REPLACE FUNCTION make_plpgsql()
+RETURNS VOID
+LANGUAGE SQL
+AS $$
+CREATE LANGUAGE plpgsql;
+$$;
+
+//
+
+delimiter ;
+
+SELECT
+ CASE
+ WHEN EXISTS(
+ SELECT 1
+ FROM pg_catalog.pg_language
+ WHERE lanname='plpgsql'
+ )
+ THEN NULL
+ ELSE make_plpgsql() END;
+
+DROP FUNCTION make_plpgsql();
+
-- Define our schema upgrade support function.
--
-CREATE LANGUAGE plpgsql;
delimiter //
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java
index 2e812014..5230ff6 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/CachePool.java
@@ -22,6 +22,7 @@
import com.google.gerrit.server.config.GerritServerConfig;
import com.google.gerrit.server.config.SitePaths;
import com.google.inject.Inject;
+import com.google.inject.ProvisionException;
import com.google.inject.Singleton;
import net.sf.ehcache.CacheManager;
@@ -142,12 +143,9 @@
c.setMaxElementsInMemory(getInt(name, "memorylimit", p.memoryLimit()));
- long ttl = getSeconds(name, "maxage", p.maxAge());
- c.setEternal(ttl == 0);
- if (ttl != 0) {
- c.setTimeToIdleSeconds(0);
- c.setTimeToLiveSeconds(ttl);
- }
+ c.setTimeToIdleSeconds(0);
+ c.setTimeToLiveSeconds(getSeconds(name, "maxage", p.maxAge()));
+ c.setEternal(c.getTimeToLiveSeconds() == 0);
if (p.disk() && mgr.getDiskStoreConfiguration() != null) {
c.setMaxElementsOnDisk(getInt(name, "disklimit", p.diskLimit()));
@@ -222,6 +220,8 @@
c.setMaxElementsInMemory(1024);
c.setMemoryStoreEvictionPolicyFromObject(MemoryStoreEvictionPolicy.LFU);
+ c.setTimeToIdleSeconds(0);
+ c.setTimeToLiveSeconds(0 /* infinite */);
c.setEternal(true);
if (mgr.getDiskStoreConfiguration() != null) {
@@ -237,10 +237,14 @@
}
private CacheConfiguration newCache(final String name) {
- final CacheConfiguration c;
- c = mgr.getDefaultCacheConfiguration().clone();
- c.setName(name);
- return c;
+ try {
+ final CacheConfiguration c;
+ c = mgr.getDefaultCacheConfiguration().clone();
+ c.setName(name);
+ return c;
+ } catch (CloneNotSupportedException e) {
+ throw new ProvisionException("Cannot configure cache " + name, e);
+ }
}
}
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java b/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java
index 2568cb3..8b3179a 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/cache/ProxyEhcache.java
@@ -29,11 +29,7 @@
import net.sf.ehcache.statistics.CacheUsageListener;
import net.sf.ehcache.statistics.LiveCacheStatistics;
import net.sf.ehcache.statistics.sampled.SampledCacheStatistics;
-import net.sf.ehcache.transaction.manager.TransactionManagerLookup;
-import net.sf.ehcache.writer.CacheWriter;
-import net.sf.ehcache.writer.CacheWriterManager;
-import java.beans.PropertyChangeListener;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
@@ -74,66 +70,55 @@
//
// Everything else delegates through self.
//
- @Override
+
public void bootstrap() {
self().bootstrap();
}
- @Override
public long calculateInMemorySize() throws IllegalStateException,
CacheException {
return self().calculateInMemorySize();
}
- @Override
public void clearStatistics() {
self().clearStatistics();
}
- @Override
public void dispose() throws IllegalStateException {
self().dispose();
}
- @Override
public void evictExpiredElements() {
self().evictExpiredElements();
}
- @Override
public void flush() throws IllegalStateException, CacheException {
self().flush();
}
- @Override
public Element get(Object key) throws IllegalStateException, CacheException {
return self().get(key);
}
- @Override
public Element get(Serializable key) throws IllegalStateException,
CacheException {
return self().get(key);
}
@SuppressWarnings("unchecked")
- @Override
public Map getAllWithLoader(Collection keys, Object loaderArgument)
throws CacheException {
return self().getAllWithLoader(keys, loaderArgument);
}
- @Override
public float getAverageGetTime() {
return self().getAverageGetTime();
}
- @Override
public BootstrapCacheLoader getBootstrapCacheLoader() {
return self().getBootstrapCacheLoader();
}
- @Override
public CacheConfiguration getCacheConfiguration() {
if (self == null) {
// In Ehcache 1.7, BlockingCache wants to ask us if we are
@@ -146,423 +131,263 @@
return self().getCacheConfiguration();
}
- @Override
public RegisteredEventListeners getCacheEventNotificationService() {
return self().getCacheEventNotificationService();
}
- @Override
public CacheExceptionHandler getCacheExceptionHandler() {
return self().getCacheExceptionHandler();
}
- @Override
public CacheManager getCacheManager() {
return self().getCacheManager();
}
- @Override
public int getDiskStoreSize() throws IllegalStateException {
return self().getDiskStoreSize();
}
- @Override
public String getGuid() {
return self().getGuid();
}
@SuppressWarnings("unchecked")
- @Override
public List getKeys() throws IllegalStateException, CacheException {
return self().getKeys();
}
@SuppressWarnings("unchecked")
- @Override
public List getKeysNoDuplicateCheck() throws IllegalStateException {
return self().getKeysNoDuplicateCheck();
}
@SuppressWarnings("unchecked")
- @Override
public List getKeysWithExpiryCheck() throws IllegalStateException,
CacheException {
return self().getKeysWithExpiryCheck();
}
- @Override
public long getMemoryStoreSize() throws IllegalStateException {
return self().getMemoryStoreSize();
}
- @Override
public Element getQuiet(Object key) throws IllegalStateException,
CacheException {
return self().getQuiet(key);
}
- @Override
public Element getQuiet(Serializable key) throws IllegalStateException,
CacheException {
return self().getQuiet(key);
}
- @Override
public List<CacheExtension> getRegisteredCacheExtensions() {
return self().getRegisteredCacheExtensions();
}
- @Override
public List<CacheLoader> getRegisteredCacheLoaders() {
return self().getRegisteredCacheLoaders();
}
- @Override
public int getSize() throws IllegalStateException, CacheException {
return self().getSize();
}
- @Override
public Statistics getStatistics() throws IllegalStateException {
return self().getStatistics();
}
- @Override
public int getStatisticsAccuracy() {
return self().getStatisticsAccuracy();
}
- @Override
public Status getStatus() {
return self().getStatus();
}
- @Override
public Element getWithLoader(Object key, CacheLoader loader,
Object loaderArgument) throws CacheException {
return self().getWithLoader(key, loader, loaderArgument);
}
- @Override
public void initialise() {
self().initialise();
}
- @Override
public boolean isDisabled() {
return self().isDisabled();
}
- @Override
public boolean isElementInMemory(Object key) {
return self().isElementInMemory(key);
}
- @Override
public boolean isElementInMemory(Serializable key) {
return self().isElementInMemory(key);
}
- @Override
public boolean isElementOnDisk(Object key) {
return self().isElementOnDisk(key);
}
- @Override
public boolean isElementOnDisk(Serializable key) {
return self().isElementOnDisk(key);
}
- @Override
public boolean isExpired(Element element) throws IllegalStateException,
NullPointerException {
return self().isExpired(element);
}
- @Override
public boolean isKeyInCache(Object key) {
return self().isKeyInCache(key);
}
- @Override
public boolean isValueInCache(Object value) {
return self().isValueInCache(value);
}
- @Override
public void load(Object key) throws CacheException {
self().load(key);
}
@SuppressWarnings("unchecked")
- @Override
public void loadAll(Collection keys, Object argument) throws CacheException {
self().loadAll(keys, argument);
}
- @Override
public void put(Element element, boolean doNotNotifyCacheReplicators)
throws IllegalArgumentException, IllegalStateException, CacheException {
self().put(element, doNotNotifyCacheReplicators);
}
- @Override
public void put(Element element) throws IllegalArgumentException,
IllegalStateException, CacheException {
self().put(element);
}
- @Override
public void putQuiet(Element element) throws IllegalArgumentException,
IllegalStateException, CacheException {
self().putQuiet(element);
}
- @Override
public void registerCacheExtension(CacheExtension cacheExtension) {
self().registerCacheExtension(cacheExtension);
}
- @Override
public void registerCacheLoader(CacheLoader cacheLoader) {
self().registerCacheLoader(cacheLoader);
}
- @Override
public boolean remove(Object key, boolean doNotNotifyCacheReplicators)
throws IllegalStateException {
return self().remove(key, doNotNotifyCacheReplicators);
}
- @Override
public boolean remove(Object key) throws IllegalStateException {
return self().remove(key);
}
- @Override
public boolean remove(Serializable key, boolean doNotNotifyCacheReplicators)
throws IllegalStateException {
return self().remove(key, doNotNotifyCacheReplicators);
}
- @Override
public boolean remove(Serializable key) throws IllegalStateException {
return self().remove(key);
}
- @Override
public void removeAll() throws IllegalStateException, CacheException {
self().removeAll();
}
- @Override
public void removeAll(boolean doNotNotifyCacheReplicators)
throws IllegalStateException, CacheException {
self().removeAll(doNotNotifyCacheReplicators);
}
- @Override
public boolean removeQuiet(Object key) throws IllegalStateException {
return self().removeQuiet(key);
}
- @Override
public boolean removeQuiet(Serializable key) throws IllegalStateException {
return self().removeQuiet(key);
}
- @Override
public void setBootstrapCacheLoader(BootstrapCacheLoader bootstrapCacheLoader)
throws CacheException {
self().setBootstrapCacheLoader(bootstrapCacheLoader);
}
- @Override
public void setCacheExceptionHandler(
CacheExceptionHandler cacheExceptionHandler) {
self().setCacheExceptionHandler(cacheExceptionHandler);
}
- @Override
public void setCacheManager(CacheManager cacheManager) {
self().setCacheManager(cacheManager);
}
- @Override
public void setDisabled(boolean disabled) {
self().setDisabled(disabled);
}
- @Override
public void setDiskStorePath(String diskStorePath) throws CacheException {
self().setDiskStorePath(diskStorePath);
}
- @Override
public void setStatisticsAccuracy(int statisticsAccuracy) {
self().setStatisticsAccuracy(statisticsAccuracy);
}
- @Override
public void unregisterCacheExtension(CacheExtension cacheExtension) {
self().unregisterCacheExtension(cacheExtension);
}
- @Override
public void unregisterCacheLoader(CacheLoader cacheLoader) {
self().unregisterCacheLoader(cacheLoader);
}
- @Override
public Object getInternalContext() {
- return self().getInternalContext();
+ return self.getInternalContext();
}
- @Override
public LiveCacheStatistics getLiveCacheStatistics() throws IllegalStateException {
- return self().getLiveCacheStatistics();
+ return self.getLiveCacheStatistics();
}
- @Override
public SampledCacheStatistics getSampledCacheStatistics() {
- return self().getSampledCacheStatistics();
+ return self.getSampledCacheStatistics();
}
- @Override
public int getSizeBasedOnAccuracy(int statisticsAccuracy) throws IllegalArgumentException,
IllegalStateException, CacheException {
- return self().getSizeBasedOnAccuracy(statisticsAccuracy);
+ return self.getSizeBasedOnAccuracy(statisticsAccuracy);
}
- @Override
public boolean isSampledStatisticsEnabled() {
- return self().isSampledStatisticsEnabled();
+ return self.isSampledStatisticsEnabled();
}
- @Override
public boolean isStatisticsEnabled() {
- return self().isStatisticsEnabled();
+ return self.isStatisticsEnabled();
}
- @Override
public void registerCacheUsageListener(CacheUsageListener cacheUsageListener)
throws IllegalStateException {
- self().registerCacheUsageListener(cacheUsageListener);
+ self.registerCacheUsageListener(cacheUsageListener);
}
- @Override
public void removeCacheUsageListener(CacheUsageListener cacheUsageListener)
throws IllegalStateException {
- self().removeCacheUsageListener(cacheUsageListener);
+ self.removeCacheUsageListener(cacheUsageListener);
}
- @Override
public void setSampledStatisticsEnabled(boolean enableStatistics) {
- self().setSampledStatisticsEnabled(enableStatistics);
+ self.setSampledStatisticsEnabled(enableStatistics);
}
- @Override
public void setStatisticsEnabled(boolean enableStatistics) {
- self().setStatisticsEnabled(enableStatistics);
- }
-
- @Override
- public void putWithWriter(Element element) throws IllegalArgumentException, IllegalStateException, CacheException {
- self().putWithWriter(element);
- }
-
- @Override
- public Element putIfAbsent(Element element) throws NullPointerException {
- return self().putIfAbsent(element);
- }
-
- @Override
- public boolean removeElement(Element element) throws NullPointerException {
- return self().removeElement(element);
- }
-
- @Override
- public boolean replace(Element element, Element element1) throws NullPointerException, IllegalArgumentException {
- return self().replace(element, element1);
- }
-
- @Override
- public Element replace(Element element) throws NullPointerException {
- return self().replace(element);
- }
-
- @Override
- public boolean removeWithWriter(Object o) throws IllegalStateException, CacheException {
- return self().removeWithWriter(o);
- }
-
- @Override
- public long calculateOffHeapSize() throws IllegalStateException, CacheException {
- return self().calculateOffHeapSize();
- }
-
- @Override
- public long getOffHeapStoreSize() throws IllegalStateException {
- return self().getOffHeapStoreSize();
- }
-
- @Override
- public void registerCacheWriter(CacheWriter cacheWriter) {
- self().registerCacheWriter(cacheWriter);
- }
-
- @Override
- public void unregisterCacheWriter() {
- self().unregisterCacheWriter();
- }
-
- @Override
- public CacheWriter getRegisteredCacheWriter() {
- return self().getRegisteredCacheWriter();
- }
-
- @Override
- public void disableDynamicFeatures() {
- self().disableDynamicFeatures();
- }
-
- @Override
- public CacheWriterManager getWriterManager() {
- return self().getWriterManager();
- }
-
- @Override
- public boolean isClusterCoherent() {
- return self().isClusterCoherent();
- }
-
- @Override
- public boolean isNodeCoherent() {
- return self().isNodeCoherent();
- }
-
- @Override
- public void setNodeCoherent(boolean b) throws UnsupportedOperationException {
- self().setNodeCoherent(b);
- }
-
- @Override
- public void waitUntilClusterCoherent() throws UnsupportedOperationException {
- self().waitUntilClusterCoherent();
- }
-
- @Override
- public void setTransactionManagerLookup(TransactionManagerLookup transactionManagerLookup) {
- self().setTransactionManagerLookup(transactionManagerLookup);
- }
-
- @Override
- public void addPropertyChangeListener(PropertyChangeListener propertyChangeListener) {
- self().addPropertyChangeListener(propertyChangeListener);
- }
-
- @Override
- public void removePropertyChangeListener(PropertyChangeListener propertyChangeListener) {
- self().removePropertyChangeListener(propertyChangeListener);
+ self.setStatisticsEnabled(enableStatistics);
}
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
index 3d543b0..b9045bc 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/git/ReceiveCommits.java
@@ -1600,7 +1600,8 @@
final List<String> idList = c.getFooterLines(CHANGE_ID);
if (idList.isEmpty()) {
- if (project.isRequireChangeID()) {
+ if (project.isRequireChangeID() && (cmd.getRefName().startsWith(NEW_CHANGE)
+ || NEW_PATCHSET.matcher(cmd.getRefName()).matches())) {
reject(cmd, "missing Change-Id in commit message");
return false;
}
diff --git a/gerrit-server/src/main/resources/com/google/gerrit/server/tools/root/hooks/commit-msg b/gerrit-server/src/main/resources/com/google/gerrit/server/tools/root/hooks/commit-msg
index 7cd3885..a0e3554 100644
--- a/gerrit-server/src/main/resources/com/google/gerrit/server/tools/root/hooks/commit-msg
+++ b/gerrit-server/src/main/resources/com/google/gerrit/server/tools/root/hooks/commit-msg
@@ -23,14 +23,14 @@
# Check for, and add if missing, a unique Change-Id
#
add_ChangeId() {
- clean_message=$(sed -e '
+ clean_message=`sed -e '
/^diff --git a\/.*/{
s///
q
}
/^Signed-off-by:/d
/^#/d
- ' "$MSG" | git stripspace)
+ ' "$MSG" | git stripspace`
if test -z "$clean_message"
then
return
@@ -41,7 +41,7 @@
return
fi
- id=$(_gen_ChangeId)
+ id=`_gen_ChangeId`
perl -e '
$MSG = shift;
$id = shift;
@@ -84,13 +84,13 @@
' "$MSG" "$id" "$CHANGE_ID_AFTER"
}
_gen_ChangeIdInput() {
- echo "tree $(git write-tree)"
- if parent=$(git rev-parse HEAD^0 2>/dev/null)
+ echo "tree `git write-tree`"
+ if parent=`git rev-parse HEAD^0 2>/dev/null`
then
echo "parent $parent"
fi
- echo "author $(git var GIT_AUTHOR_IDENT)"
- echo "committer $(git var GIT_COMMITTER_IDENT)"
+ echo "author `git var GIT_AUTHOR_IDENT`"
+ echo "committer `git var GIT_COMMITTER_IDENT`"
echo
printf '%s' "$clean_message"
}
diff --git a/pom.xml b/pom.xml
index 9c75fc4..a2e00e5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,7 +53,7 @@
<gwtVersion>2.1.1</gwtVersion>
<slf4jVersion>1.6.1</slf4jVersion>
<guiceVersion>2.0</guiceVersion>
- <jettyVersion>7.4.0.v20110414</jettyVersion>
+ <jettyVersion>7.2.1.v20101111</jettyVersion>
<gwt.compileReport>false</gwt.compileReport>
@@ -496,7 +496,7 @@
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core</artifactId>
- <version>2.3.0</version>
+ <version>1.7.2</version>
</dependency>
<dependency>