diff options
Diffstat (limited to 'src')
9 files changed, 230 insertions, 23 deletions
diff --git a/src/main/java/com/gitblit/client/GitblitClient.java b/src/main/java/com/gitblit/client/GitblitClient.java index 66625a8e..f5bba1ad 100644 --- a/src/main/java/com/gitblit/client/GitblitClient.java +++ b/src/main/java/com/gitblit/client/GitblitClient.java @@ -253,9 +253,11 @@ public class GitblitClient implements Serializable { // create list of available scripts by excluding inherited scripts
List<String> scripts = new ArrayList<String>();
- for (String script : settings.pushScripts) {
- if (!inherited.contains(script)) {
- scripts.add(script);
+ if (!ArrayUtils.isEmpty(settings.pushScripts)) {
+ for (String script : settings.pushScripts) {
+ if (!inherited.contains(script)) {
+ scripts.add(script);
+ }
}
}
return scripts;
diff --git a/src/main/java/com/gitblit/servlet/AuthenticationFilter.java b/src/main/java/com/gitblit/servlet/AuthenticationFilter.java index 5710a4af..c21f8692 100644 --- a/src/main/java/com/gitblit/servlet/AuthenticationFilter.java +++ b/src/main/java/com/gitblit/servlet/AuthenticationFilter.java @@ -16,8 +16,6 @@ package com.gitblit.servlet;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
import java.security.Principal;
import java.util.Enumeration;
import java.util.HashMap;
@@ -103,12 +101,6 @@ public abstract class AuthenticationFilter extends DaggerFilter { url = url.substring(1);
}
String fullUrl = url + (StringUtils.isEmpty(params) ? "" : ("?" + params));
- try {
- fullUrl = URLDecoder.decode(fullUrl, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- logger.warn("UTF-8 decoding of URL failed: "+fullUrl, e);
- e.printStackTrace();
- }
return fullUrl;
}
diff --git a/src/main/java/com/gitblit/utils/StringUtils.java b/src/main/java/com/gitblit/utils/StringUtils.java index d7e1ea3d..087de543 100644 --- a/src/main/java/com/gitblit/utils/StringUtils.java +++ b/src/main/java/com/gitblit/utils/StringUtils.java @@ -129,6 +129,8 @@ public class StringUtils { retStr.append("%20");
} else if (inStr.charAt(i) == '&') {
retStr.append("%26");
+ } else if (inStr.charAt(i) == '+') {
+ retStr.append("%2B");
} else {
retStr.append(inStr.charAt(i));
}
@@ -398,7 +400,7 @@ public class StringUtils { * @return the first invalid character found or null if string is acceptable
*/
public static Character findInvalidCharacter(String name) {
- char[] validChars = { '/', '.', '_', '-', '~' };
+ char[] validChars = { '/', '.', '_', '-', '~', '+' };
for (char c : name.toCharArray()) {
if (!Character.isLetterOrDigit(c)) {
boolean ok = false;
diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties index 67920768..efc13a1e 100644 --- a/src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties @@ -100,6 +100,9 @@ gb.blob = blob gb.commitActivityTrend = aktivitetstrend for commits gb.commitActivityDOW = commit aktivitet gruppert p\u00e5 ukedag gb.commitActivityAuthors = prim\u00e6rforfattere etter aktivitet +gb.feed = feed +gb.cancel = avbryt +gb.changePassword = endre passord gb.isFederated = er federert gb.federateThis = federer dette repositoriet gb.federateOrigin = federere origin @@ -669,3 +672,73 @@ gb.ticketIsClosed = Denne ticketen er lukket gb.mergeToDescription = standard integration branch for merging av ticket patchsett gb.anonymousCanNotPropose = Anonyme brukere kan ikke foresl\u00e5 patchsett gb.youDoNotHaveClonePermission = Du har ikke tillatelse til \u00e5 klone dette repositoriet. +gb.myTickets = mine tickets +gb.yourAssignedTickets = tilordnet deg +gb.newMilestone = ny milep\u00e6l +gb.editMilestone = endre milep\u00e6l +gb.deleteMilestone = Slette milep\u00e6l \"{0}\"? +gb.milestoneDeleteFailed = Greide ikke å slette milep\u00e6l ''{0}''! +gb.notifyChangedOpenTickets = send meldin om endrede \u00e5pne tickets +gb.overdue = forfalt +gb.openMilestones = \u00e5pne milep\u00e6ler +gb.closedMilestones = lukkede milep\u00e6ler +gb.administration = administrasjon +gb.plugins = plugins +gb.extensions = extensions +gb.pleaseSelectProject = Vennligst velg prosjekt! +gb.accessPolicy = Tilgangspolicy +gb.accessPolicyDescription = Velg en tilgangspolicy for å kontrollere synlighet og tilganger. +gb.anonymousPolicy = Anonym view, clone og push +gb.anonymousPolicyDescription = Alle kan se, clone ofg pushe til dette repositoriet. +gb.authenticatedPushPolicy = Begrens push (Autentisert) +gb.authenticatedPushPolicyDescription = Alle kan se og klone dette repositoriet. Alle autentiserte brukere har lese og skrivetilgang. +gb.namedPushPolicy = Begrens push (navngitt) +gb.namedPushPolicyDescription = Alle kan se og klone repositoriet. Du bestemmer hvem som kan pushe. +gb.clonePolicy = Begrens Clone og Push +gb.clonePolicyDescription = Alle kan se dette repositoriet. Du bestemmer hvem som kan clone og pushe. +gb.viewPolicy = Begrense View, Clone og Push +gb.viewPolicyDescription = Du bestemmer hvem som kan se, clone og pushe til dette repositoriet. +gb.initialCommit = F\u00F8rste commit +gb.initialCommitDescription = Dette vil la deg kunne <code>git clone</code> repositoriet med en gang. Hopp over dette skrittet hvis du allerede har kj\u0F8rt if <code>git init</code> lokalt. +gb.initWithReadme = Inkluder en README +gb.initWithReadmeDescription = Dette vil generere en enkel README-fil i ditt repository. +gb.initWithGitignore = Inkluder en .gitignore fil +gb.initWithGitignoreDescription = Dette vil inkludere en konfigurasjonsfil som instruerer git-klienter til å ignorerer filer og kataloger som matcher definerte m\u00F8nstre. +gb.pleaseSelectGitIgnore = Vennligst velg en .gitignore fil +gb.receive = motta +gb.permissions = rettigheter +gb.ownersDescription = Eiere kan administrere alle repositoriets innstillinger men de kan ikke endre p\u00e5 repositoriets navn med mindre det er deres eget repository. +gb.userPermissionsDescription = Du kan spesifisere individuelle brukerrettigheter. Disse innstillingene overstyrer team- eller regul\u00e6ruttrykk-baserte rettigheter. +gb.teamPermissionsDescription = Du kan spesifisere individuelle team-rettigheter. Disse innstillingene overstyrer regul\u00e6ruttrykk-baserte rettigheter.. +gb.ticketSettings = Ticket innstillinger +gb.receiveSettings = Innstillinger for mottak av push +gb.receiveSettingsDescription = Kontrollerer pushing til repositoriet. +gb.preReceiveDescription = Pre-receive hooks blir utf\u00F8rt etter en committ er mottatt men <em>F\u00D8</em> refs har blitt oppdatert.<p>Dette er det passende stedet \u00e5 avvise en push.</p> +gb.postReceiveDescription = Post-receive hooks blir utf\u00F8rt etter en committ er mottatt og <em>ETTER</em> refs har blitt oppdatert.<p>Dette er det passende stedet for notifikasjoner, build triggers osv.</p> +gb.federationStrategyDescription = Kontroller om og hvordan dette repositoriet skal federeres med en annen Gitblit instans. +gb.federationSetsDescription = Dette repositoriet vil bli inkludert i de valgte federeringssettene. +gb.miscellaneous = ymse +gb.originDescription = URL'en som dette repositoriet ble klonet fra. +gb.gc = GC +gb.garbageCollection = Garbage Collection +gb.garbageCollectionDescription = Garbage collectoren vil pakke sammen l\u00F8se objekter pushet fra klientene og fjerne objekter det ikke refereres til fra minnet. +gb.commitMessageRendererDescription = Commit-meldinger kan vises som ren tekst, eller som markup. +gb.preferences = innstillinger +gb.accountPreferences = Kontoinnstillinger +gb.accountPreferencesDescription = Velg dine kontoinnstillinger +gb.languagePreference = Foretrukket spr\u00e5k +gb.languagePreferenceDescription = Velg ditt foretrukne spr\u00e5k for Gitblit +gb.emailMeOnMyTicketChanges = Send meg en epost når ticketen min endrer seg +gb.emailMeOnMyTicketChangesDescription = Send meg en epost for endringer jeg gjør på en ticket. +gb.displayNameDescription = Foretrukket visningsnavn +gb.emailAddressDescription = Prim\u00e6r epostadresse for notifikasjoner +gb.sshKeys = SSH n\u00F8kler +gb.sshKeysDescription = SSH public key autentisering er et sikkert alternativ til autentisering med passord +gb.addSshKey = Legg til SSH n\u00F8kkel +gb.key = N\u00F8kkel +gb.comment = Kommentar +gb.sshKeyCommentDescription = Angi en valgfri kommentar. Kommentaren vil bli ekstrahert fra n\u00F8kkeldataene hvis blank +gb.permission = Tilgang +gb.sshKeyPermissionDescription = Angi tilgangsrettinghet for SSH n\u00F8kkelen +gb.transportPreference = Foretrukket transport +gb.transportPreferenceDescription = Sett transportmetoden du foretrekker for cloning
\ No newline at end of file diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_CN.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_CN.properties index 5976614b..b5e4f658 100644 --- a/src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_CN.properties +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_CN.properties @@ -669,4 +669,76 @@ gb.repositoryIsFrozen = \u5f53\u524d\u7248\u672c\u5e93\u5df2\u88ab\u51bb\u7ed3\u gb.repositoryDoesNotAcceptPatchsets = \u5f53\u524d\u7248\u672c\u5e93\u4e0d\u5141\u8bb8\u8865\u4e01\u96c6\u3002 gb.serverDoesNotAcceptPatchsets = \u5f53\u524d\u670d\u52a1\u5668\u4e0d\u5141\u8bb8\u8865\u4e01\u96c6\u3002 gb.ticketIsClosed = \u5f53\u524d\u5de5\u5355\u5df2\u5173\u95ed\u3002 -gb.mergeToDescription = \u5408\u5e76\u5de5\u5355\u8865\u4e01\u96c6\u7684\u9ed8\u8ba4\u96c6\u6210\u5206\u652f
\ No newline at end of file +gb.mergeToDescription = \u5408\u5e76\u5de5\u5355\u8865\u4e01\u96c6\u7684\u9ed8\u8ba4\u96c6\u6210\u5206\u652f +gb.anonymousCanNotPropose = \u7981\u6b62\u533f\u540d\u7528\u6237\u63d0\u4ea4\u8865\u4e01\u96c6\u3002 +gb.youDoNotHaveClonePermission = \u60a8\u6ca1\u6709\u6743\u9650\u514b\u9686\u5f53\u524d\u7248\u672c\u5e93\u3002 +gb.myTickets = \u6211\u7684\u5de5\u5355 +gb.yourAssignedTickets = \u8d23\u4efb\u5de5\u5355 +gb.newMilestone = \u65b0\u5efa milestone +gb.editMilestone = \u7f16\u8f91 milestone +gb.deleteMilestone = \u5220\u9664 milestone \\"{0}\\"? +gb.milestoneDeleteFailed = \u5220\u9664 milestone ''{0}'' \u5931\u8d25! +gb.notifyChangedOpenTickets = \u5bf9\u53d1\u751f\u53d8\u52a8\u7684\u5df2\u5f00\u542f\u5de5\u5355\u53d1\u9001\u901a\u77e5 +gb.overdue = \u8fc7\u671f +gb.openMilestones = \u5df2\u5f00\u542f milestones +gb.closedMilestones = \u5df2\u5173\u95ed milestones +gb.administration = \u7ba1\u7406 +gb.plugins = \u63d2\u4ef6 +gb.extensions = \u6269\u5c55 +gb.pleaseSelectProject = \u8bf7\u9009\u62e9\u9879\u76ee! +gb.accessPolicy = \u8bbf\u95ee\u7b56\u7565 +gb.accessPolicyDescription = \u8bf7\u9009\u62e9\u4e00\u4e2a\u63a7\u5236\u7248\u672c\u5e93\u53ef\u89c1\u6027\u4ee5\u53caGit\u8bbf\u95ee\u6743\u9650\u7684\u8bbf\u95ee\u7b56\u7565\u3002 +gb.anonymousPolicy = \u533f\u540d\u67e5\u770b, \u514b\u9686\u548c\u63a8\u9001 +gb.anonymousPolicyDescription = \u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u67e5\u770b\uff0c\u514b\u9686\u4ee5\u53ca\u63a8\u9001\u81f3\u6b64\u7248\u672c\u5e93\u3002 +gb.authenticatedPushPolicy = \u9650\u5236\u63a8\u9001 (\u6388\u6743\u8bbf\u95ee) +gb.authenticatedPushPolicyDescription = \u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u67e5\u770b\u4ee5\u53ca\u514b\u9686\u6b64\u7248\u672c\u5e93\u3002\u4efb\u4f55\u5df2\u6388\u6743\u7528\u6237\u62e5\u6709RW+\u63a8\u9001\u6743\u9650\u3002 +gb.namedPushPolicy = \u9650\u5236\u63a8\u9001 (\u6307\u5b9a\u7528\u6237) +gb.namedPushPolicyDescription = \u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u67e5\u770b\u4ee5\u53ca\u514b\u9686\u6b64\u7248\u672c\u5e93\u3002 \u60a8\u53ef\u4ee5\u9009\u62e9\u62e5\u6709\u63a8\u9001\u6743\u9650\u7684\u7528\u6237\u3002 +gb.clonePolicy = \u9650\u5236\u514b\u9686\uff0c\u63a8\u9001 +gb.clonePolicyDescription = \u4efb\u4f55\u4eba\u90fd\u53ef\u4ee5\u770b\u5230\u6b64\u7248\u672c\u5e93\u3002\u60a8\u53ef\u4ee5\u9009\u62e9\u62e5\u6709\u514b\u9686\u548c\u63a8\u9001\u6743\u9650\u7684\u7528\u6237\u3002 +gb.viewPolicy = \u9650\u5236\u67e5\u770b\uff0c\u514b\u9686\u548c\u63a8\u9001 +gb.viewPolicyDescription = \u60a8\u53ef\u4ee5\u9009\u62e9\u62e5\u6709\u67e5\u770b\uff0c\u514b\u9686\u548c\u63a8\u9001\u6743\u9650\u7684\u7528\u6237\u3002 +gb.initialCommit = \u521d\u59cb\u5316\u63d0\u4ea4 +gb.initialCommitDescription = \u6b64\u529f\u80fd\u76f8\u5f53\u4e8e\u76f4\u63a5\u5bf9\u5f53\u524d\u7248\u672c\u5e93\u8fdb\u884c <code>git clone</code> \u3002 \u5982\u679c\u8df3\u8fc7\u6b64\u6b65\uff0c\u60a8\u5fc5\u987b\u5728\u672c\u5730\u8fdb\u884c <code>git init</code> \u3002 +gb.initWithReadme = \u52a0\u5165 README +gb.initWithReadmeDescription = \u6b64\u529f\u80fd\u4f1a\u81ea\u52a8\u751f\u6210\u4e00\u4e2a\u60a8\u7684\u7248\u672c\u5e93\u7684 README \u6587\u4ef6\u3002 +gb.initWithGitignore = \u52a0\u5165 .gitignore \u6587\u4ef6 +gb.initWithGitignoreDescription = \u6b64\u529f\u80fd\u4f1a\u751f\u6210\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\uff0c\u65e8\u5728\u63d0\u793a Git \u5ba2\u6237\u7aef\u5ffd\u7565\u5bf9\u5e94\u7684\u6587\u4ef6\u6216\u6587\u4ef6\u5939\u3002 +gb.pleaseSelectGitIgnore = \u8bf7\u9009\u62e9\u4e00\u4e2a .gitignore \u6587\u4ef6 +gb.receive = receive +gb.permissions = permissions +gb.ownersDescription = \u7248\u672c\u5e93\u62e5\u6709\u8005\u62e5\u6709\u7248\u672c\u5e93\u7684\u6240\u6709\u7ba1\u7406\u6743\u9650\uff0c\u4f46\u662f\u53ea\u5141\u8bb8\u4fee\u6539\u79c1\u6709\u7248\u672c\u5e93\u7684\u540d\u79f0\u3002 +gb.userPermissionsDescription = \u60a8\u53ef\u4ee5\u8bbe\u7f6e\u79c1\u6709\u7528\u6237\u6743\u9650\u3002 \u6b64\u8bbe\u7f6e\u4f1a\u8986\u76d6\u56e2\u961f\u6743\u9650\u4ee5\u53caregex\u6743\u9650\u3002 +gb.teamPermissionsDescription = \u60a8\u53ef\u4ee5\u8bbe\u7f6e\u79c1\u6709\u56e2\u961f\u6743\u9650\u3002 \u6b64\u8bbe\u7f6e\u4f1a\u8986\u76d6regex\u6743\u9650\u3002 +gb.ticketSettings = \u5de5\u5355\u8bbe\u7f6e +gb.receiveSettings = Receive \u8bbe\u7f6e +gb.receiveSettingsDescription = Receive\u8bbe\u7f6e\u8bbe\u5b9a\u63a8\u9001\u81f3\u7248\u672c\u5e93\u65f6\u7684\u884c\u4e3a\u3002 +gb.preReceiveDescription = Pre-receive hooks \u4f1a\u5728\u63a8\u9001\u63a5\u6536\u540e\uff0c refs \u66f4\u65b0<em>\u4e4b\u524d</em>\u6267\u884c\u3002<p>\u8fd9\u79cdhook\u662f\u8fdb\u884c\u63a8\u9001\u62d2\u7edd\u7684\u597d\u5de5\u5177\u3002</p> +gb.postReceiveDescription = Post-receive hooks \u4f1a\u5728\u63a8\u9001\u63a5\u6536\u540e\uff0c refs \u66f4\u65b0<em>\u4e4b\u540e</em>\u6267\u884c\u3002<p>\u8fd9\u79cdhook\u662f\u8fdb\u884c\u901a\u77e5\uff0c\u4f7f\u7528\u6784\u5efa\u89e6\u53d1\u5668\u7b49\u7684\u597d\u5de5\u5177\u3002</p> +gb.federationStrategyDescription = \u8bbe\u7f6e\u662f\u5426\u4ee5\u53ca\u5982\u4f55\u5c06\u5f53\u524d\u7248\u672c\u5e93\u4e0e\u5176\u4ed6Gitblit\u8fdb\u884cfederate\u3002 +gb.federationSetsDescription = \u5f53\u524d\u7248\u672c\u5e93\u5c06\u4f1a\u88ab\u5305\u542b\u8fdb\u9009\u5b9a\u7684federation\u96c6\u4e2d\u3002 +gb.miscellaneous = miscellaneous +gb.originDescription = \u5f53\u524d\u7248\u672c\u5e93\u7684\u514b\u9686\u6e90\u5730\u5740\u3002 +gb.gc = GC +gb.garbageCollection = \u5783\u573e\u6536\u96c6 +gb.garbageCollectionDescription = \u5783\u573e\u6536\u96c6\u5668\u4f1a\u5c06\u5ba2\u6237\u7aef\u6240\u53d1\u9001\u7684\u677e\u6563\u6587\u4ef6\u6253\u5305\u5e76\u5220\u9664\u5f53\u524d\u7248\u672c\u5e93\u4e2d\u672a\u88ab\u5f15\u7528\u7684\u5bf9\u8c61\u3002 +gb.commitMessageRendererDescription = \u53ef\u4ee5\u5c06\u63d0\u4ea4\u4fe1\u606f\u663e\u793a\u4e3a\u7eaf\u6587\u672c\u6216\u8005\u5df2\u6392\u7248\u7684Markup\u6587\u672c +gb.preferences = \u504f\u597d +gb.accountPreferences = \u7528\u6237\u504f\u597d +gb.accountPreferencesDescription = \u8bbe\u7f6e\u60a8\u7684\u7528\u6237\u504f\u597d +gb.languagePreference = \u8bed\u8a00\u504f\u597d +gb.languagePreferenceDescription = \u9009\u62e9\u60a8\u559c\u6b22\u7684Gitblit\u7ffb\u8bd1 +gb.emailMeOnMyTicketChanges = \u5728\u6211\u7684\u5de5\u5355\u53d1\u751f\u53d8\u5316\u540e\u90ae\u4ef6\u901a\u77e5\u6211 +gb.emailMeOnMyTicketChangesDescription = \u5bf9\u6211\u5728\u5de5\u5355\u4e2d\u4f5c\u51fa\u7684\u4fee\u6539\u53d1\u9001\u90ae\u4ef6\u901a\u77e5\u3002 +gb.displayNameDescription = \u9009\u62e9\u663e\u793a\u540d\u79f0 +gb.emailAddressDescription = \u63a5\u6536\u901a\u77e5\u7684\u4e3b\u8981\u90ae\u7bb1\u5730\u5740 +gb.sshKeys = SSH Keys +gb.sshKeysDescription = SSH \u516c\u7ea6\u8ba4\u8bc1\u662f\u4e00\u79cd\u4e0d\u540c\u4e8e\u5bc6\u7801\u8ba4\u8bc1\u7684\u5b89\u5168\u8ba4\u8bc1\u65b9\u6cd5\u3002 +gb.addSshKey = \u6dfb\u52a0 SSH Key +gb.key = Key +gb.comment = \u53d1\u8868 +gb.sshKeyCommentDescription = \u8f93\u5165\u8bc4\u8bba\uff08\u53ef\u4e3a\u7a7a\uff09. \u5982\u679c\u4e3a\u7a7a\uff0c \u8bc4\u8bba\u5185\u5bb9\u5c06\u4f1a\u4ece\u4e3b\u8981\u6570\u636e\u4e2d\u63d0\u53d6\u3002 +gb.permission = \u6743\u9650 +gb.sshKeyPermissionDescription = \u8bbe\u7f6eSSH key\u7684\u8bbf\u95ee\u6743\u9650 +gb.transportPreference = Transport \u504f\u597d +gb.transportPreferenceDescription = \u9009\u62e9\u60a8\u7528\u6765\u514b\u9686\u7684 Transport
\ No newline at end of file diff --git a/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java b/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java index dd723622..7a8adcf2 100644 --- a/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java +++ b/src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java @@ -32,24 +32,30 @@ public class Flotr2Charts extends Charts { @Override public void renderHead(IHeaderResponse response) { - + // add Google Chart JS API reference ServletContext servletContext = WebApplication.get().getServletContext(); String contextPath = servletContext.getContextPath(); - + response.renderJavascriptReference(contextPath + "/bootstrap/js/jquery.js"); response.renderJavascriptReference(contextPath + "/flotr2/flotr2.min.js"); response.renderCSSReference(contextPath + "/flotr2/flotr2.custom.css"); - + // prepare draw chart function StringBuilder sb = new StringBuilder(); - + line(sb, "$( document ).ready(function() {"); + line(sb, "try {"); // add charts to header for (Chart chart : charts) { chart.appendChart(sb); } - + line(sb, "} catch (exception) {"); + line(sb, " if (window.console && window.console.log) {"); + line(sb, " window.console.log('flotr2 exception');"); + line(sb, " window.console.log(exception);"); + line(sb, " }"); + line(sb, "}"); // end draw chart function line(sb, "});"); response.renderJavascript(sb.toString(), null); @@ -72,5 +78,5 @@ public class Flotr2Charts extends Charts { String valueName) { return new Flotr2BarChart(tagId, title, keyName, valueName); } - + } diff --git a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_no.html b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_no.html new file mode 100644 index 00000000..273e15f9 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_no.html @@ -0,0 +1,60 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" + xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.3-strict.dtd" + xml:lang="en" + lang="en"> + +<body> +<wicket:extend> +<div class="container"> +<div class="markdown"> +<div class="row"> + <div class="span10 offset1"> + <h3><center>Tomt Repository</center></h3> + <div class="alert alert-info"> + <span wicket:id="repository" style="font-weight: bold;">[repository]</span> er et tomt repository som ikke kan vises av Gitblit. + <p></p> + Vennligst push noen endringer inn til <span wicket:id="pushurl"></span> + <hr/> + Etter at du har pushet noen endringer, kan du <b>oppfriske</b> denne siden for \u00e5 se repositoriet. + </div> + + <h3><center>Opprett et nytt repository fra kommandolinjen</center></h3> + + <pre wicket:id="createSyntax"></pre> + + <h3><center>Push et eksisternde repository fra kommandolinjen</center></h3> + + <pre wicket:id="existingSyntax"></pre> + + <div class="span8 offset1"> + <h2><center>L\u00e6r Git</center></h2> + <p>Hvis du er usikker p\u00e5 hvordan du kan benytte denne informasjonen, vurder \u00e5 lese <a href="http://book.git-scm.com">Git Community Book</a> eller <a href="http://progit.org/book" target="_blank">Pro Git</a> for \u00e5 f\u00e5 en bedre forst\u00e5else av hvordan du kan bruke Git. </p> + + <h4>Open Source Git Clients</h4> + <table> + <tbody> + <tr><td>a href="http://git-scm.com">Git</a> - den offisielle, kommando-linje git</td></tr> + <tr><td>a href="http://tortoisegit.googlecode.com">TortoiseGit</a> - Windows filutforsker integrasjon (krever den offisielle kommando-linje git versjonen installert</td></tr> + <tr><td><a href="http://eclipse.org/egit">Eclipse/EGit</a> - Git for Eclipse IDE (basert p\u00e5 JGit, akkurat som Gitblit er)</tr> + <tr><td><a href="https://code.google.com/p/gitextensions/">Git Extensions</a> - En C# frontend for Git som integrerer med filutforskeren og Visual Studio.</td></tr> + <tr><td><a href="http://rowanj.github.io/gitx/">GitX-dev</a> - En git klient for OS X</td></tr> + </tbody> + </table> + + <h4>Commercial/Closed-Source Git Clients</h4> + <table> + <tbody> + <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a> - En Git og Mercurial klient for Windows, Mac, og Linux</td></tr> + <tr><td><a href="http://www.sourcetreeapp.com/">SourceTree</a> - En gratis Git og Mercurial klient for Windows og Mac</td></tr> + <tr><td>a href="http://www.git-tower.com/">Tower</a> - En git klient for Mac OS X </td></tr> + </tbody> + </table> + </div> +</div> +</div> +</div> +</div> +</wicket:extend> +</body> +</html> diff --git a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_zh_CN.html b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_zh_CN.html index 1acf4f82..72ce051e 100644 --- a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_zh_CN.html +++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_zh_CN.html @@ -20,11 +20,11 @@ 当你推送完毕后你可以 <b>刷新</b> 此页面重新查看您的版本库。 </div> - <h3><center>Create a new repository on the command-line</center></h3> + <h3><center>通过命令行创建一个新的版本库</center></h3> <pre wicket:id="createSyntax"></pre> - <h3><center>Push an existing repository from the command-line</center></h3> + <h3><center>通过命令行推送一个已存在的版本库</center></h3> <pre wicket:id="existingSyntax"></pre> @@ -46,7 +46,7 @@ <h4>商业/闭源 Git 客户端</h4> <table> <tbody> - <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a></td><td>Java 版本的支持 Git, Mercurial 和 SVN 客户端应用 (需要官方, 命令行 Git 的支持)</td></tr> + <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a></td><td>Java 版本的支持 Git, Mercurial 和 SVN 客户端应用 </td></tr> <tr><td><a href="http://www.sourcetreeapp.com/">SourceTree</a></td><td>免费的 Mac Git Mercurial 以及 SVN 客户端 and Mercurial</td></tr> <tr><td><a href="http://www.git-tower.com/">Tower</a></td><td>Mac OS X Git 客户端</td></tr> </tbody> diff --git a/src/site/administration.mkd b/src/site/administration.mkd index 6fc334e4..049a8273 100644 --- a/src/site/administration.mkd +++ b/src/site/administration.mkd @@ -20,7 +20,7 @@ All repository settings are stored within the repository `.git/config` file unde federationSets =
#### Repository Names
-Repository names must be case-insensitive-unique but are CASE-SENSITIVE ON CASE-SENSITIVE FILESYSTEMS. The name must be composed of letters, digits, or `/ _ - . ~`<br/>
+Repository names must be case-insensitive-unique but are CASE-SENSITIVE ON CASE-SENSITIVE FILESYSTEMS. The name must be composed of letters, digits, or `/ _ - . ~ +`<br/>
Whitespace is illegal.
Repositories can be grouped within subfolders. e.g. *libraries/mycoollib.git* and *libraries/myotherlib.git*
|