diff --git a/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitFetchTest.java b/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitFetchTest.java index 2d82dfc..4482b69 100644 --- a/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitFetchTest.java +++ b/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitFetchTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 IBM Corporation and others + * Copyright (c) 2011, 2012 IBM Corporation and others * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -27,6 +27,7 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.transport.RemoteRefUpdate.Status; import org.eclipse.jgit.transport.URIish; import org.eclipse.orion.internal.server.core.IOUtilities; @@ -510,6 +511,11 @@ public class GitFetchTest extends GitTest { @Test public void testForcedFetch() throws Exception { + // overwrite system settings, allow forced pushes, see bug 371881 + FileBasedConfig cfg = db.getConfig(); + cfg.setBoolean("receive", null, "denyNonFastforwards", false); + cfg.save(); + URI workspaceLocation = createWorkspace(getMethodName()); JSONObject projectTop1 = createProjectOrLink(workspaceLocation, getMethodName() + "-top1", null); IPath clonePathTop1 = new Path("file").append(projectTop1.getString(ProtocolConstants.KEY_ID)).makeAbsolute(); diff --git a/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitPushTest.java b/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitPushTest.java index 45bb0a3..faebb39 100644 --- a/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitPushTest.java +++ b/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitPushTest.java @@ -27,6 +27,7 @@ import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.MergeResult.MergeStatus; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.storage.file.FileRepository; import org.eclipse.jgit.transport.RemoteRefUpdate.Status; import org.eclipse.jgit.transport.URIish; @@ -672,6 +673,11 @@ public class GitPushTest extends GitTest { @Test public void testForcedPush() throws Exception { + // overwrite system settings, allow forced pushes, see bug 371881 + FileBasedConfig cfg = db.getConfig(); + cfg.setBoolean("receive", null, "denyNonFastforwards", false); + cfg.save(); + URI workspaceLocation = createWorkspace(getMethodName()); JSONObject projectTop1 = createProjectOrLink(workspaceLocation, getMethodName() + "-top1", null); IPath clonePathTop1 = new Path("file").append(projectTop1.getString(ProtocolConstants.KEY_ID)).makeAbsolute(); diff --git a/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitTest.java b/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitTest.java index 5e3272c..2e9386c 100644 --- a/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitTest.java +++ b/tests/org.eclipse.orion.server.tests/src/org/eclipse/orion/server/tests/servlets/git/GitTest.java @@ -55,6 +55,7 @@ import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.RepositoryCache; +import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.storage.file.FileRepository; import org.eclipse.jgit.transport.URIish; import org.eclipse.jgit.util.FS; @@ -223,6 +224,12 @@ public abstract class GitTest extends FileSystemTest { Git git = new Git(db); git.add().addFilepattern(".").call(); git.commit().setMessage("Initial commit").call(); + + // The system settings on eclipse.org was changed to receive.denyNonFastForward=true, see bug 343150. + // Imitate the same setup when running tests locally, see bug 371881. + FileBasedConfig cfg = db.getConfig(); + cfg.setBoolean("receive", null, "denyNonFastforwards", true); + cfg.save(); } /**