diff options
author | Robin Rosenberg <robin.rosenberg@dewire.com> | 2010-01-14 23:53:11 +0100 |
---|---|---|
committer | Robin Rosenberg <robin.rosenberg@dewire.com> | 2010-01-15 07:17:34 +0100 |
commit | 0b8b6b5309f2510f1a2e1c3d77942fa9470dd324 (patch) | |
tree | b501b146827de359e3c6c5adfee07d8f0f311abb | |
parent | f5eb0d93660786213b98dadde7d93c5605454495 (diff) | |
download | jgit-0b8b6b5309f2510f1a2e1c3d77942fa9470dd324.tar.gz jgit-0b8b6b5309f2510f1a2e1c3d77942fa9470dd324.zip |
Introduce a named constant for the .git directory.
Not all occurrences of ".git" are replaced by this constant, only
those where it actually refers to the directory with that name, i.e
not the ".git" directory suffix.
Asserts and comment are also excluded from replacement.
Change-Id: I65a9da89aedd53817f2ea3eaab4f9c2bed35d7ee
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
15 files changed, 48 insertions, 37 deletions
diff --git a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java index ddace0df2e..001deb262b 100644 --- a/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java +++ b/org.eclipse.jgit.junit/src/org/eclipse/jgit/junit/LocalDiskRepositoryTestCase.java @@ -286,7 +286,7 @@ public abstract class LocalDiskRepositoryTestCase extends TestCase { */ private Repository createRepository(boolean bare) throws IOException { String uniqueId = System.currentTimeMillis() + "_" + (testCount++); - String gitdirName = "test" + uniqueId + (bare ? "" : "/") + ".git"; + String gitdirName = "test" + uniqueId + (bare ? "" : "/") + Constants.DOT_GIT; File gitdir = new File(trash, gitdirName).getCanonicalFile(); Repository db = new Repository(gitdir); diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java index 3fe50d6682..10bb357e26 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clone.java @@ -100,7 +100,7 @@ class Clone extends AbstractFetchCommand { } } if (gitdir == null) - gitdir = new File(localName, ".git"); + gitdir = new File(localName, Constants.DOT_GIT); db = new Repository(gitdir); db.create(); diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java index c799222f56..caf4f30e3b 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Glog.java @@ -1,4 +1,5 @@ /* + * Copyright (C) 2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. * @@ -57,6 +58,7 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import org.eclipse.jgit.awtui.CommitGraphPane; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.revplot.PlotWalk; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevSort; @@ -125,7 +127,7 @@ class Glog extends RevWalkTextBuiltin { private String repoName() { final File f = db.getDirectory(); String n = f.getName(); - if (".git".equals(n)) + if (Constants.DOT_GIT.equals(n)) n = f.getParentFile().getName(); return n; } diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java index b6a4a44a9e..a8fe7d8a53 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Init.java @@ -1,6 +1,7 @@ /* * Copyright (C) 2009, Constantine Plotnikov <constantine.plotnikov@gmail.com> * Copyright (C) 2008, Google Inc. + * Copyright (C) 2010, Robin Rosenberg <robin.rosenberg@dewire.com> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -47,6 +48,7 @@ package org.eclipse.jgit.pgm; import java.io.File; import org.kohsuke.args4j.Option; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; @Command(common = true, usage = "Create an empty git repository") @@ -62,7 +64,7 @@ class Init extends TextBuiltin { @Override protected void run() throws Exception { if (gitdir == null) - gitdir = new File(bare ? "." : ".git"); + gitdir = new File(bare ? "." : Constants.DOT_GIT); db = new Repository(gitdir); db.create(bare); out.println("Initialized empty Git repository in " diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java index b4c5660a6d..10ebef4637 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java @@ -228,7 +228,7 @@ public class Main { } File current = new File("").getAbsoluteFile(); while (current != null) { - final File gitDir = new File(current, ".git"); + final File gitDir = new File(current, Constants.DOT_GIT); if (gitDir.isDirectory()) return gitDir; current = current.getParentFile(); diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java index c6a6fd0cbf..f43a2793ee 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/ReceivePack.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2008-2009, Google Inc. - * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2009-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -47,6 +47,7 @@ package org.eclipse.jgit.pgm; import java.io.File; import org.kohsuke.args4j.Argument; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; @Command(common = false, usage = "Server side backend for 'jgit push'") @@ -63,8 +64,8 @@ class ReceivePack extends TextBuiltin { protected void run() throws Exception { final org.eclipse.jgit.transport.ReceivePack rp; - if (new File(dstGitdir, ".git").isDirectory()) - dstGitdir = new File(dstGitdir, ".git"); + if (new File(dstGitdir, Constants.DOT_GIT).isDirectory()) + dstGitdir = new File(dstGitdir, Constants.DOT_GIT); db = new Repository(dstGitdir); if (!db.getObjectsDirectory().isDirectory()) throw die("'" + dstGitdir.getPath() + "' not a git repository"); diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java index 85dbbc5d9c..ea30899dcb 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/UploadPack.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2008-2009, Google Inc. - * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2009-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * and other copyright owners as documented in the project's IP log. * * This program and the accompanying materials are made available @@ -48,6 +48,7 @@ import java.io.File; import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Option; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; @Command(common = false, usage = "Server side backend for 'jgit fetch'") @@ -67,8 +68,8 @@ class UploadPack extends TextBuiltin { protected void run() throws Exception { final org.eclipse.jgit.transport.UploadPack rp; - if (new File(srcGitdir, ".git").isDirectory()) - srcGitdir = new File(srcGitdir, ".git"); + if (new File(srcGitdir, Constants.DOT_GIT).isDirectory()) + srcGitdir = new File(srcGitdir, Constants.DOT_GIT); db = new Repository(srcGitdir); if (!db.getObjectsDirectory().isDirectory()) throw die("'" + srcGitdir.getPath() + "' not a git repository"); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java index e29e9e7214..e0cc345103 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0003_Basic.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2007, Dave Watson <dwatson@mimvista.com> - * Copyright (C) 2007-2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2007-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2006-2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. * @@ -57,7 +57,7 @@ import org.eclipse.jgit.errors.ConfigInvalidException; public class T0003_Basic extends SampleDataRepositoryTestCase { public void test001_Initalize() { - final File gitdir = new File(trash, ".git"); + final File gitdir = new File(trash, Constants.DOT_GIT); final File objects = new File(gitdir, "objects"); final File objects_pack = new File(objects, "pack"); final File objects_info = new File(objects, "info"); @@ -97,11 +97,11 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { */ public void test000_openrepo_default_gitDirSet() throws IOException { File repo1Parent = new File(trash.getParentFile(), "r1"); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(repo1Parent, r.getWorkDir()); @@ -117,11 +117,11 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { */ public void test000_openrepo_default_gitDirAndWorkTreeSet() throws IOException { File repo1Parent = new File(trash.getParentFile(), "r1"); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, repo1Parent.getParentFile()); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(repo1Parent.getParentFile(), r.getWorkDir()); @@ -137,11 +137,11 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { */ public void test000_openrepo_default_workDirSet() throws IOException { File repo1Parent = new File(trash.getParentFile(), "r1"); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(null, repo1Parent); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(repo1Parent, r.getWorkDir()); @@ -159,14 +159,14 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { File repo1Parent = new File(trash.getParentFile(), "r1"); File workdir = new File(trash.getParentFile(), "rw"); workdir.mkdir(); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.getConfig().setString("core", null, "worktree", workdir.getAbsolutePath()); repo1initial.getConfig().save(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(workdir, r.getWorkDir()); @@ -184,14 +184,14 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { File repo1Parent = new File(trash.getParentFile(), "r1"); File workdir = new File(trash.getParentFile(), "rw"); workdir.mkdir(); - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.getConfig() .setString("core", null, "worktree", "../../rw"); repo1initial.getConfig().save(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null); assertEqualsPath(theDir, r.getDirectory()); assertEqualsPath(workdir, r.getWorkDir()); @@ -211,11 +211,11 @@ public class T0003_Basic extends SampleDataRepositoryTestCase { File indexFile = new File(trash, "idx"); File objDir = new File(trash, "../obj"); File[] altObjDirs = new File[] { db.getObjectsDirectory() }; - Repository repo1initial = new Repository(new File(repo1Parent, ".git")); + Repository repo1initial = new Repository(new File(repo1Parent, Constants.DOT_GIT)); repo1initial.create(); repo1initial.close(); - File theDir = new File(repo1Parent, ".git"); + File theDir = new File(repo1Parent, Constants.DOT_GIT); Repository r = new Repository(theDir, null, objDir, altObjDirs, indexFile); assertEqualsPath(theDir, r.getDirectory()); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java index 05de98c1aa..405ddee97c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java @@ -308,6 +308,9 @@ public final class Constants { /** Default remote name used by clone, push and fetch operations */ public static final String DEFAULT_REMOTE_NAME = "origin"; + /** Default name for the Git repository directory */ + public static final String DOT_GIT = ".git"; + /** * Create a new digest function for objects. * diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java index bbc5cc2a6a..91a97740e5 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2007, Dave Watson <dwatson@mimvista.com> - * Copyright (C) 2006-2009, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2006-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2006-2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. * @@ -183,7 +183,7 @@ public class Repository { if (workTree != null) { workDir = workTree; if (d == null) - gitDir = new File(workTree, ".git"); + gitDir = new File(workTree, Constants.DOT_GIT); else gitDir = d; } else { diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java index f0fc544de9..a758564bf8 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java @@ -377,8 +377,8 @@ public class RepositoryCache { public static File resolve(final File directory) { if (isGitRepository(directory)) return directory; - if (isGitRepository(new File(directory, ".git"))) - return new File(directory, ".git"); + if (isGitRepository(new File(directory, Constants.DOT_GIT))) + return new File(directory, Constants.DOT_GIT); final String name = directory.getName(); final File parent = directory.getParentFile(); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java index 8bb22275b5..a99a9b4131 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/TransportLocal.java @@ -56,6 +56,7 @@ import java.io.PipedOutputStream; import org.eclipse.jgit.errors.NotSupportedException; import org.eclipse.jgit.errors.TransportException; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.util.FS; @@ -101,8 +102,8 @@ class TransportLocal extends Transport implements PackTransport { super(local, uri); File d = FS.resolve(new File(PWD), uri.getPath()).getAbsoluteFile(); - if (new File(d, ".git").isDirectory()) - d = new File(d, ".git"); + if (new File(d, Constants.DOT_GIT).isDirectory()) + d = new File(d, Constants.DOT_GIT); remoteGitDir = d; } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java index 1f7bad1838..4eb87c6ad0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/transport/URIish.java @@ -50,6 +50,8 @@ import java.net.URL; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.eclipse.jgit.lib.Constants; + /** * This URI like construct used for referencing Git archives over the net, as * well as locally stored archives. The most important difference compared to @@ -57,8 +59,6 @@ import java.util.regex.Pattern; * any special character is written as-is. */ public class URIish { - private static final String DOT_GIT = ".git"; - private static final Pattern FULL_URI = Pattern .compile("^(?:([a-z][a-z0-9+-]+)://(?:([^/]+?)(?::([^/]+?))?@)?(?:([^/]+?))?(?::(\\d+))?)?((?:[A-Za-z]:)?/.+)$"); @@ -408,7 +408,7 @@ public class URIish { if (elements.length == 0) throw new IllegalArgumentException(); String result = elements[elements.length - 1]; - if (DOT_GIT.equals(result)) + if (Constants.DOT_GIT.equals(result)) result = elements[elements.length - 2]; else if (result.endsWith(DOT_GIT)) result = result.substring(0, result.length() - DOT_GIT.length()); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java index 10bb539a29..19db39a8ff 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java @@ -1,6 +1,6 @@ /* * Copyright (C) 2008, Google Inc. - * Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com> + * Copyright (C) 2007-2010, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> * Copyright (C) 2009, Tor Arne Vestbø <torarnv@gmail.com> * and other copyright owners as documented in the project's IP log. @@ -52,6 +52,7 @@ import java.io.IOException; import java.io.InputStream; import org.eclipse.jgit.errors.IncorrectObjectTypeException; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.util.FS; @@ -124,7 +125,7 @@ public class FileTreeIterator extends WorkingTreeIterator { file = f; if (f.isDirectory()) { - if (new File(f, ".git").isDirectory()) + if (new File(f, Constants.DOT_GIT).isDirectory()) mode = FileMode.GITLINK; else mode = FileMode.TREE; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java index 0c6786bcd3..6b8a6cea4b 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java @@ -336,7 +336,7 @@ public abstract class WorkingTreeIterator extends AbstractTreeIterator { final String name = e.getName(); if (".".equals(name) || "..".equals(name)) continue; - if (".git".equals(name)) + if (Constants.DOT_GIT.equals(name)) continue; if (i != o) entries[o] = e; |