@@ -38,7 +38,7 @@ public class Constants { | |||
public static final String ZIP_SERVLET_PATH = "/zip/"; | |||
public static final String BORDER = "***********************************************************"; | |||
public static enum AccessRestrictionType { | |||
NONE, PUSH, CLONE, VIEW; | |||
@@ -35,7 +35,7 @@ public class FileSettings implements IStoredSettings { | |||
private final Logger logger = LoggerFactory.getLogger(FileSettings.class); | |||
private final File propertiesFile; | |||
private Properties properties = new Properties(); | |||
private long lastread; | |||
@@ -43,7 +43,7 @@ public class FileSettings implements IStoredSettings { | |||
public FileSettings(String file) { | |||
this.propertiesFile = new File(file); | |||
} | |||
@Override | |||
public List<String> getAllKeys(String startingWith) { | |||
startingWith = startingWith.toLowerCase(); | |||
@@ -144,7 +144,7 @@ public class FileSettings implements IStoredSettings { | |||
return strings; | |||
} | |||
private synchronized Properties read() { | |||
private synchronized Properties read() { | |||
if (propertiesFile.exists() && (propertiesFile.lastModified() > lastread)) { | |||
FileInputStream is = null; | |||
try { |
@@ -297,8 +297,9 @@ public class GitBlitServer { | |||
handler = rootContext; | |||
} | |||
logger.info("Git repositories folder " + new File(params.repositoriesFolder).getAbsolutePath()); | |||
logger.info("Git repositories folder " | |||
+ new File(params.repositoriesFolder).getAbsolutePath()); | |||
// Set the server's contexts | |||
server.setHandler(handler); | |||
@@ -384,7 +385,7 @@ public class GitBlitServer { | |||
private final ServerSocket socket; | |||
private final Server server; | |||
private final Logger logger = LoggerFactory.getLogger(ShutdownMonitorThread.class); | |||
public ShutdownMonitorThread(Server server, Params params) { | |||
@@ -424,7 +425,7 @@ public class GitBlitServer { | |||
@Parameters(separators = " ") | |||
private static class Params { | |||
private static final FileSettings FILESETTINGS = new FileSettings(Constants.PROPERTIES_FILE); | |||
/* |
@@ -44,7 +44,7 @@ import com.beust.jcommander.Parameters; | |||
import com.gitblit.utils.TimeUtils; | |||
public class MakeCertificate { | |||
private static final String BC = org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME; | |||
public static void main(String... args) { | |||
@@ -157,7 +157,7 @@ public class MakeCertificate { | |||
private static class Params { | |||
private static final FileSettings FILESETTINGS = new FileSettings(Constants.PROPERTIES_FILE); | |||
@Parameter(names = { "--alias" }, description = "Server alias", required = true) | |||
public String alias; | |||
@@ -26,7 +26,7 @@ public class ByteFormat extends Format { | |||
public ByteFormat() { | |||
} | |||
public String format(long value) { | |||
return format(new Long(value)); | |||
} | |||
@@ -51,7 +51,7 @@ public class ByteFormat extends Format { | |||
} | |||
return buf; | |||
} | |||
public Object parseObject(String source, ParsePosition pos) { | |||
return null; | |||
} |
@@ -35,23 +35,23 @@ import com.gitblit.utils.JGitUtils.DiffOutputType; | |||
public class DiffUtils { | |||
private static final Logger LOGGER = LoggerFactory.getLogger(DiffUtils.class); | |||
public static String getCommitDiff(Repository r, RevCommit commit, DiffOutputType outputType) { | |||
return getCommitDiff(r, null, commit, null, outputType); | |||
return getDiff(r, null, commit, null, outputType); | |||
} | |||
public static String getCommitDiff(Repository r, RevCommit commit, String path, | |||
public static String getDiff(Repository r, RevCommit commit, String path, | |||
DiffOutputType outputType) { | |||
return getCommitDiff(r, null, commit, path, outputType); | |||
return getDiff(r, null, commit, path, outputType); | |||
} | |||
public static String getCommitDiff(Repository r, RevCommit baseCommit, RevCommit commit, | |||
public static String getDiff(Repository r, RevCommit baseCommit, RevCommit commit, | |||
DiffOutputType outputType) { | |||
return getCommitDiff(r, baseCommit, commit, null, outputType); | |||
return getDiff(r, baseCommit, commit, null, outputType); | |||
} | |||
public static String getCommitDiff(Repository r, RevCommit baseCommit, RevCommit commit, | |||
String path, DiffOutputType outputType) { | |||
public static String getDiff(Repository r, RevCommit baseCommit, RevCommit commit, String path, | |||
DiffOutputType outputType) { | |||
try { | |||
RevTree baseTree; | |||
if (baseCommit == null) { |
@@ -186,7 +186,7 @@ public class JGitUtils { | |||
if (r != null && r.getDirectory().exists()) { | |||
return new File(r.getDirectory(), Constants.R_HEADS).list().length > 0; | |||
} | |||
return false; | |||
return false; | |||
} | |||
public static Date getLastChange(Repository r) { |
@@ -48,13 +48,13 @@ public class BlobDiffPage extends RepositoryPage { | |||
String diff; | |||
if (StringUtils.isEmpty(baseObjectId)) { | |||
// use first parent | |||
diff = DiffUtils.getCommitDiff(r, commit, blobPath, diffType); | |||
diff = DiffUtils.getDiff(r, commit, blobPath, diffType); | |||
add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, | |||
WicketUtils.newPathParameter(repositoryName, objectId, blobPath))); | |||
} else { | |||
// base commit specified | |||
RevCommit baseCommit = JGitUtils.getCommit(r, baseObjectId); | |||
diff = DiffUtils.getCommitDiff(r, baseCommit, commit, blobPath, diffType); | |||
diff = DiffUtils.getDiff(r, baseCommit, commit, blobPath, diffType); | |||
add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class, | |||
WicketUtils.newBlobDiffParameter(repositoryName, baseObjectId, objectId, | |||
blobPath))); |
@@ -143,7 +143,7 @@ public class EditUserPage extends BasePage { | |||
repos.add(selectedRepositories.next().toLowerCase()); | |||
} | |||
userModel.repositories.clear(); | |||
userModel.repositories.addAll(repos); | |||
userModel.repositories.addAll(repos); | |||
try { | |||
GitBlit.self().editUserModel(oldName, userModel, isCreate); | |||
} catch (GitBlitException e) { |
@@ -45,12 +45,12 @@ public class LoginPage extends WebPage { | |||
setRedirect(true); | |||
setResponsePage(getApplication().getHomePage()); | |||
} | |||
add(new Label("title", GitBlit.getString(Keys.web.siteName, Constants.NAME))); | |||
add(new Label("name", Constants.NAME)); | |||
StatelessForm<Void> loginForm = new StatelessForm<Void>("loginForm") { | |||
private static final long serialVersionUID = 1L; | |||
@Override |
@@ -87,6 +87,6 @@ public class PathBreadcrumbsPanel extends Panel { | |||
this.name = name; | |||
this.path = path; | |||
this.isLeaf = isLeaf; | |||
} | |||
} | |||
} | |||
} |
@@ -24,10 +24,10 @@ public class ByteFormatTest extends TestCase { | |||
public void testByteFormat() throws Exception { | |||
ByteFormat format = new ByteFormat(); | |||
assertTrue(format.format(10).equals("10 b")); | |||
assertTrue(format.format(1024*10).equals("10.0 KB")); | |||
assertTrue(format.format(1024*1000).equals("1,000.0 KB")); | |||
assertTrue(format.format(2*1024*1000).equals("2.0 MB")); | |||
assertTrue(format.format(1024*1024*1000).equals("1,000.0 MB")); | |||
assertTrue(format.format(2*1024*1024*1000).equals("2.0 GB")); | |||
assertTrue(format.format(1024 * 10).equals("10.0 KB")); | |||
assertTrue(format.format(1024 * 1000).equals("1,000.0 KB")); | |||
assertTrue(format.format(2 * 1024 * 1000).equals("2.0 MB")); | |||
assertTrue(format.format(1024 * 1024 * 1000).equals("1,000.0 MB")); | |||
assertTrue(format.format(2 * 1024 * 1024 * 1000).equals("2.0 GB")); | |||
} | |||
} |
@@ -0,0 +1,100 @@ | |||
/* | |||
* Copyright 2011 gitblit.com. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
*/ | |||
package com.gitblit.tests; | |||
import junit.framework.TestCase; | |||
import org.eclipse.jgit.lib.Repository; | |||
import org.eclipse.jgit.revwalk.RevCommit; | |||
import com.gitblit.utils.DiffUtils; | |||
import com.gitblit.utils.JGitUtils; | |||
import com.gitblit.utils.JGitUtils.DiffOutputType; | |||
public class DiffUtilsTest extends TestCase { | |||
public void testParentCommitDiff() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String diff = DiffUtils.getCommitDiff(repository, commit, DiffOutputType.PLAIN); | |||
repository.close(); | |||
assertTrue(diff != null && diff.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue(diff.indexOf(expected) > -1); | |||
} | |||
public void testArbitraryCommitDiff() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit baseCommit = JGitUtils.getCommit(repository, | |||
"8baf6a833b5579384d9b9ceb8a16b5d0ea2ec4ca"); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String diff = DiffUtils.getDiff(repository, baseCommit, commit, DiffOutputType.PLAIN); | |||
repository.close(); | |||
assertTrue(diff != null && diff.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue(diff.indexOf(expected) > -1); | |||
} | |||
public void testPlainFileDiff() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String diff = DiffUtils.getDiff(repository, commit, "java.java", DiffOutputType.PLAIN); | |||
repository.close(); | |||
assertTrue(diff != null && diff.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue(diff.indexOf(expected) > -1); | |||
} | |||
public void testFilePatch() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String patch = DiffUtils.getCommitPatch(repository, null, commit, "java.java"); | |||
repository.close(); | |||
assertTrue(patch != null && patch.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue(patch.indexOf(expected) > -1); | |||
} | |||
public void testArbitraryFilePatch() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit baseCommit = JGitUtils.getCommit(repository, | |||
"8baf6a833b5579384d9b9ceb8a16b5d0ea2ec4ca"); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String patch = DiffUtils.getCommitPatch(repository, baseCommit, commit, "java.java"); | |||
repository.close(); | |||
assertTrue(patch != null && patch.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue(patch.indexOf(expected) > -1); | |||
} | |||
public void testArbitraryCommitPatch() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit baseCommit = JGitUtils.getCommit(repository, | |||
"8baf6a833b5579384d9b9ceb8a16b5d0ea2ec4ca"); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String patch = DiffUtils.getCommitPatch(repository, baseCommit, commit, null); | |||
repository.close(); | |||
assertTrue(patch != null && patch.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue(patch.indexOf(expected) > -1); | |||
} | |||
} |
@@ -43,6 +43,7 @@ public class GitBlitSuite extends TestSetup { | |||
suite.addTestSuite(StringUtilsTest.class); | |||
suite.addTestSuite(ByteFormatTest.class); | |||
suite.addTestSuite(JGitUtilsTest.class); | |||
suite.addTestSuite(DiffUtilsTest.class); | |||
suite.addTestSuite(GitBlitTest.class); | |||
return new GitBlitSuite(suite); | |||
} |
@@ -28,12 +28,17 @@ public class GitBlitTest extends TestCase { | |||
public void testRepositoryModel() throws Exception { | |||
List<String> repositories = GitBlit.self().getRepositoryList(); | |||
assertTrue("Repository list is empty!", repositories.size() > 0); | |||
assertTrue("Missing Helloworld repository!", repositories.contains(GitBlitSuite.getHelloworldRepository().getDirectory().getName())); | |||
RepositoryModel model = GitBlit.self().getRepositoryModel(GitBlitSuite.getHelloworldRepository().getDirectory().getName()); | |||
assertTrue( | |||
"Missing Helloworld repository!", | |||
repositories.contains(GitBlitSuite.getHelloworldRepository().getDirectory() | |||
.getName())); | |||
RepositoryModel model = GitBlit.self().getRepositoryModel( | |||
GitBlitSuite.getHelloworldRepository().getDirectory().getName()); | |||
assertTrue("Helloworld model is null!", model != null); | |||
assertTrue(model.toString().equals(GitBlitSuite.getHelloworldRepository().getDirectory().getName())); | |||
assertTrue(model.toString().equals( | |||
GitBlitSuite.getHelloworldRepository().getDirectory().getName())); | |||
} | |||
public void testUserModel() throws Exception { | |||
List<String> users = GitBlit.self().getAllUsernames(); | |||
assertTrue("No users found!", users.size() > 0); |
@@ -34,9 +34,7 @@ import com.gitblit.models.PathModel.PathChangeModel; | |||
import com.gitblit.models.RefModel; | |||
import com.gitblit.models.TicketModel; | |||
import com.gitblit.models.TicketModel.Comment; | |||
import com.gitblit.utils.DiffUtils; | |||
import com.gitblit.utils.JGitUtils; | |||
import com.gitblit.utils.JGitUtils.DiffOutputType; | |||
public class JGitUtilsTest extends TestCase { | |||
@@ -65,10 +63,12 @@ public class JGitUtilsTest extends TestCase { | |||
public void testFirstCommit() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit commit = JGitUtils.getFirstCommit(repository, null); | |||
Date firstChange = JGitUtils.getFirstChange(repository, null); | |||
repository.close(); | |||
assertTrue("Could not get first commit!", commit != null); | |||
assertTrue("Incorrect first commit!", | |||
commit.getName().equals("f554664a346629dc2b839f7292d06bad2db4aece")); | |||
assertTrue(firstChange.equals(new Date(commit.getCommitTime() * 1000L))); | |||
} | |||
public void testRefs() throws Exception { | |||
@@ -137,17 +137,6 @@ public class JGitUtilsTest extends TestCase { | |||
} | |||
} | |||
public void testCommitDiff() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
RevCommit commit = JGitUtils.getCommit(repository, | |||
"1d0c2933a4ae69c362f76797d42d6bd182d05176"); | |||
String diff = DiffUtils.getCommitDiff(repository, commit, DiffOutputType.PLAIN); | |||
repository.close(); | |||
assertTrue("Failed to generate diff!", diff != null && diff.length() > 0); | |||
String expected = "- system.out.println(\"Hello World\");\n+ System.out.println(\"Hello World\""; | |||
assertTrue("Diff content mismatch!", diff.indexOf(expected) > -1); | |||
} | |||
public void testZip() throws Exception { | |||
Repository repository = GitBlitSuite.getHelloworldRepository(); | |||
File zipFile = new File(GitBlitSuite.REPOSITORIES, "helloworld.zip"); |
@@ -35,7 +35,7 @@ public class StringUtilsTest extends TestCase { | |||
String output = "this<br/>is<br/>a<br/>test<br/><br/>of<br/><br/>line<br/><br/>breaking"; | |||
assertTrue(StringUtils.breakLinesForHtml(input).equals(output)); | |||
} | |||
public void testEscapeForHtml() throws Exception { | |||
String input = "& < > \" \t"; | |||
String output_nochange = "& < > " \t"; | |||
@@ -64,11 +64,12 @@ public class StringUtilsTest extends TestCase { | |||
assertTrue(StringUtils.leftPad(input, input.length(), ' ').equals(input)); | |||
assertTrue(StringUtils.rightPad(input, input.length(), ' ').equals(input)); | |||
} | |||
public void testSHA1() throws Exception { | |||
assertTrue(StringUtils.getSHA1("blob 16\000what is up, doc?").equals("bd9dbf5aae1a3862dd1526723246b20206e5fc37")); | |||
assertTrue(StringUtils.getSHA1("blob 16\000what is up, doc?").equals( | |||
"bd9dbf5aae1a3862dd1526723246b20206e5fc37")); | |||
} | |||
public void testRootPath() throws Exception { | |||
String input = "/nested/path/to/repository"; | |||
String output = "/nested/path/to"; |