diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-06-24 12:57:02 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2010-06-25 17:46:40 -0700 |
commit | a63494edeead4670ac2d838d346ed0fcdfa2b181 (patch) | |
tree | b017b2a8fdf5b6f796823aad28e11a5819038df0 /org.eclipse.jgit/src/org | |
parent | c9c57d34debe1a522c715d416e68e3d1a5b18a1a (diff) | |
download | jgit-a63494edeead4670ac2d838d346ed0fcdfa2b181.tar.gz jgit-a63494edeead4670ac2d838d346ed0fcdfa2b181.zip |
Add RepositoryState.BARE
A bare repository cannot be checked out, committed to, etc. as it
doesn't have a working directory. Define this as a state since the
state enumeration exists only to describe how a working directory
can be modified.
Change-Id: I0a299013c6e42fef6cae3f6a9446f8f6c8e0514a
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'org.eclipse.jgit/src/org')
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java | 3 | ||||
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java | 8 |
2 files changed, 11 insertions, 0 deletions
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 4a4969841d..0ee0ca9d32 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Repository.java @@ -1188,6 +1188,9 @@ public class Repository { * @return an important state */ public RepositoryState getRepositoryState() { + if (isBare()) + return RepositoryState.BARE; + // Pre Git-1.6 logic if (new File(getWorkDir(), ".dotest").exists()) return RepositoryState.REBASING; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java index 901d1b516b..862b7ea0c0 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryState.java @@ -54,6 +54,14 @@ package org.eclipse.jgit.lib; * on the state are the only supported means of deciding what to do. */ public enum RepositoryState { + /** Has no work tree and cannot be used for normal editing. */ + BARE { + public boolean canCheckout() { return false; } + public boolean canResetHead() { return false; } + public boolean canCommit() { return false; } + public String getDescription() { return "Bare"; } + }, + /** * A safe state for working normally * */ |