From: Shawn O. Pearce Date: Thu, 25 Jun 2009 00:26:34 GMT Subject: Re: [JGIT PATCH 0/3] Support for loading .gitmodules from blobs Message-ID: <20090625002634.GI11191@spearce.org> In-Reply-To: <1245865685-1288-1-git-send-email-constantine.plotnikov@gmail.com> Constantine Plotnikov wrote: > This series of patches is developed to support accessing > .gitmodules file stored inside the repository. This functionality > is needed for server-side processing of submodules. > > Constantine Plotnikov (3): > Extracted functionality independent from .git/config from RepositoryConfig > Config.getSubsections(...) now loads the file if it has not been loaded > Added BlobBasedConfig that allows accessing configuration files stored in the blobs Thanks, pushed, with a couple of minor edits that were just easier to squash in than to ask you to fix and respin: diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/BlobBasedConfig.java b/org.spearce.jgit/src/org/spearce/jgit/lib/BlobBasedConfig.java index 0385a3b..1f44994 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/BlobBasedConfig.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/BlobBasedConfig.java @@ -136,10 +136,10 @@ protected InputStream openInputStream() throws IOException { return new ByteArrayInputStream(blobProvider.call()); } catch (IOException e) { throw e; - } catch (RuntimeException e) { - throw e; } catch (Exception e) { - throw new RuntimeException(e); + final IOException e2 = new IOException("Unable to read config"); + e2.initCause(e); + throw e2; } } } diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Config.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Config.java index 4220c37..c2d5c6e 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/Config.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Config.java @@ -84,8 +84,9 @@ * the base configuration file to be consulted when value is * missing from this file */ - public Config(Config base) { + protected Config(Config base) { baseConfig = base; + clear(); } /** diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java b/org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java index a139386..9d2c9a3 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/RepositoryConfig.java @@ -108,7 +108,6 @@ public RepositoryConfig openUserConfig() { */ public RepositoryConfig(final RepositoryConfig base, final File cfgLocation) { super(base, cfgLocation); - clear(); } /** -- Shawn.