Browse Source

Save StoredConfig after modifications

When the Config is changed, it should be saved back to its local
file.  This ensure that a future call to getConfig() won't wipe
out the edits that were just made.

Change-Id: Id46d3f85d1c9b377f63ef861b72824e1aa060eee
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
tags/v0.11.1
Shawn O. Pearce 13 years ago
parent
commit
6f3b4d5d04

+ 8
- 2
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/AsIsServiceTest.java View File

@@ -43,6 +43,8 @@

package org.eclipse.jgit.http.test;

import java.io.IOException;

import javax.servlet.http.HttpServletRequestWrapper;

import org.eclipse.jetty.server.Request;
@@ -51,6 +53,7 @@ import org.eclipse.jgit.http.server.resolver.ServiceNotAuthorizedException;
import org.eclipse.jgit.http.server.resolver.ServiceNotEnabledException;
import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.StoredConfig;

public class AsIsServiceTest extends LocalDiskRepositoryTestCase {
private Repository db;
@@ -87,8 +90,11 @@ public class AsIsServiceTest extends LocalDiskRepositoryTestCase {
service.access(new R("bob", "1.2.3.4"), db);
}

public void testCreate_Disabled() throws ServiceNotAuthorizedException {
db.getConfig().setBoolean("http", null, "getanyfile", false);
public void testCreate_Disabled() throws ServiceNotAuthorizedException,
IOException {
final StoredConfig cfg = db.getConfig();
cfg.setBoolean("http", null, "getanyfile", false);
cfg.save();

try {
service.access(new R(null, "1.2.3.4"), db);

+ 13
- 4
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DefaultReceivePackFactoryTest.java View File

@@ -43,6 +43,8 @@

package org.eclipse.jgit.http.test;

import java.io.IOException;

import javax.servlet.http.HttpServletRequestWrapper;

import org.eclipse.jetty.server.Request;
@@ -53,6 +55,7 @@ import org.eclipse.jgit.http.server.resolver.ServiceNotEnabledException;
import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase;
import org.eclipse.jgit.lib.PersonIdent;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.transport.ReceivePack;

public class DefaultReceivePackFactoryTest extends LocalDiskRepositoryTestCase {
@@ -127,8 +130,11 @@ public class DefaultReceivePackFactoryTest extends LocalDiskRepositoryTestCase {
assertEquals(author.getWhen(), id.getWhen());
}

public void testCreate_Disabled() throws ServiceNotAuthorizedException {
db.getConfig().setBoolean("http", null, "receivepack", false);
public void testCreate_Disabled() throws ServiceNotAuthorizedException,
IOException {
final StoredConfig cfg = db.getConfig();
cfg.setBoolean("http", null, "receivepack", false);
cfg.save();

try {
factory.create(new R(null, "localhost"), db);
@@ -153,8 +159,11 @@ public class DefaultReceivePackFactoryTest extends LocalDiskRepositoryTestCase {
}

public void testCreate_Enabled() throws ServiceNotEnabledException,
ServiceNotAuthorizedException {
db.getConfig().setBoolean("http", null, "receivepack", true);
ServiceNotAuthorizedException, IOException {
final StoredConfig cfg = db.getConfig();
cfg.setBoolean("http", null, "receivepack", true);
cfg.save();

ReceivePack rp;

rp = factory.create(new R(null, "1.2.3.4"), db);

+ 8
- 2
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/DefaultUploadPackFactoryTest.java View File

@@ -43,6 +43,8 @@

package org.eclipse.jgit.http.test;

import java.io.IOException;

import javax.servlet.http.HttpServletRequestWrapper;

import org.eclipse.jetty.server.Request;
@@ -52,6 +54,7 @@ import org.eclipse.jgit.http.server.resolver.ServiceNotEnabledException;
import org.eclipse.jgit.http.server.resolver.UploadPackFactory;
import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.transport.UploadPack;

public class DefaultUploadPackFactoryTest extends LocalDiskRepositoryTestCase {
@@ -104,8 +107,11 @@ public class DefaultUploadPackFactoryTest extends LocalDiskRepositoryTestCase {
assertSame(db, up.getRepository());
}

public void testCreate_Disabled() throws ServiceNotAuthorizedException {
db.getConfig().setBoolean("http", null, "uploadpack", false);
public void testCreate_Disabled() throws ServiceNotAuthorizedException,
IOException {
final StoredConfig cfg = db.getConfig();
cfg.setBoolean("http", null, "uploadpack", false);
cfg.save();

try {
factory.create(new R(null, "localhost"), db);

+ 4
- 2
org.eclipse.jgit.http.test/tst/org/eclipse/jgit/http/test/HttpClientTests.java View File

@@ -68,6 +68,7 @@ import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.RefUpdate;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.storage.file.FileBasedConfig;
import org.eclipse.jgit.storage.file.FileRepository;
import org.eclipse.jgit.transport.FetchConnection;
import org.eclipse.jgit.transport.Transport;
@@ -336,8 +337,9 @@ public class HttpClientTests extends HttpTestCase {

public void testListRemote_Smart_UploadPackDisabled() throws Exception {
FileRepository src = remoteRepository.getRepository();
src.getConfig().setBoolean("http", null, "uploadpack", false);
src.getConfig().save();
final FileBasedConfig cfg = src.getConfig();
cfg.setBoolean("http", null, "uploadpack", false);
cfg.save();

Repository dst = createBareRepository();
Transport t = Transport.open(dst, smartAuthNoneURI);

+ 3
- 2
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/FetchCommandTest.java View File

@@ -47,9 +47,9 @@ import java.net.URISyntaxException;

import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.JGitInternalException;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.RepositoryTestCase;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevTag;
import org.eclipse.jgit.transport.RefSpec;
@@ -66,11 +66,12 @@ public class FetchCommandTest extends RepositoryTestCase {
Git git2 = new Git(db2);

// setup the first repository to fetch from the second repository
final Config config = db.getConfig();
final StoredConfig config = db.getConfig();
RemoteConfig remoteConfig = new RemoteConfig(config, "test");
URIish uri = new URIish(db2.getDirectory().toURI().toURL());
remoteConfig.addURI(uri);
remoteConfig.update(config);
config.save();

// create some refs via commits and tag
RevCommit commit = git2.commit().setMessage("initial commit").call();

+ 1
- 1
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PullCommandTest.java View File

@@ -199,8 +199,8 @@ public class PullCommandTest extends RepositoryTestCase {
.getPath()));
config.addFetchRefSpec(new RefSpec(
"+refs/heads/*:refs/remotes/origin/*"));
targetConfig.save();
config.update(targetConfig);
targetConfig.save();

targetFile = new File(dbTarget.getWorkTree(), "SomeFile.txt");
writeToFile(targetFile, "Hello world");

+ 3
- 2
org.eclipse.jgit.test/tst/org/eclipse/jgit/api/PushCommandTest.java View File

@@ -48,9 +48,9 @@ import java.net.URISyntaxException;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.JGitInternalException;
import org.eclipse.jgit.errors.MissingObjectException;
import org.eclipse.jgit.lib.Config;
import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.RepositoryTestCase;
import org.eclipse.jgit.lib.StoredConfig;
import org.eclipse.jgit.revwalk.RevCommit;
import org.eclipse.jgit.revwalk.RevTag;
import org.eclipse.jgit.transport.RefSpec;
@@ -66,11 +66,12 @@ public class PushCommandTest extends RepositoryTestCase {
Repository db2 = createWorkRepository();

// setup the first repository
final Config config = db.getConfig();
final StoredConfig config = db.getConfig();
RemoteConfig remoteConfig = new RemoteConfig(config, "test");
URIish uri = new URIish(db2.getDirectory().toURI().toURL());
remoteConfig.addURI(uri);
remoteConfig.update(config);
config.save();

Git git1 = new Git(db);
// create some refs via commits and tag

+ 11
- 5
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ReflogConfigTest.java View File

@@ -47,6 +47,8 @@ package org.eclipse.jgit.lib;

import java.io.IOException;

import org.eclipse.jgit.storage.file.FileBasedConfig;

public class ReflogConfigTest extends RepositoryTestCase {
public void testlogAllRefUpdates() throws Exception {
long commitTime = 1154236443000L;
@@ -55,7 +57,9 @@ public class ReflogConfigTest extends RepositoryTestCase {
// check that there are no entries in the reflog and turn off writing
// reflogs
assertEquals(0, db.getReflogReader(Constants.HEAD).getReverseEntries().size());
db.getConfig().setBoolean("core", null, "logallrefupdates", false);
final FileBasedConfig cfg = db.getConfig();
cfg.setBoolean("core", null, "logallrefupdates", false);
cfg.save();

// do one commit and check that reflog size is 0: no reflogs should be
// written
@@ -69,8 +73,9 @@ public class ReflogConfigTest extends RepositoryTestCase {
db.getReflogReader(Constants.HEAD).getReverseEntries().size() == 0);

// set the logAllRefUpdates parameter to true and check it
db.getConfig().setBoolean("core", null, "logallrefupdates", true);
assertTrue(db.getConfig().get(CoreConfig.KEY).isLogAllRefUpdates());
cfg.setBoolean("core", null, "logallrefupdates", true);
cfg.save();
assertTrue(cfg.get(CoreConfig.KEY).isLogAllRefUpdates());

// do one commit and check that reflog size is increased to 1
addFileToTree(t, "i-am-another-file", "and this is other data in me\n");
@@ -82,8 +87,9 @@ public class ReflogConfigTest extends RepositoryTestCase {
db.getReflogReader(Constants.HEAD).getReverseEntries().size() == 1);

// set the logAllRefUpdates parameter to false and check it
db.getConfig().setBoolean("core", null, "logallrefupdates", false);
assertFalse(db.getConfig().get(CoreConfig.KEY).isLogAllRefUpdates());
cfg.setBoolean("core", null, "logallrefupdates", false);
cfg.save();
assertFalse(cfg.get(CoreConfig.KEY).isLogAllRefUpdates());

// do one commit and check that reflog size is 2
addFileToTree(t, "i-am-anotheranother-file",

Loading…
Cancel
Save