From 0fcfffcabbb7616afe53fba844d78999d187f266 Mon Sep 17 00:00:00 2001 From: Charles O'Farrell Date: Thu, 14 Aug 2008 20:13:45 +1000 Subject: [PATCH] Minor refactor of constants, including log and ROOT_DIR Signed-off-by: Charles O'Farrell Signed-off-by: Shawn O. Pearce --- org.spearce.jgit/src/org/spearce/jgit/lib/Constants.java | 3 +++ .../src/org/spearce/jgit/lib/RefLogWriter.java | 2 +- .../src/org/spearce/jgit/transport/TransportAmazonS3.java | 10 ++++++---- .../src/org/spearce/jgit/transport/TransportSftp.java | 6 +++--- .../org/spearce/jgit/transport/WalkPushConnection.java | 8 +++++--- .../spearce/jgit/transport/WalkRemoteObjectDatabase.java | 15 ++++++++------- 6 files changed, 26 insertions(+), 18 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/Constants.java b/org.spearce.jgit/src/org/spearce/jgit/lib/Constants.java index 8878efa8..331c7dc5 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/Constants.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/Constants.java @@ -216,6 +216,9 @@ public final class Constants { /** Prefix for tag refs */ public static final String TAGS_PREFIX = "refs/tags"; + /** Logs folder name */ + public static final String LOGS = "logs"; + /** Info refs folder */ public static final String INFO_REFS = "info/refs"; diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java b/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java index 8256d701..3aecaf2a 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/RefLogWriter.java @@ -70,7 +70,7 @@ public class RefLogWriter { String entry = buildReflogString(repo, oldCommit, commit, message); File directory = repo.getDirectory(); - File reflogfile = new File(directory, "logs/" + refName); + File reflogfile = new File(directory, Constants.LOGS + "/" + refName); File reflogdir = reflogfile.getParentFile(); if (!reflogdir.exists()) if (!reflogdir.mkdirs()) diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportAmazonS3.java b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportAmazonS3.java index 9aa25677..f9df36d3 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportAmazonS3.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportAmazonS3.java @@ -178,7 +178,7 @@ class TransportAmazonS3 extends WalkTransport { if (subpath.endsWith("/")) subpath = subpath.substring(0, subpath.length() - 1); String k = objectsKey; - while (subpath.startsWith("../")) { + while (subpath.startsWith(ROOT_DIR)) { k = k.substring(0, k.lastIndexOf('/')); subpath = subpath.substring(3); } @@ -264,7 +264,8 @@ class TransportAmazonS3 extends WalkTransport { private void readLooseRefs(final TreeMap avail) throws TransportException { try { - for (final String n : s3.list(bucket, resolveKey("../refs"))) + for (final String n : s3.list(bucket, resolveKey(ROOT_DIR + + "refs"))) readRef(avail, "refs/" + n); } catch (IOException e) { throw new TransportException(getURI(), "cannot list refs", e); @@ -274,8 +275,9 @@ class TransportAmazonS3 extends WalkTransport { private Ref readRef(final TreeMap avail, final String rn) throws TransportException { final String s; + String ref = ROOT_DIR + rn; try { - final BufferedReader br = openReader("../" + rn); + final BufferedReader br = openReader(ref); try { s = br.readLine(); } finally { @@ -284,7 +286,7 @@ class TransportAmazonS3 extends WalkTransport { } catch (FileNotFoundException noRef) { return null; } catch (IOException err) { - throw new TransportException(getURI(), "read ../" + rn, err); + throw new TransportException(getURI(), "read " + ref, err); } if (s == null) diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java index 6a5df074..78f4ad82 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/TransportSftp.java @@ -372,8 +372,8 @@ class TransportSftp extends WalkTransport { Map readAdvertisedRefs() throws TransportException { final TreeMap avail = new TreeMap(); readPackedRefs(avail); - readRef(avail, "../HEAD", "HEAD"); - readLooseRefs(avail, "../refs", "refs/"); + readRef(avail, ROOT_DIR + "HEAD", "HEAD"); + readLooseRefs(avail, ROOT_DIR + "refs", "refs/"); return avail; } @@ -423,7 +423,7 @@ class TransportSftp extends WalkTransport { if (line.startsWith("ref: ")) { final String p = line.substring("ref: ".length()); - Ref r = readRef(avail, "../" + p, p); + Ref r = readRef(avail, ROOT_DIR + p, p); if (r == null) r = avail.get(p); if (r != null) { diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkPushConnection.java b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkPushConnection.java index 9db70a8c..b417b6ef 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkPushConnection.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkPushConnection.java @@ -37,6 +37,8 @@ package org.spearce.jgit.transport; +import static org.spearce.jgit.transport.WalkRemoteObjectDatabase.ROOT_DIR; + import java.io.IOException; import java.io.OutputStream; import java.util.ArrayList; @@ -163,7 +165,7 @@ class WalkPushConnection extends BaseConnection implements PushConnection { @Override protected void writeFile(String file, byte[] content) throws IOException { - dest.writeFile("../" + file, content); + dest.writeFile(ROOT_DIR + file, content); } }; if (!packedRefUpdates.isEmpty()) { @@ -334,7 +336,7 @@ class WalkPushConnection extends BaseConnection implements PushConnection { try { final String ref = "ref: " + pickHEAD(updates) + "\n"; final byte[] bytes = Constants.encode(ref); - dest.writeFile("../HEAD", bytes); + dest.writeFile(ROOT_DIR + "HEAD", bytes); } catch (IOException e) { throw new TransportException(uri, "cannot create HEAD", e); } @@ -343,7 +345,7 @@ class WalkPushConnection extends BaseConnection implements PushConnection { final String config = "[core]\n" + "\trepositoryformatversion = 0\n"; final byte[] bytes = Constants.encode(config); - dest.writeFile("../config", bytes); + dest.writeFile(ROOT_DIR + "config", bytes); } catch (IOException e) { throw new TransportException(uri, "cannot create config", e); } diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java index a726c225..31d72e95 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/WalkRemoteObjectDatabase.java @@ -66,15 +66,15 @@ import org.spearce.jgit.util.NB; * independent {@link WalkFetchConnection}. */ abstract class WalkRemoteObjectDatabase { + static final String ROOT_DIR = "../"; + static final String INFO_PACKS = "info/packs"; static final String INFO_ALTERNATES = "info/alternates"; static final String INFO_HTTP_ALTERNATES = "info/http-alternates"; - static final String INFO_REFS = "../info/refs"; - - static final String PACKED_REFS = "../packed-refs"; + static final String INFO_REFS = ROOT_DIR + Constants.INFO_REFS; abstract URIish getURI(); @@ -269,7 +269,7 @@ abstract class WalkRemoteObjectDatabase { * deletion is not supported, or deletion failed. */ void deleteRef(final String name) throws IOException { - deleteFile("../" + name); + deleteFile(ROOT_DIR + name); } /** @@ -282,7 +282,7 @@ abstract class WalkRemoteObjectDatabase { * deletion is not supported, or deletion failed. */ void deleteRefLog(final String name) throws IOException { - deleteFile("../logs/" + name); + deleteFile(ROOT_DIR + Constants.LOGS + "/" + name); } /** @@ -306,7 +306,7 @@ abstract class WalkRemoteObjectDatabase { value.copyTo(b); b.write('\n'); - writeFile("../" + name, b.toByteArray()); + writeFile(ROOT_DIR + name, b.toByteArray()); } /** @@ -410,7 +410,8 @@ abstract class WalkRemoteObjectDatabase { protected void readPackedRefs(final Map avail) throws TransportException { try { - final BufferedReader br = openReader(PACKED_REFS); + final BufferedReader br = openReader(ROOT_DIR + + Constants.PACKED_REFS); try { readPackedRefsImpl(avail, br); } finally { -- 2.11.4.GIT