From 111b48c40cd2cc4e19e28c8b6af8379885fb617b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 16 Jun 2014 18:52:47 -0400 Subject: [PATCH] Merge release 1.6.0 --- src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_nl.html | 10 src/main/java/com/gitblit/wicket/pages/TicketsPage.java | 8 src/site/siteindex.mkd | 22 src/site/administration.mkd | 2 src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_it.html | 60 + src/site/tickets_replication.mkd | 4 src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_no.html | 60 + src/main/java/com/gitblit/wicket/GitBlitWebApp_it.properties | 745 +++++++++++++++++ src/main/java/com/gitblit/tickets/commands.md | 2 src/main/java/com/gitblit/wicket/pages/UserPage.html | 2 src/site/setup_transport_ssh.mkd | 12 src/site/tickets_setup.mkd | 2 release.template | 180 ++-- src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_ko.html | 22 src/main/java/login_de.mkd | 3 src/main/java/welcome_de.mkd | 3 src/main/java/login_it.mkd | 4 src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_CN.properties | 74 + src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties | 745 +++++++++++++++++ src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_zh_CN.html | 6 src/site/tickets_using.mkd | 17 src/main/java/com/gitblit/wicket/GitBlitWebApp_ko.properties | 70 + src/main/java/com/gitblit/client/GitblitClient.java | 8 src/main/java/com/gitblit/wicket/charting/Flotr2Charts.java | 18 src/site/plugins_overview.mkd | 2 HOME.md | 5 src/main/java/com/gitblit/wicket/pages/UserPage.java | 2 src/main/java/welcome_it.mkd | 3 src/site/features.mkd | 19 src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties | 73 + src/site/plugins_extensions.mkd | 1 README.markdown | 46 src/main/java/com/gitblit/transport/ssh/SshDaemon.java | 2 src/main/java/com/gitblit/servlet/AuthenticationFilter.java | 8 src/site/roadmap.mkd | 7 releases.moxie | 53 + build.xml | 30 build.moxie | 6 src/main/java/com/gitblit/utils/StringUtils.java | 4 src/main/java/com/gitblit/wicket/GitBlitWebApp_nl.properties | 90 + src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_de.html | 60 + 41 files changed, 2,299 insertions(+), 191 deletions(-) diff --git a/HOME.md b/HOME.md index 6d19d0d..7c5449d 100644 --- a/HOME.md +++ b/HOME.md @@ -18,11 +18,6 @@ [[src/site/setup_war.mkd]] [[src/site/upgrade_war.mkd]] -### Gitblit Express for OpenShift - -[[src/site/setup_express.mkd]] -[[src/site/upgrade_express.mkd]] - ### General Configuration & Administration [[src/site/setup_authentication.mkd]] diff --git a/README.markdown b/README.markdown index 76c15fc..a226049 100644 --- a/README.markdown +++ b/README.markdown @@ -1,7 +1,8 @@ Gitblit ================= -Gitblit is an open source, pure Java Git solution for managing, viewing, and serving [Git](http://git-scm.com) repositories. +Gitblit is an open source, pure Java Git solution for managing, viewing, and serving [Git](http://git-scm.com) repositories. It can serve repositories over the GIT, HTTP, and SSH transports; it can authenticate against multiple providers; and it allows you to get up-and-running with an attractive, capable Git server in less than 5 minutes. + More information about Gitblit can be found [here](http://gitblit.com). <a href='https://bintray.com/gitblit/releases/gitblit/_latestVersion'><img src='https://api.bintray.com/packages/gitblit/releases/gitblit/images/download.png'></a> @@ -12,11 +13,6 @@ Gitblit is distributed under the terms of the [Apache Software Foundation license, version 2.0](http://www.apache.org/licenses/LICENSE-2.0). The text of the license is included in the file LICENSE in the root of the project. -Contributing ------------- - -GitHub pull requests are preferred. Any contributions must be distributed under the terms of the [Apache Software Foundation license, version 2.0](http://www.apache.org/licenses/LICENSE-2.0). - Java Runtime Requirement ------------------------------------ @@ -25,8 +21,38 @@ Getting help ------------ -Read the online documentation available at the [Gitblit website](http://gitblit.com) -Issues, binaries, & sources @ [Google Code](http://code.google.com/p/gitblit) +| Source | Location | +| ------------- |--------------------------------------------------------| +| Documentation | [Gitblit website](http://gitblit.com) | +| Issues | [Google Code](http://code.google.com/p/gitblit) | +| Forums | [Google Groups](https://groups.google.com/forum/#!forum/gitblit) | +| Twitter | @gitblit or @jamesmoger | +| Google+ | +gitblit or +jamesmoger | + +Contributing +------------ + +GitHub pull requests or Gitblit Tickets are preferred. Any contributions must be distributed under the terms of the [Apache Software Foundation license, version 2.0](http://www.apache.org/licenses/LICENSE-2.0). + +**Workflow** + +Gitblit practices the [git-flow][1] branching model. + +- **master** is the current stable release + fixes accumulated since release. +- **develop** is the integration branch for the next major release. +- **ticket/N** are feature or hotfix branches to be merged to **master** or **develop**, as appropriate. + +**Feature Development** + +Development of new features is mostly done using [Gitblit Tickets][2] hosted at [dev.gitblit.com][3]. This allows continuous dogfooding and improvement of Gitbit's own issue-tracker and pull-request mechanism. + +**Release Planning** + +Release planning is mostly done using Gitblit Milestones and Gitblit Tickets hosted at [dev.gitblit.com][3]. + +**Releasing** + +When Gitblit is preparing for a release, a **release-{milestone}** branch will be created, tested, & fixed until it is ready to be merged to **master** and tagged as the next major release. After the release is tagged, the **release-{milestone}** branch will also be merged back into **develop** and then the release branch will be removed. Building Gitblit ---------------- @@ -49,3 +75,7 @@ ---------------------- 1. If you are running Ant from an ANSI-capable console, consider setting the `MX_COLOR` environment variable before executing Ant.<pre>set MX_COLOR=true</pre> 2. The build script will honor your Maven proxy settings. If you need to fine-tune this, please review the [settings.moxie](http://gitblit.github.io/moxie/settings.html) documentation. + +[1]: http://nvie.com/posts/a-successful-git-branching-model +[2]: http://gitblit.com/tickets_overview.html +[3]: https://dev.gitblit.com diff --git a/build.moxie b/build.moxie index c34712b..0c477e7 100644 --- a/build.moxie +++ b/build.moxie @@ -10,12 +10,12 @@ description: pure Java Git solution groupId: com.gitblit artifactId: gitblit -version: 1.6.0-SNAPSHOT +version: 1.6.0 inceptionYear: 2011 # Current stable release -releaseVersion: 1.5.1 -releaseDate: 2014-05-07 +releaseVersion: 1.6.0 +releaseDate: 2014-06-16 # Project urls url: 'http://gitblit.com' diff --git a/build.xml b/build.xml index c405d06..59dc6cb 100644 --- a/build.xml +++ b/build.xml @@ -560,6 +560,8 @@ <divider /> <link name="Gitblit GO (Docker)" src="https://registry.hub.docker.com/u/jmoger/gitblit/" /> <divider /> + <link name="Plugins Registry" src="http://plugins.gitblit.com" /> + <divider /> <link name="Gitblit Manager" src="${gc.url}manager-${project.releaseVersion}.zip" /> <link name="Federation Client" src="${gc.url}fedclient-${project.releaseVersion}.zip" /> <divider /> @@ -574,7 +576,7 @@ <menu name="links"> <link name="dev.gitblit.com (self-hosted)" src="https://dev.gitblit.com" /> <divider /> - <link name="Plugin Registry" src="http://plugins.gitblit.com" /> + <link name="Plugins Registry" src="http://plugins.gitblit.com" /> <divider /> <link name="Github" src="${project.scmUrl}" /> <link name="Issues" src="${project.issuesUrl}" /> @@ -778,16 +780,38 @@ </filterset> </copy> <chmod file="${recipe}" perm="ugo+rx" /> + </target> + + <!-- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Prepare for the next point release development cycle. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="nextPointReleaseCycle" depends="prepare" description="prepare for the next point release development cycle"> <!-- next cycle --> <mx:version stage="snapshot" incrementNumber="incremental" dryrun="${dryrun}" /> <mx:commit showtitle="no"> - <message>Reset build identifiers for next development cycle</message> + <message>Reset build identifiers for next point release cycle</message> </mx:commit> </target> <!-- + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Prepare for the next minor release development cycle. + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + --> + <target name="nextMinorReleaseCycle" depends="prepare" description="prepare for the next minor release development cycle"> + <!-- next cycle --> + <mx:version stage="snapshot" incrementNumber="minor" dryrun="${dryrun}" /> + <mx:commit showtitle="no"> + <message>Reset build identifiers for next minor release cycle</message> + </mx:commit> + </target> + + + <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Build Gitblit Docs ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -860,7 +884,7 @@ <menu name="links"> <link name="dev.gitblit.com (self-hosted)" src="https://dev.gitblit.com" /> <divider /> - <link name="Plugin Registry" src="http://plugins.gitblit.com" /> + <link name="Plugins Registry" src="http://plugins.gitblit.com" /> <divider /> <link name="Github" src="${project.scmUrl}" /> <link name="Issues" src="${project.issuesUrl}" /> diff --git a/release.template b/release.template index f248efd..a539c63 100644 --- a/release.template +++ b/release.template @@ -1,84 +1,96 @@ -#!/bin/bash -# -# ${project.version} release script -# - -# ensure Maven repository is up-to-date -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Preparing Maven repository" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -cd ${maven.directory} -git checkout gh-pages -git pull -cd ${project.directory} - -# go back one commit to RELEASE commit -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Checking out ${project.version} RELEASE commit ${project.commitId}" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -git checkout ${project.commitId} - -# build RELEASE artifacts -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Building ${project.version} RELEASE artifacts" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -ant clean buildAll buildMavenArtifacts - -# commit all generated artifacts and metadata -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Committing Maven repository ${project.version} RELEASE artifacts" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -cd ${maven.directory} -git add . -git commit -m "${project.version} artifacts" -cd ${project.directory} - -# upload artifacts -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Uploading ${project.version} artifacts" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -ant publishBinaries - -# build site, update gh-pages, and ftp upload site to hosting provider -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Building ${project.version} website" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -ant publishSite - -# return to project master -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Checking out master" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -git checkout master - -# push Maven repository to origin -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Pushing Maven repository" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -cd ${maven.directory} -git push origin gh-pages -cd ${project.directory} - -# push project branches -echo "" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "Pushing master, gh-pages, and tag ${project.tag}" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo "" -git push origin master gh-pages tag ${project.tag} +#!/bin/bash +# +# ${project.version} release script +# + +# ensure Maven repository is up-to-date +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Preparing Maven repository" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +cd ${maven.directory} +git checkout gh-pages +git pull +cd ${project.directory} + +# go back one commit to RELEASE commit +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Checking out ${project.version} RELEASE commit ${project.commitId}" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +git checkout ${project.commitId} + +# build RELEASE artifacts +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Building ${project.version} RELEASE artifacts" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +ant clean buildAll buildMavenArtifacts + +# commit all generated artifacts and metadata +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Committing Maven repository ${project.version} RELEASE artifacts" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +cd ${maven.directory} +git add . +git commit -m "${project.version} artifacts" +cd ${project.directory} + +# upload artifacts +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Uploading ${project.version} artifacts" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +ant publishBinaries + +# build site, update gh-pages, and ftp upload site to hosting provider +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Building ${project.version} website" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +ant publishSite + +# merge to master +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Merging release ${project.version} to master" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +git checkout master +git merge -m "Merge release ${project.version}" ${project.commitId} +ant nextPointReleaseCycle + +# merge to develop +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Merging release ${project.version} to develop" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +git checkout develop +git merge -m "Merge release ${project.version}" ${project.commitId} +ant nextMinorReleaseCycle + +# push Maven repository to origin +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Pushing Maven repository" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +cd ${maven.directory} +git push origin gh-pages +cd ${project.directory} + +# push project branches +echo "" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "Pushing master, develop, gh-pages, and tag ${project.tag}" +echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +echo "" +git push origin master develop gh-pages tag ${project.tag} diff --git a/releases.moxie b/releases.moxie index c1e11d9..04a991b 100644 --- a/releases.moxie +++ b/releases.moxie @@ -1,13 +1,32 @@ # -# ${project.version} release +# 1.6.0 release # r24: { - title: ${project.name} ${project.version} released - id: ${project.version} - date: ${project.buildDate} - note: ~ + title: Gitblit 1.6.0 released + id: 1.6.0 + date: 2014-06-16 + note: '' + The next major release (v1.7.0) will focus on: + * ticket-75: making projects more useful including the concept of project ownership + + This improvement will require a NON-BACKWARDS-COMPATIBLE migration of repository ownership from the RpeositoryModel to the UserModel + + * ticket-55: facilitating usage of tickets & git-flow in the web ui + '' html: ~ - text: ~ + text: '' + Highlights: + + * My Tickets page + * User Preferences web ui + * SSH key management web ui + * Basic CRUD pages for ticket milestones + * Overhaul repository creation, editing, and empty repository pages + + If you are upgrading, you might consider copying the data/gitignore folder to your ${baseFolder} to allow selection & injection of a .gitignore when creating a repository. + + The OpenShift Express build has been dropped. You can deploy GO or WAR on Express so this build is no longer necessary. + '' security: ~ fixes: - Allow ticket responsible selection if anonymous push is enabled (issue-425, ticket-71) @@ -19,6 +38,9 @@ - Removed Ticket responsible team permission exclusion (ticket-87) - Fixed SSH daemon thread exhaustion (ticket-89) - Fixed Ticket responsible selections not considering the AUTHENTICATED authorization control (ticket-91) + - Fixed invalid generated SSH url for port 22 (issue-444, ticket-98) + - Fix cloning repositories with `+` in their names. (revert pr-136, issue-362, ticket-100) + - Fixed NPE in GitblitClient (ticket-102) changes: - Split the pages servlet into a raw servlet and a pages servlet. All raw links now use the raw servlet (issue-413, ticket-49) - Drop deprecated --set-upstream syntax for -u (ticket-59) @@ -26,6 +48,7 @@ - BARNUM: Create ticket/N instead of topic/N for pt start N (ticket-61) - Move repository deletion functions to the edit repository page AND allow deletion to be disabled (pr-180, ticket-67) - Update the Korean translation (pr-184, ticket-69) + - Update the Dutch translation (pr-191) - Overhaul the EmptyRepositoryPage (ticket-73) - Overhauled the edit repository page (ticket-76) - Process bugtraq links in the ticket description and comments (ticket-78) @@ -45,6 +68,9 @@ - Tag server-side merges when incremental push tags are enabled (issue-432, ticket-85) - Add a user preference for the clone transport (ticket-90) - Add setting to control default thread pool size for miscellaneous background tasks (ticket-92) + - Add Norwegian transation (pr-186) + - Add German translation (pr-192) + - Add Italian translation (pr-196) dependencyChanges: - Update to javax.mail 1.5.1 (issue-417, ticket-58) contributors: @@ -58,6 +84,15 @@ - Matthias Cullmann - Emmeran Seehuber - Sascha Vogt + - Carsten Lenz + - Matthias Sohn + - Leif Jantzen + - Stardrad Yin + - Jeroen Baten + - Dongsu Kim + - Karanbir Singh + - Tamás Papp + - GianMaria Romanato settings: - { name: 'web.allowDeletingNonEmptyRepositories', defaultValue: 'true' } - { name: 'web.includePersonalRepositories', defaultValue: 'false' } @@ -1379,6 +1414,6 @@ - James Moger } -snapshot: &r24 -release: &r23 -releases: &r[1..23] +snapshot: ~ +release: &r24 +releases: &r[1..24] diff --git a/src/main/java/com/gitblit/client/GitblitClient.java b/src/main/java/com/gitblit/client/GitblitClient.java index 66625a8..f5bba1a 100644 --- a/src/main/java/com/gitblit/client/GitblitClient.java +++ b/src/main/java/com/gitblit/client/GitblitClient.java @@ -253,9 +253,11 @@ // 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 5710a4a..c21f869 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 @@ 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/tickets/commands.md b/src/main/java/com/gitblit/tickets/commands.md index 87fe515..84d9ccc 100644 --- a/src/main/java/com/gitblit/tickets/commands.md +++ b/src/main/java/com/gitblit/tickets/commands.md @@ -6,6 +6,6 @@ To review a rewritten patchset - git fetch origin && git checkout ${ticketBranch} && git reset --hard origin/${ticketBranch} + git fetch origin && git checkout -B ${ticketBranch} diff --git a/src/main/java/com/gitblit/transport/ssh/SshDaemon.java b/src/main/java/com/gitblit/transport/ssh/SshDaemon.java index 7c51290..261daa6 100644 --- a/src/main/java/com/gitblit/transport/ssh/SshDaemon.java +++ b/src/main/java/com/gitblit/transport/ssh/SshDaemon.java @@ -142,7 +142,7 @@ public String formatUrl(String gituser, String servername, String repository) { if (sshd.getPort() == DEFAULT_PORT) { // standard port - return MessageFormat.format("{0}@{1}/{2}", gituser, servername, + return MessageFormat.format("ssh://{0}@{1}/{2}", gituser, servername, repository); } else { // non-standard port diff --git a/src/main/java/com/gitblit/utils/StringUtils.java b/src/main/java/com/gitblit/utils/StringUtils.java index d7e1ea3..087de54 100644 --- a/src/main/java/com/gitblit/utils/StringUtils.java +++ b/src/main/java/com/gitblit/utils/StringUtils.java @@ -129,6 +129,8 @@ 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 @@ * @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_de.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties new file mode 100644 index 0000000..3ec330b --- /dev/null +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties @@ -0,0 +1,745 @@ +gb.repository = Repository +gb.owner = Besitzer +gb.description = Beschreibung +gb.lastChange = Letzte \u00c4nderung +gb.refs = Refs +gb.tag = Tag +gb.tags = Tags +gb.author = Autor +gb.committer = Committer +gb.commit = Commit +gb.age = Alter +gb.tree = Dateibaum +gb.parent = Parent +gb.url = URL +gb.history = Historie +gb.raw = Raw +gb.object = Object +gb.ticketId = Ticket Id +gb.ticketAssigned = Zugewiesen +gb.ticketOpenDate = Erstellt +gb.ticketStatus = Status +gb.ticketComments = Kommentare +gb.view = Ansicht +gb.local = Lokal +gb.remote = Remote +gb.branches = Branches +gb.patch = Patch +gb.diff = Diff +gb.log = Log +gb.moreLogs = Weitere Commits... +gb.allTags = Alle Tags... +gb.allBranches = Alle Branches... +gb.summary = \u00dcbersicht +gb.ticket = Ticket +gb.newRepository = Neues Repository +gb.newUser = Neuer Benutzer +gb.commitdiff = Commitdiff +gb.tickets = Tickets +gb.pageFirst = Anfang +gb.pagePrevious = Zur\u00fcck +gb.pageNext = Weiter +gb.head = HEAD +gb.blame = Blame +gb.login = Login +gb.logout = Logout +gb.username = Benutzername +gb.password = Passwort +gb.tagger = Tagger +gb.moreHistory = Mehr Historie... +gb.difftocurrent = Diff zu aktuellem Stand +gb.search = Suche +gb.searchForAuthor = Suche nach Commits von Autor +gb.searchForCommitter = Suche nach Commits von Committer +gb.addition = Neu +gb.modification = Modifikation +gb.deletion = L\u00f6schung +gb.rename = Umbenennung +gb.metrics = Metriken +gb.stats = Statistiken +gb.markdown = Markdown +gb.changedFiles = Ge\u00e4nderte Dateien +gb.filesAdded = {0} Dateien hinzugef\u00fcgt +gb.filesModified = {0} Dateien ge\u00e4ndert +gb.filesDeleted = {0} Dateien gel\u00f6scht +gb.filesCopied = {0} Dateien kopiert +gb.filesRenamed = {0} Dateien umbenannt +gb.missingUsername = Fehlender Benutzername +gb.edit = Bearbeiten +gb.searchTypeTooltip = Suchart ausw\u00e4hlen +gb.searchTooltip = Suche {0} +gb.delete = L\u00f6schen +gb.docs = Dokumentation +gb.accessRestriction = Zugriffsbeschr\u00e4nkung +gb.name = Name +gb.enableTickets = Tickets aktivieren +gb.enableDocs = Docs aktivieren +gb.save = Speichern +gb.showRemoteBranches = Zeige Remote Branches +gb.editUsers = Benutzer bearbeiten +gb.confirmPassword = Passwort best\u00e4tigen +gb.restrictedRepositories = Zugriffsbeschr\u00e4nkte Repositories +gb.canAdmin = Kann administrieren +gb.notRestricted = Anonymes Anzeigen, Klonen und Pushen +gb.pushRestricted = Authentifiziertes Pushen +gb.cloneRestricted = Authentifiziertes Klonen und Pushen +gb.viewRestricted = Authentifiziertes Anzeigen, Klonen und Pushen +gb.useTicketsDescription = Lesende Darstellung von Ticgit Issues +gb.useDocsDescription = Listet Markdown Dokumentation im Repository auf +gb.showRemoteBranchesDescription = Zeige Remote Branches +gb.canAdminDescription = Kann Gitblit Server administrieren +gb.permittedUsers = Zugelassene Benutzer +gb.isFrozen = ist eingefroren +gb.isFrozenDescription = Verbiete Push +gb.zip = Zip +gb.showReadme = Zeige Readme +gb.showReadmeDescription = Zeigt eine \"Readme\" Markdown Datei auf der Zusammenfassungsseite +gb.nameDescription = Verwenden Sie '/' um Repositories zu gruppieren. Z.B. libraries/mycoollib.git +gb.ownerDescription = Der Besitzer kann Repository-Einstellungen \u00e4ndern +gb.blob = Blob +gb.commitActivityTrend = Commit-Aktivit\u00e4tstrend +gb.commitActivityDOW = Commit-Aktivit\u00e4t nach Wochentag +gb.commitActivityAuthors = Prim\u00e4re Autoren nach Commit-Aktivit\u00e4t +gb.feed = Feed +gb.cancel = Abbrechen +gb.changePassword = Passwort \u00e4ndern +gb.isFederated = ist verbunden +gb.federateThis = Dieses Repository verbinden (Federation) +gb.federateOrigin = Ursprung (origin) verbinden (Federation) +gb.excludeFromFederation = Von Verbindung ausschlie\u00dfen (Federation) +gb.excludeFromFederationDescription = Verbiete verbundenen Gitblit Instanzen, von diesem Konto zu pullen (Federation) +gb.tokens = Federation Tokens +gb.tokenAllDescription = Alle Repositories, Benutzer und Einstellungen +gb.tokenUnrDescription = Alle Repositories und Benutzer +gb.tokenJurDescription = Alle Repositories +gb.federatedRepositoryDefinitions = Repositorydefinitionen +gb.federatedUserDefinitions = Benutzerdefinitionen +gb.federatedSettingDefinitions = Einstellungsdefinitionen +gb.proposals = Verbindungsanfrage (Federation) +gb.received = empfangen +gb.type = Typ +gb.token = Token +gb.repositories = Repositories +gb.proposal = Anfrage +gb.frequency = Frequenz +gb.folder = Ordner +gb.lastPull = Letzter Pull +gb.nextPull = N\u00e4chster Pull +gb.inclusions = Inclusions +gb.exclusions = Exclusions +gb.registration = Registrierungen +gb.registrations = Verbindungsregistrierungen +gb.sendProposal = Vorschlagen +gb.status = Status +gb.origin = Ursprung +gb.headRef = Default Branch (HEAD) +gb.headRefDescription = Der Default Branch, welcher gecloned und auf der Zusammenfassungsseite dargestellt wird +gb.federationStrategy = Verbindungsstrategie +gb.federationRegistration = Verbindungsregistrierung +gb.federationResults = Verbindungs-Pull-Ergebnis +gb.federationSets = federation sets +gb.message = Nachricht +gb.myUrlDescription = Die \u00f6ffentlich zugreifbare URL f\u00fcr Ihre Gitblit-Instanz +gb.destinationUrl = Senden an +gb.destinationUrlDescription = Die URL der Gitblit-Instanz, an welche die Anfrage gestellt werden soll +gb.users = Benutzer +gb.federation = Verbindungen (Federation) +gb.error = Fehler +gb.refresh = Aktualisieren +gb.browse = Durchsuchen +gb.clone = Clonen +gb.filter = Filter +gb.create = Erstellen +gb.servers = Server +gb.recent = K\u00fcrzlich +gb.available = Verf\u00fcgbar +gb.selected = Ausgew\u00e4hlt +gb.size = Gr\u00f6\u00dfe +gb.downloading = Wird heruntergeladen +gb.loading = Wird geladen +gb.starting = Wird gestartet +gb.general = Allgemein +gb.settings = Einstellungen +gb.manage = Verwalten +gb.lastLogin = Letzter Login +gb.skipSizeCalculation = \u00dcberspringe Gr\u00f6\u00dfenberechnung +gb.skipSizeCalculationDescription = Nicht die Gr\u00f6\u00dfe des Repositories berechnen (reduziert die Seitenladezeit) +gb.skipSummaryMetrics = \u00dcberspringe zusammenfassende Metriken +gb.skipSummaryMetricsDescription = Nicht die Metriken auf der Zusammenfassungsseite berechnen (reduziert die Seitenladezeit) +gb.accessLevel = Zugangsebene +gb.default = Default +gb.setDefault = Setze Default +gb.since = seit +gb.status = Status +gb.bootDate = Boot-Zeitpunkt +gb.servletContainer = Servlet container +gb.heapMaximum = Maximaler Heap +gb.heapAllocated = Allokierter Heap +gb.heapUsed = Verwendeter Heap +gb.free = Verf\u00fcgbar +gb.version = Version +gb.releaseDate = Releasedatum +gb.date = Datum +gb.activity = Aktivit\u00e4t +gb.subscribe = Subscribe +gb.branch = Branch +gb.maxHits = Max Hits +gb.recentActivity = K\u00fcrzliche Aktivit\u00e4t +gb.recentActivityStats = In den letzten {0} Tagen / {1} Commit(s) von {2} Autor(en) +gb.recentActivityNone = In den letzten {0} Tagen / Keine +gb.dailyActivity = T\u00e4gliche Aktivit\u00e4t +gb.activeRepositories = Aktive Repositories +gb.activeAuthors = Aktive Autoren +gb.commits = Commits +gb.teams = Teams +gb.teamName = Teamname +gb.teamMembers = Teammitglieder +gb.teamMemberships = Teammitgliedschaften +gb.newTeam = Neues Team +gb.permittedTeams = Zugelassene Teams +gb.emptyRepository = Leeres Repository +gb.repositoryUrl = Repository URL +gb.mailingLists = Mailinglisten +gb.preReceiveScripts = Pre-Receive Skripte +gb.postReceiveScripts = Post-Receive Skripte +gb.hookScripts = Hook Skripte +gb.customFields = Benutzerdefinierte Felder +gb.customFieldsDescription = Benutzerdefinierte Felder, die in Groovy Hooks zur Verf\u00fcgung stehen +gb.accessPermissions = Zugriffsberechtigungen +gb.filters = Filter +gb.generalDescription = Allgemeine Einstellungen +gb.accessPermissionsDescription = Zugriffseinschr\u00e4nkungen nach Benutzern und Teams +gb.accessPermissionsForUserDescription = Erstellen Sie Teammitgliedschaften oder gew\u00e4hren Sie Zugriff auf einzelnen Repositories +gb.accessPermissionsForTeamDescription = Weisen Sie Team Mitglieder zu oder gew\u00e4hren Sie Zugriff auf einzelne Repositories +gb.federationRepositoryDescription = Verbinden Sie dieses Repository mit anderen Gitblit Instanzen (Federation) +gb.hookScriptsDescription = Groovy Skripte beim Pushen auf diese Gitblit Instanz ausf\u00fchren +gb.reset = Reset +gb.pages = Seiten +gb.workingCopy = Arbeitskopie +gb.workingCopyWarning = Dieses Repository besitzt eine Arbeitskopie und kann keine Pushes empfangen +gb.query = Abfrage +gb.queryHelp = Standard Abfragesyntax wird unterst\u00fctzt.<p/><p/>Unter <a target="_new" href="http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/queryparsersyntax.html">Lucene Query Parser Syntax</a> finden Sie weitere Details. +gb.queryResults = Ergebnisse {0} - {1} ({2} Treffer) +gb.noHits = Keine Treffer +gb.authored = ist Autor von +gb.committed = ist Comitter von +gb.indexedBranches = Indizierte Branches +gb.indexedBranchesDescription = W\u00e4hlen Sie die zu indizierenden Branches aus. +gb.noIndexedRepositoriesWarning = Keines Ihrer Repositories ist f\u00fcr die Indizierung durch Lucene konfiguriert. +gb.undefinedQueryWarning = Abfrage fehlt! +gb.noSelectedRepositoriesWarning = Bitte w\u00e4hlen Sie ein oder mehrere Repositories aus! +gb.luceneDisabled = Indizierung mit Lucene ist deaktiviert +gb.failedtoRead = Fehler beim Lesen +gb.isNotValidFile = ist keine g\u00fcltige Datei +gb.failedToReadMessage = Konnte Standard Nachricht von {0} nicht lesen! +gb.passwordsDoNotMatch = Passw\u00f6rter stimmen nicht \u00fcberein! +gb.passwordTooShort = Passwort ist zu kurz. Die minimale L\u00e4nge betr\u00e4gt {0} Zeichen. +gb.passwordChanged = Passwort erfolgreich ge\u00e4ndert. +gb.passwordChangeAborted = Passwort\u00e4nderung abgebrochen. +gb.pleaseSetRepositoryName = Bitte Repositorynamen angeben! +gb.illegalLeadingSlash = Pfade d\u00fcrfen nicht mit '/' beginnen. +gb.illegalRelativeSlash = Relative Pfade (../) sind nicht erlaubt. +gb.illegalCharacterRepositoryName = Repositoryname enth\u00e4lt nicht erlaubtes Zeichen ''{0}''! +gb.selectAccessRestriction = Bitte w\u00e4hlen Sie die Zugriffsbeschr\u00e4nkung aus! +gb.selectFederationStrategy = Bitte w\u00e4hlen Sie die Verbindungsstrategie (Federation) aus! +gb.pleaseSetTeamName = Bitte geben Sie einen Teamnamen an! +gb.teamNameUnavailable = Der Teamname ''{0}'' ist nicht verf\u00fcgbar. +gb.teamMustSpecifyRepository = Ein Team muss mindestens einem Repository zugewiesen sein. +gb.teamCreated = Neues Team ''{0}'' erfolgreich angelegt. +gb.pleaseSetUsername = Bitte geben Sie einen Benutzernamen an! +gb.usernameUnavailable = Benutzername ''{0}'' ist nicht verf\u00fcgbar. +gb.combinedMd5Rename = Gitblit ist f\u00fcr kombiniertes MD5-Passwort-Hashing konfiguriert. Sie m\u00fcssen beim Umbenennen des Kontos ein neues Passwort angeben. +gb.userCreated = Neuer Benutzer ''{0}'' erfolgreich angelegt. +gb.couldNotFindFederationRegistration = Konnte Verbindungsregistrierung (Federation) nicht finden! +gb.failedToFindGravatarProfile = Das Gravatar Profil f\u00fcr {0} konnte nicht gefunden werden +gb.branchStats = {0} Commit(s) und {1} Tag(s) seit {2} +gb.repositoryNotSpecified = Repository nicht angegeben! +gb.repositoryNotSpecifiedFor = Repository nicht angegeben f\u00fcr {0}! +gb.canNotLoadRepository = Repository kann nicht geladen werden +gb.commitIsNull = Commit ist null +gb.unauthorizedAccessForRepository = Nicht autorisierter Zugriff auf Repository +gb.failedToFindCommit = Commit \"{0}\" konnte nicht in {1} gefunden werden! +gb.couldNotFindFederationProposal = Verbindungsanfrage (Federation) konnte nicht gefunden werden! +gb.invalidUsernameOrPassword = Ung\u00fcltiger Benutzername oder Passwort! +gb.OneProposalToReview = Es gibt 1 unbeantwortete Verbindungsanfrage. +gb.nFederationProposalsToReview = Es gibt {0} unbeantwortete Verbindungsanfragen. +gb.couldNotFindTag = Der Tag {0} konnte nicht gefunden werden +gb.couldNotCreateFederationProposal = Die Verbindungsanfrage (Federation) konnte nicht erstellt werden. +gb.pleaseSetGitblitUrl = Bitte geben Sie Ihre Gitblit URL ein! +gb.pleaseSetDestinationUrl = Bitte geben Sie eine Ziel-URL f\u00fcr Ihre Anfrage ein! +gb.proposalReceived = Anfrage von {0} erfolgreich empfangen. +gb.noGitblitFound = Tut mir leid, {0} fand keine Gitblit Instanz in +gb.noProposals = Tut mir leid, {0} akzeptiert derzeit keine Anfragen. +gb.noFederation = Tut mir leid, {0} kann sich nicht mit anderen Gitblit Instanzen verbinden. +gb.proposalFailed = Tut mir leid, {0} hat keine Anfragedaten emfpangen! +gb.proposalError = Tut mir leid, {0} berichtet, dass ein unerwarteter Fehler aufgetreten ist! +gb.failedToSendProposal = Senden der Anfrage ist fehlgeschlagen! +gb.userServiceDoesNotPermitAddUser = {0} erlaubt das Anlegen von Benutzerkonten nicht. +gb.userServiceDoesNotPermitPasswordChanges = {0} erlaubt das \u00c4ndern von Passworten nicht! +gb.displayName = Anzeigename +gb.emailAddress = Emailadresse +gb.errorAdminLoginRequired = Administrierung erfordert eine Anmeldung +gb.errorOnlyAdminMayCreateRepository = Nur ein Administrator kann ein Repository erstellen +gb.errorOnlyAdminOrOwnerMayEditRepository = Nur ein Administrator oder der Besitzer kann ein Repository bearbeiten +gb.errorAdministrationDisabled = Administrierung ist deaktiviert +gb.lastNDays = letzte {0} Tage +gb.completeGravatarProfile = Komplettes Profil auf Gravatar.com +gb.none = keine +gb.line = Zeile +gb.content = Inhalt +gb.empty = leer +gb.inherited = vererbt +gb.deleteRepository = Repository \"{0}\" l\u00f6schen? +gb.repositoryDeleted = Repository ''{0}'' gel\u00f6scht. +gb.repositoryDeleteFailed = L\u00f6schen von Repository ''{0}'' fehlgeschlagen! +gb.deleteUser = Benutzer \"{0}\" l\u00f6schen? +gb.userDeleted = Benutzer ''{0}'' gel\u00f6scht. +gb.userDeleteFailed = L\u00f6schen von Benutzer ''{0}'' fehlgeschlagen! +gb.time.justNow = Gerade eben +gb.time.today = Heute +gb.time.yesterday = Gestern +gb.time.minsAgo = vor {0} Min. +gb.time.hoursAgo = vor {0} Std. +gb.time.daysAgo = vor {0} Tagen +gb.time.weeksAgo = vor {0} Wochen +gb.time.monthsAgo = vor {0} Monaten +gb.time.oneYearAgo = vor 1 Jahr +gb.time.yearsAgo = vor {0} Jahren +gb.duration.oneDay = 1 Tag +gb.duration.days = {0} Tage +gb.duration.oneMonth = 1 Monat +gb.duration.months = {0} Monaten +gb.duration.oneYear = 1 Jahr +gb.duration.years = {0} Jahren +gb.authorizationControl = Zugriffsrechte +gb.allowAuthenticatedDescription = Allen authentifizierten Benutzern RW+ Recht gew\u00e4hren +gb.allownameddescription = Benutzern und Teams feingranulare Rechte gew\u00e4hren +gb.markdownFailure = Markdown Inhalt konnte nicht geparst werden! +gb.clearCache = Cache leeren +gb.projects = Projekte +gb.project = Projekt +gb.allProjects = Alle Projekte +gb.copyToClipboard = in die Zwischenablage kopieren +gb.fork = Fork +gb.forks = Forks +gb.forkRepository = {0} forken? +gb.repositoryForked = Fork von {0} wurde erstellt +gb.repositoryForkFailed = Fork ist fehlgeschlagen +gb.personalRepositories = Pers\u00f6nliche Repositories +gb.allowForks = Forks erlauben +gb.allowForksDescription = Erlaube authentifizierten Benutzern dieses Repository zu forken +gb.forkedFrom = Fork von +gb.canFork = Kann forken +gb.canForkDescription = Kann autorisierte Repositories als pers\u00f6nliche Repositories forken +gb.myFork = Meinen Fork anschauen +gb.forksProhibited = Forks verboten +gb.forksProhibitedWarning = Dieses Repository verbietet Forks +gb.noForks = {0} hat keine Forks +gb.forkNotAuthorized = Entschuldigung, Sie sind nicht berechtigt einen Fork von {0} zu erstellen +gb.forkInProgress = Fork in Bearbeitung +gb.preparingFork = Ihr Fork wird vorbereitet... +gb.isFork = ist ein Fork +gb.canCreate = Kann Erstellen +gb.canCreateDescription = Kann pers\u00f6nliche Repositories erstellen +gb.illegalPersonalRepositoryLocation = your personal repository must be located at \"{0}\" +gb.verifyCommitter = Committer verifizieren +gb.verifyCommitterDescription = Die Committer Identit\u00e4t muss mit dem Gitblit Benutzerkonto \u00fcbereinstimmen, dass den Push durchf\u00fchrt +gb.verifyCommitterNote = Alle Merge Operationen ben\u00f6tigen "--no-ff" um die Committer Identit\u00e4t zu erzwingen +gb.repositoryPermissions = Repositoryberechtigungen +gb.userPermissions = Benutzerberechtigungen +gb.teamPermissions = Teamberechtigungen +gb.add = Hinzuf\u00fcgen +gb.noPermission = DIESE BERECHTIGUNG L\u00d6SCHEN +gb.excludePermission = {0} (Ausschlie\u00dfen) +gb.viewPermission = {0} (Ansicht) +gb.clonePermission = {0} (Clonen) +gb.pushPermission = {0} (Pushen) +gb.createPermission = {0} (Pushen, Erzeugen von Refs) +gb.deletePermission = {0} (Pushen, Erzeugen und L\u00f6schen von Refs) +gb.rewindPermission = {0} (Pushen, Erzeugen, L\u00f6schen und Umsetzen von Refs) +gb.permission = Berechtigung +gb.regexPermission = Diese Berechtigung ergibt sich aus dem regul\u00e4ren Ausdruck "{0}" +gb.accessDenied = Zugang verweigert +gb.busyCollectingGarbage = Tut mir leid, Gitblit f\u00fchrt gerade eine Garbage Collection in {0} durch +gb.gcPeriod = GC Intervall +gb.gcPeriodDescription = Zeitraum zwischen Garbage Collections +gb.gcThreshold = GC Schwellwert +gb.gcThresholdDescription = Minimale Gr\u00f6\u00dfe von losen Objekten, um eine vorzeitge Garbage Collection zu starten +gb.ownerPermission = Repositorybesitzer +gb.administrator = Administrator +gb.administratorPermission = Gitblit Administrator +gb.team = Team +gb.teamPermission = Berechtigung gesetzt durch Mitgliedschaft im Team \"{0}\" +gb.missing = fehlt! +gb.missingPermission = Das Repository f\u00fcr diese Berechtigung fehlt! +gb.mutable = ver\u00e4nderlich +gb.specified = angegeben +gb.effective = effektiv +gb.organizationalUnit = Organisatorische Einheit +gb.organization = Organisation +gb.locality = Lage +gb.stateProvince = Bundesland oder Provinz +gb.countryCode = L\u00e4ndercode +gb.properties = Eigenschaften +gb.issued = herausgegeben +gb.expires = l\u00e4uft ab +gb.expired = abgelaufen +gb.expiring = l\u00e4uft ab +gb.revoked = widerrufen +gb.serialNumber = Seriennummer +gb.certificates = Zertifkate +gb.newCertificate = Neues Zertifikat +gb.revokeCertificate = Zertifikat widerrufen +gb.sendEmail = Sende E-Mail +gb.passwordHint = Passwort Hinweis +gb.ok = OK +gb.invalidExpirationDate = Ung\u00fcltiges Ablaufdatum! +gb.passwordHintRequired = Passworthinweis ben\u00f6tigt! +gb.viewCertificate = Zertifikat anschauen +gb.subject = Betreff +gb.issuer = Aussteller +gb.validFrom = G\u00fcltig von +gb.validUntil = G\u00fcltig bis +gb.publicKey = \u00d6ffentlicher Schl\u00fcssel +gb.signatureAlgorithm = Signaturalgorithmus +gb.sha1FingerPrint = SHA-1 Fingerabdruck +gb.md5FingerPrint = MD5 Fingerabdruck +gb.reason = Grund +gb.revokeCertificateReason = Bitte w\u00e4hlen Sie einen Grund f\u00fcr den Widerruf des Zertifikats aus +gb.unspecified = nicht angegeben +gb.keyCompromise = Schl\u00fcssel kompromittiert +gb.caCompromise = CA kompromittiert +gb.affiliationChanged = Mitgliedschaft ge\u00e4ndert +gb.superseded = ersetzt +gb.cessationOfOperation = T\u00e4tigkeit eingestellt +gb.privilegeWithdrawn = Privilegien zur\u00fcckgezogen +gb.time.inMinutes = in {0} Minuten +gb.time.inHours = in {0} Stunden +gb.time.inDays = in {0} Tagen +gb.hostname = Hostname +gb.hostnameRequired = Bitte geben Sie einen Hostnamen ein +gb.newSSLCertificate = Neues Server-SSL-Zertifikat +gb.newCertificateDefaults = Voreinstellungen f\u00fcr neue Zertifikate +gb.duration = Dauer +gb.certificateRevoked = Zertifikat {0,number,0} wurde widerufen +gb.clientCertificateGenerated = Neues Client-Zertifikat f\u00fcr {0} wurde erfolgreich erstellt +gb.sslCertificateGenerated = Neues Server-SSL-Zertifikat f\u00fcr {0} wurde erfolgreich erstellt +gb.newClientCertificateMessage = ANMERKUNG:\nDas "Passwort" ist nicht das Passwort des Benutzers, es ist das Passwort, um den Keystore des Benutzers zu sch\u00fctzen. Dieses Passwort wird nicht gespeichert, also m\u00fcssen Sie einen "Hinweis" eingeben. Dieser Hinweis wird in den README Anweisungen des Benutzers hinterlegt. +gb.certificate = Zertifkat +gb.emailCertificateBundle = Client-Zertifikat-Bundle per Email senden +gb.pleaseGenerateClientCertificate = Bitte generieren Sie ein Client Zertifikat f\u00fcr {0} +gb.clientCertificateBundleSent = Client-Zertifikat-Bundel f\u00fcr {0} gesendet +gb.enterKeystorePassword = Bitte geben Sie das Gitblit-Keystore-Passwort ein +gb.warning = Warnung +gb.jcwWarning = Ihrem Java Runtime Environment fehlen die \"JCE Unlimited Strength Jurisdiction Policy\" Dateien.\nDies schr\u00e4nkt die L\u00e4nge der Passw\u00f6rter, die Sie zum Verschl\u00fcsseln Ihrer Keystores verwenden k\u00f6nnen, auf 7 Zeichen ein.\nDiese Policy-Dateien sind ein optionaler Download von Oracle.\n\nM\u00f6chten Sie fortfahren und die Zertifikat-Infrastruktur trotzdem erstellen?\n\nWenn Sie mit Nein antworten, wird Ihr Browser die Oracle Download-Seite \u00f6ffnen, auf welcher Sie die Policy-Dateien herunterladen k\u00f6nnen. +gb.maxActivityCommits = Maximale Commits Aktivit\u00e4t +gb.maxActivityCommitsDescription = Maximale Anzahl von Commits die auf der Aktivit\u00e4tsseite dargestellt werden +gb.noMaximum = Kein Maximum +gb.attributes = Attribute +gb.serveCertificate = Verwende dieses Zertifikat f\u00fcr HTTPS +gb.sslCertificateGeneratedRestart = Neues SSL-Server-Zertifikat f\u00fcr {0} erfolgreich erstellt.\nSie m\u00fcssen Gitblit neu starten, um dieses Zertifikat nutzen zu k\u00f6nnen.\n\nWenn Sie dem '--alias' Parameter starten, m\u00fcssen Sie diesen auf '--alias {0}' setzen. +gb.validity = G\u00fcltigkeit +gb.siteName = Seitenname +gb.siteNameDescription = Kurzer, beschreibender Name Ihres Servers +gb.excludeFromActivity = Von der Aktivi\u00e4tenseite ausschlie\u00dfen +gb.isSparkleshared = Repository ist in einem Sparkleshare +gb.owners = Besitzer +gb.sessionEnded = Die Sitzung wurde geschlossen +gb.closeBrowser = Bitte schlie\u00dfen Sie den Browser um die Sitzung ordentlich zu beenden. +gb.doesNotExistInTree = {0} existiert im Dateibaum {1} nicht +gb.enableIncrementalPushTags = Aktiviere inkrementelle Push-Tags +gb.useIncrementalPushTagsDescription = Erzeuge beim Push automatisch ein Tag mit aufsteigender Revisionsnummer auf der Spitze jedes Branches +gb.incrementalPushTagMessage = Auto-tagged [{0}] branch on push +gb.externalPermissions = {0} Zugangsberechtigungen werden extern verwaltet +gb.viewAccess = Sie haben keinen Gitblit Lese- oder Schreibzugriff +gb.overview = \u00dcbersicht +gb.dashboard = Dashboard +gb.monthlyActivity = Monatliche Aktivit\u00e4t +gb.myProfile = Mein Profil +gb.compare = Vergleichen +gb.manual = Manuell +gb.from = von +gb.to = nach +gb.at = bei +gb.of = von +gb.in = in +gb.moreChanges = alle \u00c4nderungen... +gb.pushedNCommitsTo = Push von {0} Commits nach +gb.pushedOneCommitTo = Push von einem Commit nach +gb.commitsTo = {0} commits nach +gb.oneCommitTo = 1 Commit nach +gb.byNAuthors = von {0} Autoren +gb.byOneAuthor = von {0} +gb.viewComparison = Zeige einen Vergleich von diesen {0} Commits \u00bb +gb.nMoreCommits = {0} weitere Commits \u00bb +gb.oneMoreCommit = 1 weiterer Commit \u00bb +gb.pushedNewTag = Push von neuem Tag +gb.createdNewTag = Neuer Tag angelegt +gb.deletedTag = Tag gel\u00f6scht +gb.pushedNewBranch = Push von neuem Branch durchgef\u00fchrt +gb.createdNewBranch = Neuer Branch angelegt +gb.deletedBranch = Branch gel\u00f6scht +gb.createdNewPullRequest = Neuer Pull Request gestellt +gb.mergedPullRequest = Merge des Pull Request durchgef\u00fchrt +gb.rewind = REWIND +gb.star = Favorisieren +gb.unstar = Nicht mehr favorisieren +gb.stargazers = Stargazers +gb.starredRepositories = Favorisierte Repositories +gb.failedToUpdateUser = Aktualisierung des Benutzerkontos fehlgeschlagen! +gb.myRepositories = Meine Repositories +gb.noActivity = In den letzten {0} Tagen gab es keine Aktivit\u00e4t +gb.findSomeRepositories = finde Repositories +gb.metricAuthorExclusions = Ausschl\u00fcsse von Autor-Metriken +gb.myDashboard = Mein Dashboard +gb.failedToFindAccount = Benutzerkonto "{0}" konnte nicht gefunden werden +gb.reflog = Reflog +gb.active = Aktiv +gb.starred = Favorisiert +gb.owned = Eigene +gb.starredAndOwned = Favorisiert und Eigene +gb.reviewPatchset = Review {0} Patchset {1} +gb.todaysActivityStats = Heute / {1} Commits von {2} Autoren +gb.todaysActivityNone = Heute / keine +gb.noActivityToday = Heute gab es keine Aktivit\u00e4t +gb.anonymousUser= Anonym +gb.commitMessageRenderer = Commit-Message Renderer +gb.diffStat = {0} Einf\u00fcgungen & {1} L\u00f6schungen +gb.home = Startseite +gb.isMirror = Dieses Repository ist ein Mirror +gb.mirrorOf = Mirror von {0} +gb.mirrorWarning = Dieses Repository ist ein Mirror und kann keine Pushes empfangen +gb.docsWelcome1 = Sie k\u00f6nnen Dokumente verwenden, um Ihr Repository zu dokumentieren. +gb.docsWelcome2 = Committen Sie eine README.md oder eine HOME.md Datei, um zu beginnen. +gb.createReadme = Eine README erstellen +gb.responsible = Bearbeiter +gb.createdThisTicket = erstellte dieses Ticket +gb.proposedThisChange = schlug diese \u00c4nderung vor +gb.uploadedPatchsetN = lud Patchset {0} hoch +gb.uploadedPatchsetNRevisionN = lud Patchset {0} Revision {1} hoch +gb.mergedPatchset = Merge des Patchset durchgef\u00fchrt +gb.commented = kommentierte +gb.noDescriptionGiven = keine Beschreibung hinterlegt +gb.toBranch = nach {0} +gb.createdBy = angelegt durch +gb.oneParticipant = {0} Teilnehmer +gb.nParticipants = {0} Teilnehmer +gb.noComments = keine Kommentare +gb.oneComment = {0} Kommentar +gb.nComments = {0} Kommentare +gb.oneAttachment = {0} Anhang +gb.nAttachments = {0} Anh\u00e4nge +gb.milestone = Meilenstein +gb.compareToMergeBase = Mit Merge-Basis vergleichen +gb.compareToN = mit {0} vergleichen +gb.open = Offen +gb.closed = Geschlossen +gb.merged = Merge erfolgt +gb.ticketPatchset = Ticket {0}, Patchset {1} +gb.patchsetMergeable = Dieses Patchset kann automatisch mit {0} zusammengef\u00fchrt werden. +gb.patchsetMergeableMore = Dieses Patchset kann auch auf der Kommandozeile mit {0} zusammengef\u00fchrt werden. +gb.patchsetAlreadyMerged = Dieses Patcheset wurde mit {0} zusammengef\u00fchrt. +gb.patchsetNotMergeable = Dieses Patchset kann nicht automatisch mit {0} zusammengef\u00fchrt werden. +gb.patchsetNotMergeableMore = Dieses Patchset ben\u00f6tigt einen Rebase oder muss manuell mit {0} zusammengef\u00fchrt werden, um Konflikte zu beheben. +gb.patchsetNotApproved = Diese Patchset-Revision wurde noch nicht zum Zusammenf\u00fchren mit {0} freigegeben. +gb.patchsetNotApprovedMore = Ein Reviewer muss dieses Patchset freigeben. +gb.patchsetVetoedMore = Ein Reviewer hat dieses Patchset abgelehnt. +gb.write = Verfassen +gb.comment = Kommentieren +gb.preview = Vorschau +gb.leaveComment = Hinterlasse einen Kommentar +gb.showHideDetails = Zeige/Verberge Details +gb.acceptNewPatchsets = Patchsets annehmen +gb.acceptNewPatchsetsDescription = Nimm Patchsets an dieses Repository per Push an +gb.acceptNewTickets = Erlaube neue Tickets +gb.acceptNewTicketsDescription = Erlaube das Erstellen von Fehlerberichten, Verbesserungsvorschl\u00e4gen, Aufgaben etc. +gb.requireApproval = Explizite Freigaben erforderlich +gb.requireApprovalDescription = Patchsets m\u00fcssen freigegeben werden, bevor der Merge Button aktiviert wird +gb.topic = Thema +gb.proposalTickets = Vorgeschlagene \u00c4nderungen +gb.bugTickets = Fehler +gb.enhancementTickets = Erweiterungen +gb.taskTickets = Aufgaben +gb.questionTickets = Fragen +gb.requestTickets = Erweiterungen und Aufgaben +gb.yourCreatedTickets = Von mir erstellt +gb.yourWatchedTickets = Von mir beobachtet +gb.mentionsMeTickets = Erw\u00e4hnungen +gb.updatedBy = aktualisiert von +gb.sort = Sortierung +gb.sortNewest = Neueste +gb.sortOldest = \u00c4lteste +gb.sortMostRecentlyUpdated = K\u00fcrzlich aktualisiert +gb.sortLeastRecentlyUpdated = Am l\u00e4ngsten nicht aktualisiert +gb.sortMostComments = Die meisten Kommentare +gb.sortLeastComments = Die wenigsten Kommentare +gb.sortMostPatchsetRevisions = Die meisten Patchset Revisions +gb.sortLeastPatchsetRevisions = Die wenigsten Patchset Revisions +gb.sortMostVotes = Die meisten Stimmen +gb.sortLeastVotes = Die wenigsten Stimmen +gb.topicsAndLabels = Themen & Labels +gb.milestones = Meilensteine +gb.noMilestoneSelected = Kein Meilenstein ausgew\u00e4hlt +gb.notSpecified = nicht angegebene +gb.due = f\u00e4llig am +gb.queries = Suchanfragen +gb.searchTicketsTooltip = Suche {0} Tickets +gb.searchTickets = Search Tickets +gb.new = Neu +gb.newTicket = Neues Ticket +gb.editTicket = Bearbeite Ticket +gb.ticketsWelcome = Sie k\u00f6nnen Tickets verwenden, um Ihre Todo-Liste zu verwalten, Fehler zu diskutieren und bei der Erstellung von Patchsets zusammen zu arbeiten. +gb.createFirstTicket = Erstellen Sie Ihr erstes Ticket +gb.title = \u00dcberschrift +gb.changedStatus = hat Status ge\u00e4ndert +gb.discussion = Diskussion +gb.updated = aktualisiert +gb.proposePatchset = Patchset Vorschlagen +gb.proposePatchsetNote = Bitte schlagen Sie ein Patchset f\u00fcr dieses Ticket vor. +gb.proposeInstructions = Um zu beginnen, erstellen Sie ein Patchset und laden Sie es mit Git hoch. Gitblit verkn\u00fcpft dieses Patchset mit diesem Ticket \u00fcber die Id. +gb.proposeWith = Ein Patchset mit {0} vorschlagen +gb.revisionHistory = Revisionshistorie +gb.merge = Zusammenf\u00fchren +gb.action = Aktion +gb.patchset = Patchset +gb.all = Alle +gb.mergeBase = Merge Basis +gb.checkout = Checkout +gb.checkoutViaCommandLine = Checkout per Kommandozeile +gb.checkoutViaCommandLineNote = Sie k\u00f6nnen diese \u00c4nderungen in Ihrem Clone des Repository per Checkout lokal testen. +gb.checkoutStep1 = Laden Sie das aktuelle Patchset \u2014 F\u00fchren Sie dies aus Ihrem lokalen Projektverzeichnis heraus aus +gb.checkoutStep2 = F\u00fchren Sie einen Checkout des Patchsets in einen neuen Branch durch und Sichten Sie die \u00c4nerungen +gb.mergingViaCommandLine = Merge per Kommandozeile +gb.mergingViaCommandLineNote = Wenn Sie den Merge Button nicht verwenden m\u00f6chten oder ein automatisches Zusammenf\u00fchren nicht durchgef\u00fchrt werden kann, dann k\u00f6nnen Sie das Zusammenf\u00fchren auch manuell auf der Kommandozeile durchf\u00fchren. +gb.mergeStep1 = Erstellen Sie einen neuen Branch um die \u00c4nderungen zu sichten \u2014 F\u00fchren Sie dies aus Ihrem lokalen Projektverzeichnis heraus aus +gb.mergeStep2 = Bringen Sie die vorgeschlagenen \u00c4nderungen ein und sichten Sie diese +gb.mergeStep3 = F\u00fchren Sie einen Merge durch und aktualisieren Sie den Server (Push) +gb.download = Herunterladen +gb.ptDescription = Das Gitblit Patchset Tool +gb.ptCheckout = Fetch & Checkout des aktuellen Patchset um ein Review des aktuellen Branch durchzuf\u00fchren +gb.ptMerge = Fetch & Merge des aktuellen Patchset in Ihren lokalen Branch +gb.ptDescription1 = Barnum ist ein Kommandozeilen-Werkzeug f\u00fcr Git um die Syntax f\u00fcr die Arbeit mit Gitblit Tickets und Patchsets zu vereinfachen. +gb.ptSimplifiedCollaboration = Vereinfachte Syntax f\u00fcr Zusammenarbeit +gb.ptSimplifiedMerge = Vereinfachte Syntax f\u00fcr das Zusammenf\u00fchren +gb.ptDescription2 = Barnum ben\u00f6tigt Python 3 und den nativen Git-Client. Es l\u00e4uft unter Windows, Linux und Mac OS X. +gb.stepN = Schritt {0} +gb.watchers = Beobachter +gb.votes = Stimmen +gb.vote = F\u00fcr {0} Abstimmen +gb.watch = {0} beobachten +gb.removeVote = Abstimmen r\u00fcckg\u00e4ngig machen +gb.stopWatching = Beobachten beenden +gb.watching = ich beobachte +gb.comments = Kommentare +gb.addComment = Kommentar hinzuf\u00fcgen +gb.export = Exportieren +gb.oneCommit = Ein Commit +gb.nCommits = {0} Commits +gb.addedOneCommit = 1 Commit hinzugef\u00fcgt +gb.addedNCommits = {0} Commits hinzugef\u00fcgt +gb.commitsInPatchsetN = Commits im Patchset {0} +gb.patchsetN = Patchset {0} +gb.reviewedPatchsetRev = Review von Patchset {0} Revision {1} durchgef\u00fchrt: {2} +gb.review = Review +gb.reviews = Reviews +gb.veto = Abgelehnt +gb.needsImprovement = Ben\u00f6tigt Verbesserungen +gb.looksGood = Sieht gut aus +gb.approve = Akzeptiert +gb.hasNotReviewed = kein Review durchgef\u00fchrt +gb.about = \u00dcber +gb.ticketN = Ticket #{0} +gb.disableUser = Benutzer deaktivieren +gb.disableUserDescription = Verhindert das Authentifizieren dieses Benutzer +gb.any = Alle +gb.milestoneProgress = {0} offen, {1} geschlossen +gb.nOpenTickets = {0} offen +gb.nClosedTickets = {0} geschlossen +gb.nTotalTickets = {0} insgesamt +gb.body = Body +gb.mergeSha = mergeSha +gb.mergeTo = Merge mit +gb.labels = Labels +gb.reviewers = Reviewer +gb.voters = Abstimmende +gb.mentions = Erw\u00e4hnungen +gb.canNotProposePatchset = Kann kein Patchset vorschlagen +gb.repositoryIsMirror = Dieses Repository ist ein Read-Only-Mirror. +gb.repositoryIsFrozen = Dieses Repository ist eingefroren. +gb.repositoryDoesNotAcceptPatchsets = Dieses Repository akzeptiert keine Patchsets. +gb.serverDoesNotAcceptPatchsets = Dieser Server akzeptiert keine Patchsets. +gb.ticketIsClosed = Dieses Ticket ist geschlossen. +gb.mergeToDescription = Standardm\u00e4\u00dfiger Integrationsbranch f\u00fcr den Merge von Ticket Patchsets +gb.anonymousCanNotPropose = Anonyme Benutzer k\u00f6nnen keine Patchsets vorschlagen. +gb.youDoNotHaveClonePermission = Sie sind nicht berechtigt, dieses Repository zu klonen. +gb.myTickets = Meine Tickets +gb.yourAssignedTickets = Mir zugewiesen +gb.newMilestone = Neuer Meilenstein +gb.editMilestone = Meilenstein bearbeiten +gb.deleteMilestone = Meilenstein \"{0}\" l\u00f6schen? +gb.milestoneDeleteFailed = L\u00f6schen des Meilensteins ''{0}'' fehlgeschlagen! +gb.notifyChangedOpenTickets = Sende Benachrichtigungen f\u00fcr ge\u00e4nderte, offene Tickets +gb.overdue = \u00dcberf\u00e4llig +gb.openMilestones = Offene Meilensteine +gb.closedMilestones = Geschlossene Meilensteine +gb.administration = Administration +gb.plugins = Plugins +gb.extensions = Erweiterungen +gb.pleaseSelectProject = Bitte w\u00e4hlen Sie das Projekt! +gb.accessPolicy = Zugriffsrichtlinie +gb.accessPolicyDescription = W\u00e4hlen Sie eine Zugriffsrichtlinie um die Sichtbarkeit des Repositories und die Zugriffsrechte von Git zu steuern. +gb.anonymousPolicy = Anonymes Anzeigen, Klonen und Pushen +gb.anonymousPolicyDescription = Jeder kann dieses Repository sehen, klonen und zu ihm pushen. +gb.authenticatedPushPolicy = Schr\u00e4nke Pushen ein (Authentifiziert) +gb.authenticatedPushPolicyDescription = Jeder kann dieses Repository sehen und klonen. Alle authentifizierten Benutzer haben RW+ Push Berechtigung. +gb.namedPushPolicy = Schr\u00e4nke Pushen ein (Benannt) +gb.namedPushPolicyDescription = Jeder kann dieses Repository sehen und klonen. Sie bestimmen, wer pushen kann. +gb.clonePolicy = Schr\u00e4nke Klonen und Pushen ein +gb.clonePolicyDescription = Jeder kann dieses Repository sehen. Sie bestimmen, wer klonen und pushen kann. +gb.viewPolicy = Schr\u00e4nke Anzeigen, Klonen und Pushen ein +gb.viewPolicyDescription = Sie bestimmen, wer dieses Repository anzeigen, klonen und zu ihm pushen kann. +gb.initialCommit = Initialer Commit +gb.initialCommitDescription = Dies erlaubt es Ihnen, mit <code>git clone</code> dieses Repository sofort zu klonen. \u00dcberspringen Sie diesen Schritt, falls Sie lokal bereits <code>git init</code> ausgef\u00fchrt haben. +gb.initWithReadme = README erstellen +gb.initWithReadmeDescription = Dies erstellt ein einfaches README Dokument f\u00fcr Ihr Repository. +gb.initWithGitignore = Eine .gitignore Datei erstellen +gb.initWithGitignoreDescription = Dies erstellt eine Konfigurationsdatei, die Ihren Git Client anweist, Dateien und Verzeichnisse zu ignorieren, die bestimmten Mustern entsprechen. +gb.pleaseSelectGitIgnore = Bitte w\u00e4hlen Sie eine .gitignore Datei aus +gb.receive = Empfangen +gb.permissions = Berechtigungen +gb.ownersDescription = Besitzer k\u00f6nnen alle Einstellungen des Repository ver\u00e4ndern, jedoch k\u00f6nnen Sie das Repository nur umbenennen, falls es ein pers\u00f6nliches Repository ist. +gb.userPermissionsDescription = Sie k\u00f6nnen individuelle Benutzerberechtigungen vergeben. Diese Einstellungen \u00fcbersteuern Team- oder Regexberechtigungen. +gb.teamPermissionsDescription = Sie k\u00f6nnen individuelle Teamberechtigungen vergeben. Diese Einstellungen \u00fcbersteuern Regexberechtigungen. +gb.ticketSettings = Ticketeinstellungen +gb.receiveSettings = Empfangseinstellungen +gb.receiveSettingsDescription = Die Empfangseinstellungen kontrollieren Pushes zum Repository. +gb.preReceiveDescription = Pre-Empfangs-Hooks werden ausgef\u00fchrt nachdem alle Commits empfangen wurden, aber <em>BEVOR</em> die Refs aktualisiert werden. <p>Dies ist der geeignete Hook, um einen Push abzulehnen.</p> +gb.postReceiveDescription = Post-Empfangs-Hooks werden ausgef\u00fchrt, nachdem alle Commits empfangen wurden und <em>NACHDEM</em> die Refs aktualisiert wurden. <p>Dies ist der geeignete Hook f\u00fcr Benachrichtigungen, Build-Trigger, etc.</p> +gb.federationStrategyDescription = Bestimmen Sie, ob und wie dieses Repository mit einer anderen Gitblit Instanz verbunden werden kann (Federation). +gb.federationSetsDescription = Dieses Repository wird in den ausgew\u00e4hlten Verbindungssets enthalten sein. +gb.miscellaneous = Sonstiges +gb.originDescription = Die URL, von welcher dieses Repository geklont wurde. +gb.gc = GC +gb.garbageCollection = Garbage Collection +gb.garbageCollectionDescription = Die Garbage Collection b\u00fcndelt freie Objekte, welche von Clients gepusht wurden und entfernt nicht mehr referenzierte Objekte aus dem Repository. +gb.commitMessageRendererDescription = Commit Messages k\u00f6nnen als reiner Text oder gerendertes Markup dargestellt werden. +gb.preferences = Einstellungen +gb.accountPreferences = Kontoeinstellungen +gb.accountPreferencesDescription = Geben Sie Ihre Kontoeinstellungen an +gb.languagePreference = Spracheinstellungen +gb.languagePreferenceDescription = W\u00e4hlen Sie Ihre bevorzugte \u00dcbersetzung f\u00fcr Gitblit +gb.emailMeOnMyTicketChanges = Sende Emails bei eigenen \u00c4nderungen an Tickets +gb.emailMeOnMyTicketChangesDescription = Sende mir Email-Benachrichtigungen f\u00fcr \u00c4nderungen, die ich an einem Ticket vornehme +gb.displayNameDescription = Bevorzugter Anzeigename +gb.emailAddressDescription = Die prim\u00e4re Emailadresse f\u00fcr den Empfang von Benachrichtigungen +gb.sshKeys = SSH Keys +gb.sshKeysDescription = SSH Public Key Authentifizierung ist eine sichere Alternative zur Authentifizierung mit Passwort +gb.addSshKey = SSH Key hinzuf\u00fcgen +gb.key = Key +gb.comment = Kommentar +gb.sshKeyCommentDescription = Geben Sie optional einen Kommentar ein. Falls Sie dies nicht tun, wird der Kommentar aus dem Key extrahiert. +gb.permission = Berechtigung + +gb.sshKeyPermissionDescription = Geben Sie die Zugriffberechtigung f\u00fcr den SSH Key an +gb.transportPreference = \u00dcbertragungseinstellungen +gb.transportPreferenceDescription = Geben Sie die \u00dcbertragungsart an, die Sie f\u00fcr das Klonen bevorzugen diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp_it.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_it.properties new file mode 100644 index 0000000..7230ec8 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp_it.properties @@ -0,0 +1,745 @@ +gb.repository = repository +gb.owner = proprietario +gb.description = descrizione +gb.lastChange = ultima modifica +gb.refs = refs +gb.tag = tag +gb.tags = tags +gb.author = autore +gb.committer = committer +gb.commit = commit +gb.age = et� +gb.tree = albero +gb.parent = padre +gb.url = URL +gb.history = cronologia +gb.raw = originale +gb.object = oggetto +gb.ticketId = id del ticket +gb.ticketAssigned = assegnato +gb.ticketOpenDate = data di apertura +gb.ticketStatus = stato +gb.ticketComments = commenti +gb.view = vista +gb.local = locale +gb.remote = remoto +gb.branches = rami +gb.patch = patch +gb.diff = differenze +gb.log = log +gb.moreLogs = ulteriori commits... +gb.allTags = tutte le tags... +gb.allBranches = tutti i rami... +gb.summary = riassunto +gb.ticket = ticket +gb.newRepository = nuovo repository +gb.newUser = nuovo utente +gb.commitdiff = differenze di commit +gb.tickets = elenco ticket +gb.pageFirst = prima +gb.pagePrevious = prec +gb.pageNext = succ +gb.head = HEAD +gb.blame = annotazioni +gb.login = login +gb.logout = logout +gb.username = nome utente +gb.password = password +gb.tagger = autore della tag +gb.moreHistory = ulteriore cronoligia... +gb.difftocurrent = differenze con il corrente +gb.search = ricerca +gb.searchForAuthor = Ricerca commit per autore +gb.searchForCommitter = Ricerca commit per committer +gb.addition = aggiunta +gb.modification = modifica +gb.deletion = cancellazione +gb.rename = rinomina +gb.metrics = metriche +gb.stats = statistiche +gb.markdown = markdown +gb.changedFiles = file modificati +gb.filesAdded = {0} file aggiunti +gb.filesModified = {0} file modificati +gb.filesDeleted = {0} file cancellati +gb.filesCopied = {0} file copiati +gb.filesRenamed = {0} file rinominati +gb.missingUsername = Nome Utente Mancante +gb.edit = modifica +gb.searchTypeTooltip = Seleziona tipo di ricerca +gb.searchTooltip = Ricerca {0} +gb.delete = cancella +gb.docs = documentazione +gb.accessRestriction = restrizioni di accesso +gb.name = nome +gb.enableTickets = abilita supporto ticket +gb.enableDocs = abilita documentazione +gb.save = salva +gb.showRemoteBranches = mostra i rami remoti +gb.editUsers = modifica utenti +gb.confirmPassword = conferma password +gb.restrictedRepositories = repository con restrizioni di accesso +gb.canAdmin = controllo completo +gb.notRestricted = visualizzazione, clone e push anonimi +gb.pushRestricted = push previa autenticazione +gb.cloneRestricted = clone e push previa autenticazione +gb.viewRestricted = visualizzazione, clone e push previa autenticazione +gb.useTicketsDescription = segnalazioni Ticgit distribuite (sola lettura) +gb.useDocsDescription = elenca la documentazione Markdown nel repository +gb.showRemoteBranchesDescription = mostra rami remoti +gb.canAdminDescription = pu� amministrare il server Gitblit +gb.permittedUsers = utenti autorizzati +gb.isFrozen = sola lettura +gb.isFrozenDescription = operazioni di push vietate +gb.zip = zip +gb.showReadme = mostra readme +gb.showReadmeDescription = mostra un file \"readme\" in formato Markdown nella pagina riassuntiva +gb.nameDescription = utilizza '/' per raggruppare i repository. p.e. libraries/mycoollib.git +gb.ownerDescription = il proprietario pu� modificare le impostazioni del repository +gb.blob = blob +gb.commitActivityTrend = tendenza dell'attivit� di commit +gb.commitActivityDOW = commit per giorno della settimana +gb.commitActivityAuthors = autori principali sulla base dei commit +gb.feed = feed +gb.cancel = annulla +gb.changePassword = cambia password +gb.isFederated = federato +gb.federateThis = attiva federazione su questo repository +gb.federateOrigin = attiva federazione su origin +gb.excludeFromFederation = escludi dalla federazione +gb.excludeFromFederationDescription = impedisci a istanze federate di Gitblit di effettuare il pull su questo utente +gb.tokens = gettoni di federazione +gb.tokenAllDescription = tutti i repository, utenti e impostazioni +gb.tokenUnrDescription = tutti i repository e gli utenti +gb.tokenJurDescription = tutti i repository +gb.federatedRepositoryDefinitions = definizione dei repository +gb.federatedUserDefinitions = definizione degli utenti +gb.federatedSettingDefinitions = definizione delle impostazioni +gb.proposals = proposta di federazione +gb.received = ricevuta +gb.type = tipo +gb.token = gettone +gb.repositories = repository +gb.proposal = proposta +gb.frequency = frequenza +gb.folder = cartella +gb.lastPull = ultimo pull +gb.nextPull = prossimo pull +gb.inclusions = inclusioni +gb.exclusions = esclusioni +gb.registration = registrazione +gb.registrations = registrationi di federazione +gb.sendProposal = proponi +gb.status = stato +gb.origin = origin +gb.headRef = ramo predefinito (HEAD) +gb.headRefDescription = Il ramo predefinito soggetto a clone e visualizzato nella pagina riassuntiva +gb.federationStrategy = strategia di federazione +gb.federationRegistration = registrazione di federazione +gb.federationResults = risultati di pull federato +gb.federationSets = insiemi di federazione +gb.message = messaggio +gb.myUrlDescription = URL pubblico alla tua istanza Gitblit +gb.destinationUrl = invia a +gb.destinationUrlDescription = URL dell'istanza Gitblit a cui inviare la proposta +gb.users = utenti +gb.federation = federazione +gb.error = errore +gb.refresh = aggiorna +gb.browse = sfoglia +gb.clone = clona +gb.filter = filtra +gb.create = crea +gb.servers = server +gb.recent = recenti +gb.available = disponibile +gb.selected = selezionato +gb.size = dimensione +gb.downloading = download in corso +gb.loading = caricamento +gb.starting = avvio +gb.general = generale +gb.settings = impostazioni +gb.manage = gestisci +gb.lastLogin = ultimo login +gb.skipSizeCalculation = non computare le dimensioni +gb.skipSizeCalculationDescription = disabilita la computazione delle dimensioni del repository (velocizza caricamento pagine) +gb.skipSummaryMetrics = ometti il riassunto delle metriche +gb.skipSummaryMetricsDescription = non calcolare le metriche nella pagina riassuntiva (velocizza caricamento pagine) +gb.accessLevel = livello di access +gb.default = predefinito +gb.setDefault = imposta predefinito +gb.since = da +gb.status = stato +gb.bootDate = data di avvio del server +gb.servletContainer = servlet container +gb.heapMaximum = memoria massima +gb.heapAllocated = memoria allocata +gb.heapUsed = memoria utilizzata +gb.free = libero +gb.version = versione +gb.releaseDate = data di rilascio +gb.date = data +gb.activity = attivit� +gb.subscribe = sottoscrivi +gb.branch = ramo +gb.maxHits = max hits +gb.recentActivity = attivit� recenti +gb.recentActivityStats = ultimi {0} giorni / {1} commit da {2} autori +gb.recentActivityNone = ultimi {0} giorni / nessuno +gb.dailyActivity = attivit� giornaliera +gb.activeRepositories = repository attivi +gb.activeAuthors = autori attivi +gb.commits = commit +gb.teams = gruppi +gb.teamName = nome del gruppo +gb.teamMembers = membry del gruppo +gb.teamMemberships = appartenenza al gruppo +gb.newTeam = nuovo gruppo +gb.permittedTeams = gruppi autorizzati +gb.emptyRepository = repository vuoto +gb.repositoryUrl = repository URL +gb.mailingLists = liste di corrispondenza +gb.preReceiveScripts = script eseguiti su pre-receive +gb.postReceiveScripts = script eseguiti su post-receive +gb.hookScripts = script eseguiti su hook di git +gb.customFields = campi peronalizzati +gb.customFieldsDescription = campi personalizzati accessibili a hook scritti in Groovy +gb.accessPermissions = permessi di accesso +gb.filters = filtri +gb.generalDescription = impostazioni comuni +gb.accessPermissionsDescription = riduci l'accesso in base a utenti e gruppi +gb.accessPermissionsForUserDescription = imposta appartenenza a un gruppo o abilita accesso a repository soggetti a restrizioni +gb.accessPermissionsForTeamDescription = imposta i membri di un gruppo e abilita accesso a repository soggetti a restrizioni +gb.federationRepositoryDescription = condividi questo repository con altre istanze Gitblit +gb.hookScriptsDescription = esegue script Groovy quando viene effettuato un push su questo server +gb.reset = reimposta +gb.pages = pagine +gb.workingCopy = copia di lavoro +gb.workingCopyWarning = questo repository � una copia di lavoro a non ammette push +gb.query = interrogazione +gb.queryHelp = La sintassi standard � supportata.<p/><p/>Si vedi <a target="_new" href="http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/queryparsersyntax.html">Lucene Query Parser Syntax</a> per ulteriori dettagli. +gb.queryResults = risultati {0} - {1} ({2} corrispondenze) +gb.noHits = nessuna corrispondenza +gb.authored = creato da +gb.committed = commit di +gb.indexedBranches = Rami Indicizzati +gb.indexedBranchesDescription = Seleziona i rami che devono essere indicizzati tramite Lucene +gb.noIndexedRepositoriesWarning = nessun repository � soggetto a indicizzazione Lucene +gb.undefinedQueryWarning = interrogazione non specificata! +gb.noSelectedRepositoriesWarning = per favore specifica uno o pi� repository! +gb.luceneDisabled = Indicizzazione tramite Lucene disabilitata +gb.failedtoRead = Errore di lettura +gb.isNotValidFile = non � un file valido +gb.failedToReadMessage = Errore nella lettura del messaggio da {0}! +gb.passwordsDoNotMatch = La password non corissponde! +gb.passwordTooShort = La password � troppo corta. La lunghezza minima � {0} caratteri. +gb.passwordChanged = Password modificata con successo. +gb.passwordChangeAborted = Modifica della password annullata. +gb.pleaseSetRepositoryName = Specificare il nome del repository! +gb.illegalLeadingSlash = Riferiementi alla cartella principale (/) non sono ammessi. +gb.illegalRelativeSlash = Riferimenti relativi a cartelle (../) non sono ammessi. +gb.illegalCharacterRepositoryName = Carattere non consetito ''{0}'' nel nome del repository! +gb.selectAccessRestriction = Restrizioni di accesso non specificate! +gb.selectFederationStrategy = Strategia di federazione non selezionata! +gb.pleaseSetTeamName = Nome del gruppo non specificato! +gb.teamNameUnavailable = Il nome di gruppo ''{0}'' non � disponibile. +gb.teamMustSpecifyRepository = Un gruppo deve specificare almeno un repository. +gb.teamCreated = Nuovo gruppo ''{0}'' creato con successo. +gb.pleaseSetUsername = Nome utente non specificato! +gb.usernameUnavailable = Il nome utente ''{0}'' non � disponibile. +gb.combinedMd5Rename = Gitblit � configurato per effettuare un hashing delle password di tipo combinato-md5. E' quindi necessario specificare una nuova password quando si rinomina un utenza. +gb.userCreated = Nuovo utente ''{0}'' creato con successo. +gb.couldNotFindFederationRegistration = Impossibile trovare la registrazione di federazione! +gb.failedToFindGravatarProfile = Profilo Gravatar per {0} non reperito! +gb.branchStats = {2} contiene {0} commit e {1} tag +gb.repositoryNotSpecified = Repository non specificato! +gb.repositoryNotSpecifiedFor = Repository non specificato per {0}! +gb.canNotLoadRepository = Impossibile leggere il repository +gb.commitIsNull = Commit nullo +gb.unauthorizedAccessForRepository = Accesso al repository non autorizzato +gb.failedToFindCommit = Cmmit \"{0}\" non trovato in {1}! +gb.couldNotFindFederationProposal = Impossibile trovare la proposta di federazione! +gb.invalidUsernameOrPassword = Nome utente o password non validi! +gb.OneProposalToReview = 1 proposta di federazione � in attesa di valutazione. +gb.nFederationProposalsToReview = Ci sono {0} proposte di federazione in attesa di valutazione +gb.couldNotFindTag = Tag non trovata {0} +gb.couldNotCreateFederationProposal = Impossibile creare proposta di federazione! +gb.pleaseSetGitblitUrl = Gitblit URL non specificato! +gb.pleaseSetDestinationUrl = URL di destinazione non specificato! +gb.proposalReceived = Proposta ricevuta da {0} con successo. +gb.noGitblitFound = {0} non ha potuto trovare una istanza di Gitblit presso {1}. +gb.noProposals = {0} al momento non accetta proposte. +gb.noFederation = {0} non � configurato per creare una federazione con altre istanze Gitblit. +gb.proposalFailed = {0} non ha ricevuto alcuna proposta di federazione! +gb.proposalError = {0} segnala un errore inatteso! +gb.failedToSendProposal = Invio proposta fallito! +gb.userServiceDoesNotPermitAddUser = {0} non consete di aggiungere nuovi utenti! +gb.userServiceDoesNotPermitPasswordChanges = {0} non consente di cambiare la password! +gb.displayName = nome pubblico +gb.emailAddress = indirizzo email +gb.errorAdminLoginRequired = Effettuare l'accesso per utilizzare le funzioni amministrative +gb.errorOnlyAdminMayCreateRepository = Solo un utente amministratore pu� creare repository +gb.errorOnlyAdminOrOwnerMayEditRepository = Solo un utente amministratore e il proprietario possono modificare un repository +gb.errorAdministrationDisabled = Funzioni amministrative disabilitate +gb.lastNDays = Ultimi {0} giorni +gb.completeGravatarProfile = Completa il profilo su Gravatar.com +gb.none = nessuno +gb.line = linea +gb.content = contenuto +gb.empty = vuoto +gb.inherited = ereditato +gb.deleteRepository = Cancellare il repository \"{0}\"? +gb.repositoryDeleted = Repository ''{0}'' cancellato. +gb.repositoryDeleteFailed = Impossible cancellare il repository ''{0}''! +gb.deleteUser = Cancellare l'utente \"{0}\"? +gb.userDeleted = Utente ''{0}'' cancellato. +gb.userDeleteFailed = Impossibile cancellare l'utente ''{0}''! +gb.time.justNow = in questo istante +gb.time.today = oggi +gb.time.yesterday = ieri +gb.time.minsAgo = {0} minuti fa +gb.time.hoursAgo = {0} ore fa +gb.time.daysAgo = {0} giorni fa +gb.time.weeksAgo = {0} settimane fa +gb.time.monthsAgo = {0} mese fa +gb.time.oneYearAgo = 1 anno fa +gb.time.yearsAgo = {0} anni fa +gb.duration.oneDay = 1 giorno +gb.duration.days = {0} giorni +gb.duration.oneMonth = 1 mese +gb.duration.months = {0} mesi +gb.duration.oneYear = 1 anno +gb.duration.years = {0} anni +gb.authorizationControl = Controlli di autorizzazine +gb.allowAuthenticatedDescription = Consenti lettura/scrittura a tutti gli utenti registrati +gb.allowNamedDescription = Configura permessi specifici per utenti e gruppi +gb.markdownFailure = Impossibile leggere contenuto Markdown! +gb.clearCache = pulisci la cache +gb.projects = progetti +gb.project = progetto +gb.allProjects = tutti i progetti +gb.copyToClipboard = copia negli appunti +gb.fork = ramificazione +gb.forks = ramificazioni +gb.forkRepository = crea una ramificazione {0}? +gb.repositoryForked = ramificazione creata per {0} +gb.repositoryForkFailed= ramificazione fallita +gb.personalRepositories = repository personali +gb.allowForks = consenti ramificazioni +gb.allowForksDescription = consenti agli utenti autorizzati di creare ramificazioni di questo repository +gb.forkedFrom = ramificazione di +gb.canFork = creare ramificazioni +gb.canForkDescription = pu� creare una ramificazione personale a partire da un repository cui ha accesso +gb.myFork = vedere le mie ramificazioni +gb.forksProhibited = ramificazioni vietate +gb.forksProhibitedWarning = questo repository non ammette ramificazioni +gb.noForks = {0} non ha ramificazioni +gb.forkNotAuthorized = non sei autorizzato a crare una ramificazione di {0} +gb.forkInProgress = ramificazione in corso +gb.preparingFork = ramificazione in preparazione... +gb.isFork = � una ramificazione +gb.canCreate = pu� creare +gb.canCreateDescription = pu� creare repository personali +gb.illegalPersonalRepositoryLocation = i tuoi repository personali devono trovarsi \"{0}\" +gb.verifyCommitter = verifica committer +gb.verifyCommitterDescription = controlla che l'identit� del committer corrisponda all'utente Gitblit di push +gb.verifyCommitterNote = tutti i merge richiedono "--no-ff" per verificare l'identit� del committer +gb.repositoryPermissions = permessi di repository +gb.userPermissions = permessi di utente +gb.teamPermissions = permessi di gruppo +gb.add = aggiungi +gb.noPermission = CANCELLA QUESTO PERMESSO +gb.excludePermission = {0} (esclude) +gb.viewPermission = {0} (visualizza) +gb.clonePermission = {0} (clone) +gb.pushPermission = {0} (push) +gb.createPermission = {0} (push, crea refs) +gb.deletePermission = {0} (push, crea e cancella refs) +gb.rewindPermission = {0} (push, crea cancella e riavvolge ref) +gb.permission = permesso +gb.regexPermission = questo permesso � assegnato tramite espressione regolare \"{0}\" +gb.accessDenied = accesso negato +gb.busyCollectingGarbage = Gitblit sta eseguendo manutenzione su {0} +gb.gcPeriod = Intervallo di GC +gb.gcPeriodDescription = Intervallo di tempo tra un GC e il successivo +gb.gcThreshold = soglia di GC +gb.gcThresholdDescription = soglia minima di oggetti eliminabili che innesca un GC (garbage collection) anticipato +gb.ownerPermission = proprietario del repository +gb.administrator = amministratore +gb.administratorPermission = amministratore di Gitblit +gb.team = gruppo +gb.teamPermission = permesso ottenuto attraverso l'appartenenza al gruppo \"{0}\" +gb.missing = mancante! +gb.missingPermission = il repository per questo permesso � mancante! +gb.mutable = mutabile +gb.specified = specificato +gb.effective = effettivo +gb.organizationalUnit = unit� organizzativa +gb.organization = organizzazione +gb.locality = localit� +gb.stateProvince = stato o provincia +gb.countryCode = codice nazione +gb.properties = propriet� +gb.issued = segnalato +gb.expires = scade +gb.expired = scaduto +gb.expiring = in scadenza +gb.revoked = revocato +gb.serialNumber = numero di serie +gb.certificates = certificati +gb.newCertificate = nuovo certificato +gb.revokeCertificate = revoca certificato +gb.sendEmail = spedisci email +gb.passwordHint = domanda di sicurezza +gb.ok = ok +gb.invalidExpirationDate = data di scadenza invalida! +gb.passwordHintRequired = la domanda di sicurezza � obbligatoria! +gb.viewCertificate = vedi certificato +gb.subject = soggetto +gb.issuer = emesso da +gb.validFrom = valid dal +gb.validUntil = valido fino al +gb.publicKey = chiave pubblica +gb.signatureAlgorithm = algoritml di firma +gb.sha1FingerPrint = firma SHA-1 +gb.md5FingerPrint = firma MD5 +gb.reason = motivazione +gb.revokeCertificateReason = Per favore selezionare una motivazione per la revoca del certificato +gb.unspecified = non specificata +gb.keyCompromise = chiave compromessa +gb.caCompromise = CA compromessa +gb.affiliationChanged = cambio di affiliazione +gb.superseded = obsoleto +gb.cessationOfOperation = cessata attivit� +gb.privilegeWithdrawn = privilegio rimosso +gb.time.inMinutes = in {0} minuti +gb.time.inHours = in {0} ore +gb.time.inDays = in {0} giorni +gb.hostname = nome host +gb.hostnameRequired = Per favore specificare un nome host +gb.newSSLCertificate = nuovo certificato SSL per il server +gb.newCertificateDefaults = nuovi valori predefiniti del certificato +gb.duration = durata +gb.certificateRevoked = Il certificato {0,number,0} � stato revocato +gb.clientCertificateGenerated = Nuovo certificato client generato con successo per {0} +gb.sslCertificateGenerated = Nuovo certificato SSL server generato con successo per {0} +gb.newClientCertificateMessage = NOTA:\nLa 'password' non � la password dell'utente, bens� la password per il portachiavi (keystore). Questa password non � salvata, perci� � necessario specificare una domanda di sicurezza che sar� inclusa nelle istruzioni per l'utente (README) +gb.certificate = certificato +gb.emailCertificateBundle = invia in email il pacchetto del certificato +gb.pleaseGenerateClientCertificate = Per favore generare un certificato client per {0} +gb.clientCertificateBundleSent = Il pacchetto contente il certificato client per {0} � stato spedito +gb.enterKeystorePassword = Per favore digita la password per il portachiavi di Gitblit (keystore) +gb.warning = attenzione +gb.jceWarning = Il runtime Java in use non contiene i files \"JCE Unlimited Strength Jurisdiction Policy\".\nQuesto limita la lunghezza della password del portachiavi a 7 caratteri.\nI file mancanti possono essere scaricati dal sito Oracle.\n\nVuoi continuare e generare il certificato comunque?\n\nSe rispondi No il tuo browser verr� redirezionato alla pagina di download di Oracle. +gb.maxActivityCommits = numero di commit nella pagina attivit� +gb.maxActivityCommitsDescription = numero massimo di commit da visualizzare nella pagina attivit� +gb.noMaximum = nessun limite +gb.attributes = attributi +gb.serveCertificate = utilizza questo certificato per HTTPS +gb.sslCertificateGeneratedRestart = Certificato SSL server generato con successo per {0}.\nE' necessario riavviare Gitblit per utilizzare il nuovo certificato.\n\nSe l'applicazione � avviata con il parametro '--alias', sar� necesario impostare tale parametro a ''--alias {0}''. +gb.validity = validit� +gb.siteName = nome del sito +gb.siteNameDescription = nome breve del server +gb.excludeFromActivity = escludi dalla pagina riassuntiva delle attivit� +gb.isSparkleshared = il repository si trova una cartella Sparkleshare +gb.owners = proprietari +gb.sessionEnded = La sessione � terminata +gb.closeBrowser = Chiudere il browser per terminare correttamente la sessione. +gb.doesNotExistInTree = {0} non esiste nell'albero {1} +gb.enableIncrementalPushTags = abilita push incrementale di tag +gb.useIncrementalPushTagsDescription = A seguito di un push, crea automaticamente una etichetta in cima ad ogni ramificazione utilizzando un numero incrementale +gb.incrementalPushTagMessage = Nuova auto-etichetta su ramificazione [{0}] a seguito di push +gb.externalPermissions = {0} i permessi di accesso sono gestiti su un sistema esterno +gb.viewAccess = Non hai accesso in lettura o scrittura su Gitblit +gb.overview = riassunto +gb.dashboard = cruscotto +gb.monthlyActivity = attivit� mensile +gb.myProfile = il mio profilo +gb.compare = confronta +gb.manual = manuale +gb.from = da +gb.to = a +gb.at = al +gb.of = di +gb.in = in +gb.moreChanges = tutti i cambiamenti... +gb.pushedNCommitsTo = ha effettuato il push di {0} nuovi commit +gb.pushedOneCommitTo = ha effettuato il push di 1 nuovo commit +gb.commitsTo = {0} crea commits su +gb.oneCommitTo = 1 commit su +gb.byNAuthors = da {0} authori +gb.byOneAuthor = da {0} +gb.viewComparison = confronta qeusti {0} commit \u00bb +gb.nMoreCommits = {0} altri commit \u00bb +gb.oneMoreCommit = 1 altro commit \u00bb +gb.pushedNewTag = ha effettuato il push di una nuova tag +gb.createdNewTag = ha creato una nuova tag +gb.deletedTag = ha cancellato una tag +gb.pushedNewBranch = ha effettuato il push di una ramificazione +gb.createdNewBranch = ha creato una nuova ramificazione +gb.deletedBranch = ha cancellato una ramificazione +gb.createdNewPullRequest = ha creato una richiesta di pull +gb.mergedPullRequest = ha eseguito il merge di una richiesta di pull +gb.rewind = RIAVVOLGERE +gb.star = aggiungi stella +gb.unstar = togli stella +gb.stargazers = astronomi +gb.starredRepositories = repository stellati +gb.failedToUpdateUser = Aggiornamento utente fallito! +gb.myRepositories = I miei repository +gb.noActivity = nessuna attivit� negli ultimi {0} giorni +gb.findSomeRepositories = trova repository +gb.metricAuthorExclusions = Esclusione autori dalle metriche +gb.myDashboard = il mio cruscotto +gb.failedToFindAccount = utente non trovato ''{0}'' +gb.reflog = reflog +gb.active = attivo +gb.starred = stellato +gb.owned = posseduto +gb.starredAndOwned = stellato e posseduto +gb.reviewPatchset = revisione di {0} insiemi di patch {1} +gb.todaysActivityStats = oggi / {1} commit da {2} autori +gb.todaysActivityNone = oggi / nessuno +gb.noActivityToday = nessuna attivit� oggi +gb.anonymousUser= anonimo +gb.commitMessageRenderer = visualizzatore messaggio di commit +gb.diffStat = {0} aggiunte & {1} cancellazioni +gb.home = home +gb.isMirror = questo repository � uno specchio +gb.mirrorOf = specchio di {0} +gb.mirrorWarning = questo repository � uno specchio e non ammette push +gb.docsWelcome1 = Puoi usare file per documentare il tuo repository +gb.docsWelcome2 = Crea un file README.md o HOME.md per cominciare. +gb.createReadme = crea un README +gb.responsible = responsabile +gb.createdThisTicket = ha creato questo ticket +gb.proposedThisChange = ha proposto questo cambiamento +gb.uploadedPatchsetN = ha fatto l'upload di una patch {0} +gb.uploadedPatchsetNRevisionN = ha aggiornato la patch {0} alla revisione {1} +gb.mergedPatchset = ha effettuato il merge di una patch +gb.commented = ha commentato +gb.noDescriptionGiven = nessuna descrizione +gb.toBranch = a {0} +gb.createdBy = creato da +gb.oneParticipant = {0} partecipante +gb.nParticipants = {0} partecipanti +gb.noComments = nessun comment +gb.oneComment = {0} commento +gb.nComments = {0} commenti +gb.oneAttachment = {0} allegato +gb.nAttachments = {0} allegati +gb.milestone = milestone +gb.compareToMergeBase = confronta con la base di merge +gb.compareToN = confronta con {0} +gb.open = aperto +gb.closed = chiuso +gb.merged = merge effettuato +gb.ticketPatchset = ticket {0}, patch {1} +gb.patchsetMergeable = Questa patch pu� essere sottoposta a merge automatico con {0}. +gb.patchsetMergeableMore = Questa patch pu� anche sottoposta a merge con {0} dalla riga di comando. +gb.patchsetAlreadyMerged = Questa patch � stata sottoposta a merge con {0}. +gb.patchsetNotMergeable = Non � possibile effettuare il merge automatico di questa patch con {0}. +gb.patchsetNotMergeableMore = Questa patch necessita di rebase o merge manuale con {0} per risolvere i conflitti. +gb.patchsetNotApproved = La revisione di questa patch non � stata approvata per il merge con {0}. +gb.patchsetNotApprovedMore = Questa patch richiede approvazione da parte di un revisore. +gb.patchsetVetoedMore = Un revisore ha rifiutato questa patch. +gb.write = scrittura +gb.comment = commento +gb.preview = anteprima +gb.leaveComment = lascia un commento... +gb.showHideDetails = mostra/nascondi dettagli +gb.acceptNewPatchsets = accetta patch +gb.acceptNewPatchsetsDescription = accetta patch per questo repository +gb.acceptNewTickets = consenti nuovi ticket +gb.acceptNewTicketsDescription = consente la creazione di ticket per difetti, migliorie, attivit�, etc +gb.requireApproval = approvazione richiesta +gb.requireApprovalDescription = le patch devono essere approvate affinch� il bottone merge venga abilitato +gb.topic = argomento +gb.proposalTickets = cambiamenti proposti +gb.bugTickets = difetti +gb.enhancementTickets = migliorie +gb.taskTickets = attivit� +gb.questionTickets = domande +gb.requestTickets = migliorie e attivit� +gb.yourCreatedTickets = create da te +gb.yourWatchedTickets = osservate da te +gb.mentionsMeTickets = in cui sei menzionato +gb.updatedBy = aggiornate da +gb.sort = ordina +gb.sortNewest = pi� nuovi +gb.sortOldest = pi� vecchi +gb.sortMostRecentlyUpdated = aggiornati pi� di recente +gb.sortLeastRecentlyUpdated = aggiornati meno di recente +gb.sortMostComments = pi� commenti +gb.sortLeastComments = meno commenti +gb.sortMostPatchsetRevisions = patch con pi� revisioni +gb.sortLeastPatchsetRevisions = patch con meno revisioni +gb.sortMostVotes = pi� votati +gb.sortLeastVotes = meno votati +gb.topicsAndLabels = argomenti ed etichette +gb.milestones = milestone +gb.noMilestoneSelected = nessuna milestone selezionata +gb.notSpecified = non specificato +gb.due = entro +gb.queries = interrogazioni +gb.searchTicketsTooltip = ricerca {0} ticket +gb.searchTickets = ricerca ticket +gb.new = nuovo +gb.newTicket = nuovo ticket +gb.editTicket = modifica ticket +gb.ticketsWelcome = Puoi usare i ticket per creare una lista di cose da fare, discutere i difetti o collaborare su patch. +gb.createFirstTicket = Crea il tuo primo ticket +gb.title = Titolo +gb.changedStatus = ha cambibato lo stato +gb.discussion = discussione +gb.updated = aggiornato +gb.proposePatchset = proponi una patch +gb.proposePatchsetNote = Sei il benvenuto nel proporre una patch per questo ticket. +gb.proposeInstructions = Per iniziare, crea una patch e fanne l'upload con Git. Gitblit colleger� la tua patch a questo ticket per id. +gb.proposeWith = Proponi una patch con {0} +gb.revisionHistory = cronologia revisioni +gb.merge = merge +gb.action = azione +gb.patchset = patch +gb.all = all +gb.mergeBase = base di merge +gb.checkout = checkout +gb.checkoutViaCommandLine = Checkout da riga di comando +gb.checkoutViaCommandLineNote = Puoi effettuare il checkout e testare questi cambiamenti localmente tramite il tuo clone di questo repository. +gb.checkoutStep1 = Esegui il fetch della patch corrente \u2014 esegui questo dalla tua cartella di progetto +gb.checkoutStep2 = Esegui il checkout della patch in una nuova ramificazione e revisione +gb.mergingViaCommandLine = Esecuzione del merge via command line +gb.mergingViaCommandLineNote = Se non vuoi utilizzare il bottone di merge, oppure il merge automatico non � possibile, puoi eseguire il merge manuale da riga di comando. +gb.mergeStep1 = Esegui il checkout di un nuovo branch per esaminare i cambiamenti \u2014 esegui questo dalla tua cartella di progetto +gb.mergeStep2 = Apporta i cambiamenti proposti ed esegui la revisione +gb.mergeStep3 = Effettua il merge dei cambiamenti proposti e poi aggiorna il server +gb.download = download +gb.ptDescription = strumento di Gitblit per le patch +gb.ptCheckout = Esegui il fetch e il checkout della patch corrente in una nuova ramificazione per la revisione +gb.ptMerge = Esegui il fetch e il checkout della patch corrente in una tua ramificazione locale +gb.ptDescription1 = Barnum � un accessorio a riga di comando per Git che semplifica la sintassi per lavorare con i ticket Gitblit e le patch +gb.ptSimplifiedCollaboration = sintassi semplificata di collaborazione +gb.ptSimplifiedMerge = sintassi semplificata di merge +gb.ptDescription2 = Barnum richiede Python 3 e il client Git nativo. Funziona su Windows, Linux, and Mac OS X. +gb.stepN = Passo {0} +gb.watchers = osservatori +gb.votes = voti +gb.vote = vota per questo {0} +gb.watch = osserva questo {0} +gb.removeVote = annulla voto +gb.stopWatching = non osservare pi� +gb.watching = osservati +gb.comments = commenti +gb.addComment = aggiungi un commento +gb.export = esporta +gb.oneCommit = un commit +gb.nCommits = {0} commit +gb.addedOneCommit = aggiunto 1 commit +gb.addedNCommits = aggiunti {0} commit +gb.commitsInPatchsetN = commit nella pactch {0} +gb.patchsetN = patch {0} +gb.reviewedPatchsetRev = patch analizzata {0} revisione {1}: {2} +gb.review = revisione +gb.reviews = revisioni +gb.veto = veto +gb.needsImprovement = da migliorare +gb.looksGood = sembra buona +gb.approve = approvata +gb.hasNotReviewed = non analizzata +gb.about = a proposito di +gb.ticketN = ticket #{0} +gb.disableUser = disabilita utente +gb.disableUserDescription = blocca l'utente impedendone l'autenticazione +gb.any = qualsiasi +gb.milestoneProgress = {0} aperti, {1} chiusi +gb.nOpenTickets = {0} aperti +gb.nClosedTickets = {0} chiusi +gb.nTotalTickets = {0} totali +gb.body = corpo +gb.mergeSha = SHA del merge +gb.mergeTo = merge con +gb.labels = etichette +gb.reviewers = revisori +gb.voters = votanti +gb.mentions = menzioni +gb.canNotProposePatchset = patch non accettate +gb.repositoryIsMirror = Questo repository � uno specchio di sola lettura. +gb.repositoryIsFrozen = Questo repository � congelato. +gb.repositoryDoesNotAcceptPatchsets = Questo repository non ammette patch. +gb.serverDoesNotAcceptPatchsets = Questo server non ammette patch. +gb.ticketIsClosed = Questo ticket � chiuso. +gb.mergeToDescription = ramificazione di integrazione per il merge di patch per ticket +gb.anonymousCanNotPropose = Utenti anonimi non possono proporre patch. +gb.youDoNotHaveClonePermission = Non hai i diritti per effettuare il clone di questo repository. +gb.myTickets = i miei ticket +gb.yourAssignedTickets = assegnati a te +gb.newMilestone = nuova milestone +gb.editMilestone = modifica milestone +gb.deleteMilestone = Cancella milestone \"{0}\"? +gb.milestoneDeleteFailed = Cancellazione di milestone fallita ''{0}''! +gb.notifyChangedOpenTickets = invia notifiche per cambiamenti su ticket aperti +gb.overdue = oltre il termine +gb.openMilestones = milestone aperte +gb.closedMilestones = milestone chiuse +gb.administration = amministrazione +gb.plugins = plugins +gb.extensions = estensioni +gb.pleaseSelectProject = Per favore seleziona il progetto! +gb.accessPolicy = Politica di accesso +gb.accessPolicyDescription = Scegli una politica di accesso per controllare la visibilit� del repository e i permessi git. +gb.anonymousPolicy = Visualizzazione, Clone & Push anonimi +gb.anonymousPolicyDescription = Chiunque pu� visualizzare, clonare ed fare push su questo repository. +gb.authenticatedPushPolicy = Push ristretto (utenti autenticati) +gb.authenticatedPushPolicyDescription = Chiunque pu� visualizzare e clonare questo repository. Tutti gli utenti autenticati hanno diritto a push. +gb.namedPushPolicy = Push ristretto (utenti specifici) +gb.namedPushPolicyDescription = Chiunque pu� visualizzare e clonare questo repository. Solo gli utenti selezioni hanno diritto al push. +gb.clonePolicy = Clone & Push ristretti +gb.clonePolicyDescription = Chiunque pu� visualizzare questo repository. I permessi di clone e push vanno definiti. +gb.viewPolicy = Visualizzazione, Clone, & Push ristretti +gb.viewPolicyDescription = Vanno definiti i permessi per stabilire chi pu� visualizzare, clonare ed effettuare il push su questo repository. +gb.initialCommit = Primo commit +gb.initialCommitDescription = Questa funzionalit� ti consente di clonare questo repository immediatamente. Salta questo passo se hai gi� un repository locale inizializzato. +gb.initWithReadme = Includi un README +gb.initWithReadmeDescription = Questa funzionalit� genera semplice README per il tuo repository +gb.initWithGitignore = Includi un file .gitignore +gb.initWithGitignoreDescription = Questa funzionalit� aggiunge un file di configurazione che istruisce i client Git ad ignorare file o cartelle che corrispondono a determinati criteri di selezione. +gb.pleaseSelectGitIgnore = Scegli un file .gitignore +gb.receive = ricevi +gb.permissions = permessi +gb.ownersDescription = Tutti i proprietari possono gestire tutti le impostazioni del repository ma non � concessa la rinomina del repository tranne nel caso di repository personale. +gb.userPermissionsDescription = E' possibile configurare permessi individuali. Queste impostazioni sovrascrivono quelle ereditate dal gruppo o da associazione tramite espresisone regolare. +gb.teamPermissionsDescription = E' possibile specificare permessi di gruppo. Queste impostazioni sovrascrivono quelle ereditate da associazione tramite espressione regolare. +gb.ticketSettings = Impostazioni Ticket +gb.receiveSettings = Ricezione ticket +gb.receiveSettingsDescription = Le impostazioni di ricezione governano i push al repository +gb.preReceiveDescription = Gli hook di pre-receive sono eseguiti dopo aver ricevuto i commit ma <em>PRIMA</em> che i ref vengano aggiornati.<p>Questo � l'hook da usare per rigettare un push</p> +gb.postReceiveDescription = Gli hook di post-receive sono eseguiti dopo aver ricevuto i commit e <em>DOPO</em> che i ref sono stati aggiornati.<p>Questo � l'hook da usare per inviare notifiche, attivare un sistema di build ecc.</p> +gb.federationStrategyDescription = Stabilisce se e come federare questo repository con un altra istanza Gitblit. +gb.federationSetsDescription = Questo repository sar� incluso nelle federazioni selezionate. +gb.miscellaneous = miscellanea +gb.originDescription = URL da cui questo repository � stato clonato +gb.gc = GC +gb.garbageCollection = Garbage Collection +gb.garbageCollectionDescription = Lo spazzino (GC) comprimer� gli oggetti inviati da client Git and rimuover� dal repository oggetti non pi� referenziati. +gb.commitMessageRendererDescription = I messaggi di commit possono essere visualizzati come testo semplice o decorati come markdown +gb.preferences = impostazioni +gb.accountPreferences = Impostazione Utente +gb.accountPreferencesDescription = Imposta le preferenze del tuo utente +gb.languagePreference = Impostazioni di lingua +gb.languagePreferenceDescription = Scegli la tua lingua di traduzione preferita per Gitblit +gb.emailMeOnMyTicketChanges = Inviami una email quando uno dei miei ticket � modificato +gb.emailMeOnMyTicketChangesDescription = Inviami una email quando io stesso modifico un ticket +gb.displayNameDescription = Nome visualizzato +gb.emailAddressDescription = Indirizzo email principale per la ricezione delle notifiche +gb.sshKeys = Chiavi SSH +gb.sshKeysDescription = Autenticazione tramite chiave pubblica SSH � una alternativa sicura all'autenticazione tramite password +gb.addSshKey = Aggiungi una chiave SSH +gb.key = Chiave +gb.comment = Commento +gb.sshKeyCommentDescription = Aggiungi opzionalmente un commento. Se vuoto, il commento sar� estratto dalla chiave stessa. +gb.permission = Permesso +gb.sshKeyPermissionDescription = Definisci il il livello di accesso per la chiave SSH +gb.transportPreference = Preferenze di trasporto +gb.transportPreferenceDescription = Specifica il protocollo di trasporto che preferisci usare per le operazioni di clone + diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp_ko.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_ko.properties index 51e80f4..404f0d2 100644 --- a/src/main/java/com/gitblit/wicket/GitBlitWebApp_ko.properties +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp_ko.properties @@ -672,3 +672,73 @@ gb.mergeToDescription = \ud2f0\ucf13 \ud328\uce58\uc14b\uc744 \uba38\uc9c0\ud560 \uae30\ubcf8 \ud1b5\ud569 \ube0c\ub79c\uce58 gb.anonymousCanNotPropose = \uc775\uba85 \uc0ac\uc6a9\uc790\ub294 \ud328\uce58\uc14b\uc744 \uc81c\uc548\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. gb.youDoNotHaveClonePermission = \ub2f9\uc2e0\uc740 \uc774 \uc800\uc7a5\uc18c\ub97c \ud074\ub860\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +gb.myTickets = \ub0b4 \ud2f0\ucf13 +gb.yourAssignedTickets = \ub098\uc5d0\uac8c \ud560\ub2f9\ub41c +gb.newMilestone = \uc0c8 \ub9c8\uc77c\uc2a4\ud1a4 +gb.editMilestone = \ub9c8\uc77c\uc2a4\ud1a4 \uc218\uc815 +gb.deleteMilestone = \ub9c8\uc77c\uc2a4\ud1a4 \"{0}\"\uc744(\ub97c) \uc0ad\uc81c\ud560\uae4c\uc694? +gb.milestoneDeleteFailed = \ub9c8\uc77c\uc2a4\ud1a4 ''{0}'' \uc0ad\uc81c \uc2e4\ud328! +gb.notifyChangedOpenTickets = \uc5f0 \ud2f0\ucf13\uc758 \ubcc0\uacbd \uc54c\ub9bc \uc804\uc1a1 +gb.overdue = \uc9c0\uc5f0 +gb.openMilestones = \ub9c8\uc77c\uc2a4\ud1a4 \uc5f4\uae30 +gb.closedMilestones = \ub2eb\ud78c \ub9c8\uc77c\uc2a4\ud1a4 +gb.administration = \uad00\ub9ac +gb.plugins = \ud50c\ub7ec\uadf8\uc778 +gb.extensions = \ud655\uc7a5\uae30\ub2a5 +gb.pleaseSelectProject = \ud504\ub85c\uc81d\ud2b8\ub97c \uc120\ud0dd\ud574 \uc8fc\uc138\uc694! +gb.accessPolicy = \uc811\uadfc \uc815\ucc45 +gb.accessPolicyDescription = \uc800\uc7a5\uc18c \ubcf4\uae30\uc640 git \uad8c\ud55c\uc744 \uc81c\uc5b4\ud558\uae30 \uc704\ud574 \uc811\uadfc \uc815\ucc45\uc744 \uc120\ud0dd\ud558\uc138\uc694. +gb.anonymousPolicy = \uc775\uba85 \ubcf4\uae30, \ud074\ub860 \uadf8\ub9ac\uace0 \ud478\uc2dc +gb.anonymousPolicyDescription = \ub204\uad6c\ub098 \uc774 \uc800\uc7a5\uc18c\ub97c \ubcf4\uae30, \ud074\ub860, \uadf8\ub9ac\uace0 \ud478\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +gb.authenticatedPushPolicy = \uc81c\ud55c\ub41c \ud478\uc2dc (\uc778\uc99d\ub41c) +gb.authenticatedPushPolicyDescription = \ub204\uad6c\ub098 \uc774 \uc800\uc7a5\uc18c\ub97c \ubcf4\uac70\ub098 \ud074\ub860\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ubaa8\ub4e0 \uc778\uc99d\ub41c \uc720\uc800\ub294 RW+ \ud478\uc2dc \uad8c\ud55c\uc744 \uac00\uc9d1\ub2c8\ub2e4. +gb.namedPushPolicy = \uc774\ub984\uc73c\ub85c \ud478\uc2dc \uc81c\ud55c +gb.namedPushPolicyDescription = \ub204\uad6c\ub098 \uc774 \uc800\uc7a5\uc18c\ub97c \ubcf4\uac70\ub098 \ud074\ub860\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc120\ud0dd\ud55c \uc720\uc800\ub9cc \ud478\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +gb.clonePolicy = \uc81c\ud55c\ub41c \ud074\ub860 & \ud478\uc2dc +gb.clonePolicyDescription = \ub204\uad6c\ub098 \uc774 \uc800\uc7a5\uc18c\ub97c \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc120\ud0dd\ud55c \uc720\uc800\ub9cc \ud074\ub860\uacfc \ud478\uc2dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +gb.viewPolicy = \uc81c\ud55c\ub41c \ubcf4\uae30, \ud074\ub860 & \ud478\uc2dc +gb.viewPolicyDescription = \uc120\ud0dd\ud55c \uc720\uc800\ub9cc \uc774 \uc800\uc7a5\uc18c\uc5d0 \ub300\ud574 \ubcf4\uae30, \ud074\ub860 \uadf8\ub9ac\uace0 \ud478\uc2dc \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +gb.initialCommit = \ucd5c\ucd08 \ucee4\ubc0b +gb.initialCommitDescription = \uc774 \uc800\uc7a5\uc18c\ub97c \uc989\uc2dc <code>git clone</code> \ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. \ub85c\uceec\uc5d0\uc11c <code>git init</code> \ud588\ub2e4\uba74 \uc774 \ub2e8\uacc4\ub97c \uac74\ub108\ub6f0\uc138\uc694. +gb.initWithReadme = README \ud3ec\ud568 +gb.initWithReadmeDescription = \uc800\uc7a5\uc18c\uc758 \uac04\ub2e8\ud55c README \ubb38\uc11c\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. +gb.initWithGitignore = .gitignore \ud30c\uc77c \ud3ec\ud568 +gb.initWithGitignoreDescription = Git \ud074\ub77c\uc774\uc5b8\ud2b8\uac00 \uc815\uc758\ub41c \ud328\ud134\uc5d0 \ub530\ub77c \ud30c\uc77c\uc774\ub098 \ub514\ub809\ud1a0\ub9ac\ub97c \ubb34\uc2dc\ud558\ub3c4\ub85d \uc9c0\uc815\ud55c \uc124\uc815\ud30c\uc77c\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. +gb.pleaseSelectGitIgnore = .gitignore \ud30c\uc77c\uc744 \uc120\ud0dd\ud558\uc138\uc694. +gb.receive = \uc218\uc2e0 +gb.permissions = \uad8c\ud55c +gb.ownersDescription = \uc18c\uc720\uc790\ub294 \uc800\uc7a5\uc18c\uc758 \ubaa8\ub4e0 \uc124\uc815\uc744 \uad00\ub9ac\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098, \uac1c\uc778 \uc800\uc7a5\uc18c\ub97c \uc81c\uc678\ud558\uace0\ub294 \uc800\uc7a5\uc18c \uc774\ub984\uc744 \ubcc0\uacbd\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +gb.userPermissionsDescription = \uac1c\ubcc4 \uc0ac\uc6a9\uc790 \uad8c\ud55c\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc124\uc815\uc740 \ud300\uc774\ub098 \uc815\uaddc\uc2dd \uad8c\ud55c\uc744 \ubb34\uc2dc\ud569\ub2c8\ub2e4. +gb.teamPermissionsDescription = \uac1c\ubcc4 \ud300 \uad8c\ud55c\uc744 \uc9c0\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uc124\uc815\uc740 \uc815\uaddc\uc2dd \uad8c\ud55c\uc744 \ubb34\uc2dc\ud569\ub2c8\ub2e4. +gb.ticketSettings = \ud2f0\ucf13 \uc124\uc815 +gb.receiveSettings = \uc218\uc2e0 \uc124\uc815 +gb.receiveSettingsDescription = \uc218\uc2e0 \uc124\uc815\uc740 \uc800\uc7a5\uc18c\uc5d0 \ud478\uc2dc\ud558\ub294 \uac83\uc744 \uc81c\uc5b4\ud569\ub2c8\ub2e4. +gb.preReceiveDescription = Pre-receive \ud6c5\uc740 \ucee4\ubc0b\uc744 \uc218\uc2e0\ud588\uc9c0\ub9cc, refs \uac00 \uc5c5\ub370\uc774\ud2b8 \ub418\uae30 <em>\uc804</em> \uc5d0 \uc2e4\ud589\ub429\ub2c8\ub2e4.<p>\uc774\uac83\uc740 \ud478\uc2dc\ub97c \uac70\ubd80\ud558\uae30\uc5d0 \uc801\uc808\ud55c \ud6c5 \uc785\ub2c8\ub2e4.</p> +gb.postReceiveDescription = Post-receive \ud639\uc740 \ucee4\ubc0b\uc744 \uc218\uc2e0\ud558\uace0, refs \uac00 \uc5c5\ub370\uc774\ud2b8 \ub41c <em>\ud6c4</em> \uc5d0 \uc2e4\ud589\ub429\ub2c8\ub2e4.<p>\uc774\uac83\uc740 \uc54c\ub9bc, \ube4c\ub4dc \ud2b8\ub9ac\uac70 \ub4f1\uc744 \ud558\uae30\uc5d0 \uc801\uc808\ud55c \ud6c5 \uc785\ub2c8\ub2e4.</p> +gb.federationStrategyDescription = \ub2e4\ub978 Gitblit \uacfc \ud398\ub354\ub808\uc774\uc158 \ud558\ub294 \ubc29\ubc95\uc744 \uc81c\uc5b4\ud569\ub2c8\ub2e4. +gb.federationSetsDescription = \uc774 \uc800\uc7a5\uc18c\ub294 \uc120\ud0dd\ub41c \ud398\ub354\ub808\uc774\uc158 \uc14b\uc5d0 \ud3ec\ud568\ub429\ub2c8\ub2e4. +gb.miscellaneous = \uae30\ud0c0 +gb.originDescription = \uc774 \uc800\uc7a5\uc18c\uac00 \ud074\ub860\ub41c \uacf3\uc758 url +gb.gc = GC +gb.garbageCollection = \uac00\ube44\uc9c0 \uceec\ub809\uc158 +gb.garbageCollectionDescription = \uac00\ube44\uc9c0 \uceec\ub809\ud130\ub294 \ud074\ub77c\uc774\uc5b8\ud2b8\uc5d0\uc11c \ud478\uc2dc\ud55c \ub290\uc2a8\ud55c \uc624\ube0c\uc81d\ud2b8\ub97c \ud328\ud0b9\ud558\uace0, \uc800\uc7a5\uc18c\uc5d0\uc11c \ucc38\uc870\ud558\uc9c0 \uc54a\ub294 \uc624\ube0c\uc81d\ud2b8\ub97c \uc0ad\uc81c\ud569\ub2c8\ub2e4. +gb.commitMessageRendererDescription = \ucee4\ubc0b \uba54\uc2dc\uc9c0\ub294 \ud3c9\ubb38 \ub610\ub294 \ub9c8\ud06c\uc5c5\uc73c\ub85c \ub80c\ub354\ub9c1\ud558\uc5ec \ud45c\uc2dc\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +gb.preferences = \uc124\uc815 +gb.accountPreferences = \uacc4\uc815 \uc124\uc815 +gb.accountPreferencesDescription = \uacc4\uc815 \uc124\uc815\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. +gb.languagePreference = \uc5b8\uc5b4 \uc124\uc815 +gb.languagePreferenceDescription = \uc120\ud638\ud558\ub294 \uc5b8\uc5b4\ub97c \uc120\ud0dd\ud558\uc138\uc694. +gb.emailMeOnMyTicketChanges = \ub0b4 \ud2f0\ucf13\uc774 \ubcc0\uacbd\ub418\uba74 \uc774\uba54\uc77c\ub85c \uc54c\ub9bc +gb.emailMeOnMyTicketChangesDescription = \ub0b4\uac00 \ub9cc\ub4e0 \ud2f0\ucf13\uc758 \ubcc0\uacbd\ub418\uba74 \ubcc0\uacbd\uc0ac\ud56d\uc744 \ub098\uc758 \uc774\uba54\uc77c\ub85c \uc54c\ub824\uc90c +gb.displayNameDescription = \ud45c\uc2dc\ub420 \uc774\ub984 +gb.emailAddressDescription = \uc54c\ub9bc\uc744 \ubc1b\uae30\uc704\ud55c \uc8fc \uc774\uba54\uc77c +gb.sshKeys = SSH \ud0a4 +gb.sshKeysDescription = SSH \uacf5\uac1c\ud0a4 \uc778\uc99d\uc740 \ud328\uc2a4\uc6cc\ub4dc \uc778\uc99d\uc744 \ub300\uccb4\ud558\ub294 \uc548\uc804\ud55c \ub300\uc548\uc785\ub2c8\ub2e4. +gb.addSshKey = SSH \ud0a4 \ucd94\uac00 +gb.key = \ud0a4 +gb.comment = \uc124\uba85 +gb.sshKeyCommentDescription = \uc0ac\uc6a9\uc790 \uc120\ud0dd\uc778 \uc124\uba85\uc744 \ucd94\uac00\ud558\uc138\uc694. \ube44\uc6cc \ub450\uba74 \ud0a4 \ub370\uc774\ud130\uc5d0\uc11c \ucd94\ucd9c\ud558\uc5ec \ucc44\uc6cc\uc9d1\ub2c8\ub2e4. +gb.permission = \uad8c\ud55c +gb.sshKeyPermissionDescription = SSH \ud0a4\uc758 \uc811\uc18d \uad8c\ud55c\uc744 \uc9c0\uc815\ud558\uc138\uc694. +gb.transportPreference = \uc804\uc1a1 \uc124\uc815 +gb.transportPreferenceDescription = \ud074\ub860\uc2dc \uc0ac\uc6a9\ud560 \uc124\uc815\uc744 \uc9c0\uc815\ud558\uc138\uc694. diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp_nl.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_nl.properties index c669f3f..317716a 100644 --- a/src/main/java/com/gitblit/wicket/GitBlitWebApp_nl.properties +++ b/src/main/java/com/gitblit/wicket/GitBlitWebApp_nl.properties @@ -221,8 +221,8 @@ gb.queryHelp = Standaard query syntax wordt ondersteund.<p/><p/>Zie aub <a target="_new" href="http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/queryparsersyntax.html">Lucene Query Parser Syntax</a> voor informatie. gb.queryResults = resultaten {0} - {1} ({2} hits) gb.noHits = geen hits -gb.authored = authored -gb.committed = committed +gb.authored = geschreven +gb.committed = gecommit gb.indexedBranches = geïndexeerde branches gb.indexedBranchesDescription = kies de branches voor opname in uw Lucene index gb.noIndexedRepositoriesWarning = geen van uw repositories is geconfigureerd voor Lucene indexering @@ -517,7 +517,7 @@ gb.proposedThisChange = stelde deze wijziging voor gb.uploadedPatchsetN = uploade patchset {0} gb.uploadedPatchsetNRevisionN = uploade patchset {0} revisie {1} -gb.mergedPatchset = merged patchset +gb.mergedPatchset = gemergede patchset gb.commented = becommentarieerde gb.noDescriptionGiven = geen omschrijving gegeven gb.toBranch = naar {0} @@ -534,10 +534,10 @@ gb.compareToN = vergelijk met {0} gb.open = open gb.closed = gesloten -gb.merged = merged +gb.merged = gemerged gb.ticketPatchset = ticket {0}, patchset {1} gb.patchsetMergeable = Deze patchset kan automatisch gemerged worden naar {0}. -gb.patchsetMergeableMore = Deze patchset mag ook gemerged worden naar {0} vanaf de command line. +gb.patchsetMergeableMore = Deze patchset mag ook gemerged worden naar {0} vanaf de commandline. gb.patchsetAlreadyMerged = Deze patchset is gemerged naar {0}. gb.patchsetNotMergeable = Deze patchset kan niet automatisch gemerged worden naar {0}. gb.patchsetNotMergeableMore = Deze patchset moet gerebased of handmatig gemerged worden naar {0} om conflicten op te lossen. @@ -546,7 +546,7 @@ gb.patchsetVetoedMore = Een reviewer heeft een veto uitgesproken over deze patchset. gb.write = write gb.comment = commentaar -gb.preview = preview +gb.preview = voorbeeld gb.leaveComment = plaats een opmerking... gb.showHideDetails = toon/verberg details gb.acceptNewPatchsets = accepteer patchsets @@ -605,12 +605,12 @@ gb.all = alle gb.mergeBase = merge base gb.checkout = checkout -gb.checkoutViaCommandLine = Checkout via command line +gb.checkoutViaCommandLine = Checkout via commandline gb.checkoutViaCommandLineNote = U kunt deze wijzigingen uitchecken en lokaal testen vanuit uw eigen kopie van deze repositorie. gb.checkoutStep1 = Dowbload the actuele patchset \u2014 run deze vanuit uw eigen projectdirectorie gb.checkoutStep2 = Check de patchset uit naar een nieuwe branch en review hem -gb.mergingViaCommandLine = Mergen via command line -gb.mergingViaCommandLineNote = Als u de merge knop niet wilt gebruiken of een automatische merge niet kan worden uitgevoerd kunt u een handmatige merge op de command line uitvoeren. +gb.mergingViaCommandLine = Mergen via commandline +gb.mergingViaCommandLineNote = Als u de merge knop niet wilt gebruiken of een automatische merge niet kan worden uitgevoerd kunt u een handmatige merge op de commandline uitvoeren. gb.mergeStep1 = Check out een nieuwe branch voor het reviewen van wijzigingen \u2014 run deze vanuit uw eigen projectdirectorie gb.mergeStep2 = Breng de voorgestelde wijzigingen in en review ze gb.mergeStep3 = Merge de voorgestelde wijzigingen en update de server @@ -670,3 +670,75 @@ gb.serverDoesNotAcceptPatchsets = Deze server accepteert geen patchsets. gb.ticketIsClosed = Deze ticket is gesloten. gb.mergeToDescription = default integratie branch voor het mergen van ticket patchsets +gb.anonymousCanNotPropose = Anonieme gebruikers kunnen geen patchsets voorstellen. +gb.youDoNotHaveClonePermission = U heeft geen rechten voor het clonen van deze repositorie. +ggb.myTickets = mijn tickets +gb.yourAssignedTickets = toegewezen aan mij +gb.newMilestone = nieuwe milestone +gb.editMilestone = wijzig milestone +gb.deleteMilestone = Verwijder milestone \"{0}\"? +gb.milestoneDeleteFailed = Milestone verwijdering ''{0}'' niet gelukt! +gb.notifyChangedOpenTickets = verstuur notificatie voor wijziging open tickets +gb.overdue = te laat +gb.openMilestones = open milestones +gb.closedMilestones = gesloten milestones +gb.administration = administratie +gb.plugins = plugins +gb.extensions = extensies +gb.pleaseSelectProject = Kies aub het project! +gb.accessPolicy = Toegangspolicy +gb.accessPolicyDescription = Kies een toegangspolicy voor het managen van de zichtbaarheid van de repositorie en de git toegangsrechten. +gb.anonymousPolicy = Anoniem View, Clone, & Push +gb.anonymousPolicyDescription = Iedereen mag deze repositorie zien, clonen, en er naartoe pushen. +gb.authenticatedPushPolicy = Beperk Push (Geauthenticeerd) +gb.authenticatedPushPolicyDescription = Iedereen kan deze repositorie zien en clonen. Alle geauthenticeerde gebruikers hebben RW+ push permissie. +gb.namedPushPolicy = Beperk Push (Gebruiker bekend) +gb.namedPushPolicyDescription = Iedereen kan deze repositorie zien en clonen. U bepaalt wie er mag pushen. +gb.clonePolicy = Beperk Clone & Push +gb.clonePolicyDescription = Iedereen kan deze repositorie zien. U bepaalt wie er mag clonen en pushen. +gb.viewPolicy = Beperk Zien, Clonen en Push +gb.viewPolicyDescription = U bepaalt wie deze repositorie mag zien, clonen en er naar toe pushen. +gb.initialCommit = Initiele Commit +gb.initialCommitDescription = Dit maakt het u mogelijk om meteen <code>git clone</code> deze repositorie. Sla deze stap over als u al <code>git init</code> lokaal heeft uitgevoerd. +gb.initWithReadme = Voeg een README toe +gb.initWithReadmeDescription = Dit zal een eenvoudige README document toevoegen aan uw repositorie. +gb.initWithGitignore = Voeg een .gitignore bestand toe +gb.initWithGitignoreDescription = Dit zal een configuratiebestand toevoegen dat uw Git programma zal instrueren om bepaalde bestanden of directories die aan bepaalde selectiepatronen voldoen te negeren. +gb.pleaseSelectGitIgnore = Kies aub een .gitignore bestand +gb.receive = ontvang +gb.permissions = permissies +gb.ownersDescription = Eigenaren kunnen alle repositoriesettings managen maar het is niet toegestaan een repositorie te hernoemen tenzij het hun persoonlijke repositorie is. +gb.userPermissionsDescription = U kunt afzonderlijke gebruikerspermissies specificeren. Deze instellingen zullen team- of regexpermisies overrulen. +gb.teamPermissionsDescription = U kunt afzonderlijke teamspermissies specificeren. Deze instellingen zullen regexpermisies overrulen. +gb.ticketSettings = Ticket Instellingen +gb.receiveSettings = Ontvangstinstellingen +gb.receiveSettingsDescription = De Ontvangstinstellingen managen pushes naar de repositorie. +gb.preReceiveDescription = Pre-receive hooks worden uitgevoerd na commits zijn ontvangen maar <em>VOORDAT</em> de refs worden geupdated.<p>Dit is de juiste hook voor het afwijzen van een push.</p> +gb.postReceiveDescription = Post-receive hooks worden uitgevoerd na commits zijn ontvangen maar <em>NADAT</em> de refs zijn geupdated.<p>Dit is de juiste hook voor notificaties, build triggers, etc.</p> +gb.federationStrategyDescription = Bepaal of en hoe deze repositorie te federeren met een andere Gitblit. +gb.federationSetsDescription = Deze repository zal worden opgenomen in de geselecteerde federatie sets. +gb.miscellaneous = diversen +gb.originDescription = De url vanaf welke deze repositorie was gecloned. +gb.gc = GC +gb.garbageCollection = Garbage Collection +gb.garbageCollectionDescription = De garbage collector zal losse objecten die gepushed zijn van clients samenvoegen en zal ongereferentieerde objecten uit de repository verwijderen. +gb.commitMessageRendererDescription = Commit meldingen kunnen worden getoond als platte tekst of als gerenderde markup. +gb.preferences = voorkeuren +gb.accountPreferences = Accountvoorkeuren +gb.accountPreferencesDescription = Specificeer uw accountvoorkeuren +gb.languagePreference = Taalvoorkeuren +gb.languagePreferenceDescription = Selecteer uw voorkeursvertaling van voor Gitblit +gb.emailMeOnMyTicketChanges = Email bij ticketwijziging +gb.emailMeOnMyTicketChangesDescription = Stuur me een emailnotificatie voor wijzigingen die ik aanbreng aan een ticket +gb.displayNameDescription = De gewenste naam om te tonen +gb.emailAddressDescription = Het primaire emailadres voor het ontvangen van notificaties +gb.sshKeys = SSH Sleutels +gb.sshKeysDescription = SSH publiekesleutelauthenticatie is een veilig alternatief voor wachtwoordauthenticatie +gb.addSshKey = Voeg SSH Sleutel toe +gb.key = Sleutel +gb.comment = Opmerking +gb.sshKeyCommentDescription = Voeg een optionele opmerking toe. Indien leeg zal de opmerking uit de sleutelgegevens worden gehaald. +gb.permission = Permissie +gb.sshKeyPermissionDescription = Specificeer de toegangsrechten voor de SSH sleutel +gb.transportPreference = Transportvoorkeuren +gb.transportPreferenceDescription = Stel de transportmethode in die u wenst voor het clonen diff --git a/src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties b/src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties index 6792076..efc13a1 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.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.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 5976614..b5e4f65 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.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 dd72362..7a8adcf 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 @@ @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 @@ String valueName) { return new Flotr2BarChart(tagId, title, keyName, valueName); } - + } diff --git a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_de.html b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_de.html new file mode 100644 index 0000000..6888e1d --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_de.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>Leeres Repository</center></h3> + <div class="alert alert-info"> + <span wicket:id="repository" style="font-weight: bold;">[repository]</span> ist ein leeres Repository und kann von Gitblit nicht angezeigt werden. + <p></p> + Bitte pushen Sie einige Commits nach <span wicket:id="pushurl"></span> + <hr/> + Nachdem Sie Commits gepusht haben, können Sie diese Seite <b>aktualisieren</b>, um Ihr Repository anzuzeigen. + </div> + + <h3><center>Neues Respository auf der Kommandozeile erstellen</center></h3> + + <pre wicket:id="createSyntax"></pre> + + <h3><center>Ein existierendes Repository von der Kommandozeile pushen</center></h3> + + <pre wicket:id="existingSyntax"></pre> + + <div class="span8 offset1"> + <h2><center>Git lernen</center></h2> + <p>Falls Sie unsicher sind, was Sie mit diesen Informationen anfangen sollen, können Sie sich das <a href="http://git-scm.com/book/de">Git Community Buch</a> anschauen, um ein besseres Verständnis über die Verwendung von Git aufzubauen.</p> + + <h4>Open Source Git Clients</h4> + <table> + <tbody> + <tr><td><a href="http://git-scm.com">Git</a></td><td>der offizielle Kommandozeilen-Git-Client</td></tr> + <tr><td><a href="http://tortoisegit.googlecode.com">TortoiseGit</a></td><td>Windows Datei Explorer Integration (erfordert den offiziellen Kommandozeilen-Client)</td></tr> + <tr><td><a href="http://eclipse.org/egit">Eclipse/EGit</a></td><td>Git für die Eclipse IDE (basiert auf JGit, ebenso wie Gitblit)</td></tr> + <tr><td><a href="https://code.google.com/p/gitextensions/">Git Extensions</a></td><td>C# Frontend für Git mit Windows Explorer und Visual Studio Integration</td></tr> + <tr><td><a href="http://rowanj.github.io/gitx/">GitX-dev</a></td><td>ein Mac OS X Git Client</td></tr> + </tbody> + </table> + + <h4>Kommerzielle/Closed-Source Git Clients</h4> + <table> + <tbody> + <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a></td><td>Ein Java Git und Mercurial Client für Windows, Mac und Linux</td></tr> + <tr><td><a href="http://www.sourcetreeapp.com/">SourceTree</a></td><td>Ein freier Git und Mercurial Client für Windows und Mac</td></tr> + <tr><td><a href="http://www.git-tower.com/">Tower</a></td><td>Ein Mac OS X Git Client</td></tr> + </tbody> + </table> + </div> +</div> +</div> +</div> +</div> +</wicket:extend> +</body> +</html> diff --git a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_it.html b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_it.html new file mode 100644 index 0000000..365f413 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_it.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>Repository vuoto</center></h3> + <div class="alert alert-info"> + <span wicket:id="repository" style="font-weight: bold;">[repository]</span> è vuoto e non può essere visualizzato con Gitblit. + <p></p> + Per favore effettua il push di alcuni commit su <span wicket:id="pushurl"></span> + <hr/> + Dopo il push <b>ricarica</b> questa pagina per vedere il contenuto del repository. + </div> + + <h3><center>Crea un nuovo repository da riga di comando</center></h3> + + <pre wicket:id="createSyntax"></pre> + + <h3><center>Effettua il push da riga di comando</center></h3> + + <pre wicket:id="existingSyntax"></pre> + + <div class="span8 offset1"> + <h2><center>Impara a usare Git</center></h2> + <p>Se non sei sicuro di quello che stai facendo, prova a leggere <a href="http://book.git-scm.com/it">Git Community Book</a> in italiano per una miglior comprensione dell'utilizzo di Git.</p> + + <h4>Applicazioni client Git open source</h4> + <table> + <tbody> + <tr><td><a href="http://git-scm.com">Git</a></td><td>la versione ufficiale di Git, da riga di comando</td></tr> + <tr><td><a href="http://tortoisegit.googlecode.com">TortoiseGit</a></td><td>Integrazione per Windows Explorer (richiede la versione ufficiale di Git da riga di comando)</td></tr> + <tr><td><a href="http://eclipse.org/egit">Eclipse/EGit</a></td><td>Git per ambienti di sviluppo basati su Eclipse (basato su JGit, come Gitblit)</td></tr> + <tr><td><a href="https://code.google.com/p/gitextensions/">Git Extensions</a></td><td>applicazione C# che integra Git in Windows Explorer e Visual Studio</td></tr> + <tr><td><a href="http://rowanj.github.io/gitx/">GitX-dev</a></td><td>un client Git per Mac OS X</td></tr> + </tbody> + </table> + + <h4>Applicazioni client commerciali/non open source</h4> + <table> + <tbody> + <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a></td><td>Un client Git e Mercurial scritto in Java per Windows, Mac, and Linux</td></tr> + <tr><td><a href="http://www.sourcetreeapp.com/">SourceTree</a></td><td>Un client Git e Mercurial gratuito per Windows & Mac</td></tr> + <tr><td><a href="http://www.git-tower.com/">Tower</a></td><td>Un client Git per 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_ko.html b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_ko.html index 7fbcee1..0ecb54d 100644 --- a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_ko.html +++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_ko.html @@ -14,41 +14,41 @@ <div class="alert alert-info"> <span wicket:id="repository" style="font-weight: bold;">[repository]</span> 저장소는 비어 있어서 Gitblit 에서 볼 수 없습니다. <p></p> - 이 Git url 에 커밋해 주세요. <span wicket:id="pushurl"></span> + 이 Git url 에 커밋을 푸시하세요. <span wicket:id="pushurl"></span> <hr/> - After you have pushed commits you may <b>refresh</b> this page to view your repository. + 커밋을 푸시한 후 이 페이지를 <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> <div class="span8 offset1"> <h2><center>Git 배우기</center></h2> <p>만약 사용법에 자신이 없다면, Git 사용법을 더 잘 이해하기 위해 - <a href="http://book.git-scm.com/ko">Git Community Book</a> 또는 을 볼 것을 고려해 보세요.</p> + <a href="http://book.git-scm.com/ko">Git Community Book</a> 을 볼 것을 고려해 보세요.</p> - <h4>오픈소스 Git 클라이언트</h4> + <h4>오픈 소스 Git 클라이언트</h4> <table> <tbody> <tr><td><a href="http://git-scm.com">Git</a></td><td>명령어 기반 공식 Git</td></tr> <tr><td><a href="http://tortoisegit.googlecode.com">TortoiseGit</a></td><td>윈도의 파일 탐색기에 통합된 UI 클라이언트 (명령어 기반 공식 Git 필요)</td></tr> <tr><td><a href="http://eclipse.org/egit">Eclipse/EGit</a></td><td>이클립스 IDE 플러그인 (Gitblit 과 같은 JGit 기반)</td></tr> - <tr><td><a href="https://code.google.com/p/gitextensions/">Git Extensions</a></td><td>C# frontend for Git that features Windows Explorer and Visual Studio integration</td></tr> - <tr><td><a href="http://rowanj.github.io/gitx/">GitX-dev</a></td><td>a Mac OS X Git client</td></tr> + <tr><td><a href="https://code.google.com/p/gitextensions/">Git Extensions</a></td><td>윈도 탐색기와 비주얼스튜디어를 위한 C#으로 개발된 기능</td></tr> + <tr><td><a href="http://rowanj.github.io/gitx/">GitX-dev</a></td><td>맥 OS X 용 Git 클라이언트</td></tr> </tbody> </table> - <h4>유료 Git 클라이언트</h4> + <h4>유료/클로즈드 소스 Git 클라이언트</h4> <table> <tbody> <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a></td><td>자바 어플리케이션 (명령어 기반 공식 Git 필요)</td></tr> - <tr><td><a href="http://www.sourcetreeapp.com/">SourceTree</a></td><td>A free Git and Mercurial client for Windows & Mac</td></tr> - <tr><td><a href="http://www.git-tower.com/">Tower</a></td><td>a Mac OS X Git client</td></tr> + <tr><td><a href="http://www.sourcetreeapp.com/">SourceTree</a></td><td>윈도와 맥에서 가능한 Git 과 Mercurial용 무료 클라이언트</td></tr> + <tr><td><a href="http://www.git-tower.com/">Tower</a></td><td>맥 OS X 용 Git 클라이언트</td></tr> </tbody> </table> </div> diff --git a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_nl.html b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_nl.html index 84373d2..ab207d1 100644 --- a/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_nl.html +++ b/src/main/java/com/gitblit/wicket/pages/EmptyRepositoryPage_nl.html @@ -19,11 +19,11 @@ Nadat u een commits gepushed heeft, kunt u deze pagina <b>verversen</b> om uw repository te bekijken. </div> - <h3><center>Create a new repository on the command-line</center></h3> + <h3><center>Maak een nieuwe repositorie via de command-line</center></h3> <pre wicket:id="createSyntax"></pre> - <h3><center>Push an existing repository from the command-line</center></h3> + <h3><center>Push een bestaande repositorie vanaf de command-line</center></h3> <pre wicket:id="existingSyntax"></pre> @@ -31,18 +31,18 @@ <h2><center>Leer Git</center></h2> <p>Als u niet goed weet wat u met deze informatie aan moet, raden we u aan om het <a href="http://book.git-scm.com/nl">Git Community Book</a> te bestuderen voor een beter begrip over hoe u Git kunt gebruiken.</p> - <h4>Open Source Git Clients</h4> + <h4>Open Source Git Programma's</h4> <table> <tbody> <tr><td><a href="http://git-scm.com">Git</a></td><td>de officiele, command-line Git</td></tr> - <tr><td><a href="http://tortoisegit.googlecode.com">TortoiseGit</a></td><td>Windows bestandsverkenner ingetratie (officiele command-line Git is wel nodig)</td></tr> + <tr><td><a href="http://tortoisegit.googlecode.com">TortoiseGit</a></td><td>Windows bestandsverkenner integratie (officiele command-line Git is wel nodig)</td></tr> <tr><td><a href="http://eclipse.org/egit">Eclipse/EGit</a></td><td>Git voor de Eclipse IDE (gebaseerd op JGit, zoals Gitblit)</td></tr> <tr><td><a href="https://code.google.com/p/gitextensions/">Git Extensions</a></td><td>C# frontend voor Git met Windows Explorer en Visual Studio integratie</td></tr> <tr><td><a href="http://rowanj.github.io/gitx/">GitX-dev</a></td><td>een Mac OS X Git client</td></tr> </tbody> </table> - <h4>Commercial/Closed-Source Git Clients</h4> + <h4>Commerciele/Closed-Source Git Programma's</h4> <table> <tbody> <tr><td><a href="http://www.syntevo.com/smartgithg">SmartGit/Hg</a></td><td>Een Java Git, Mercurial, en SVN client applicatie (officiele command-line Git is wel nodig)</td></tr> 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 0000000..273e15f --- /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 1acf4f8..72ce051 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/main/java/com/gitblit/wicket/pages/TicketsPage.java b/src/main/java/com/gitblit/wicket/pages/TicketsPage.java index dfa7b02..658cdde 100644 --- a/src/main/java/com/gitblit/wicket/pages/TicketsPage.java +++ b/src/main/java/com/gitblit/wicket/pages/TicketsPage.java @@ -536,7 +536,13 @@ item.add(entryPanel); final TicketMilestone tm = item.getModelObject(); - PageParameters params = queryParameters(null, tm.name, null, null, null, true, 1); + String [] states; + if (tm.isOpen()) { + states = TicketsUI.openStatii; + } else { + states = TicketsUI.closedStatii; + } + PageParameters params = queryParameters(null, tm.name, states, null, null, true, 1); entryPanel.add(new LinkPanel("milestoneName", null, tm.name, TicketsPage.class, params).setRenderBodyOnly(true)); String css; diff --git a/src/main/java/com/gitblit/wicket/pages/UserPage.html b/src/main/java/com/gitblit/wicket/pages/UserPage.html index 8dccfee..6bdd3ce 100644 --- a/src/main/java/com/gitblit/wicket/pages/UserPage.html +++ b/src/main/java/com/gitblit/wicket/pages/UserPage.html @@ -64,8 +64,8 @@ <form wicket:id="prefsForm"> <div wicket:id="displayName"></div> <div wicket:id="emailAddress"></div> - <div wicket:id="language"></div> <div wicket:id="emailMeOnMyTicketChanges"></div> + <div wicket:id="language"></div> <div wicket:id="transport"></div> <div class="form-actions"><input class="btn btn-appmenu" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" /></div> diff --git a/src/main/java/com/gitblit/wicket/pages/UserPage.java b/src/main/java/com/gitblit/wicket/pages/UserPage.java index 306eea6..8931d5e 100644 --- a/src/main/java/com/gitblit/wicket/pages/UserPage.java +++ b/src/main/java/com/gitblit/wicket/pages/UserPage.java @@ -172,9 +172,11 @@ Form<Void> prefs = new Form<Void>("prefsForm"); List<Language> languages = Arrays.asList( + new Language("Deutsch","de"), new Language("English","en"), new Language("Español", "es"), new Language("Français", "fr"), + new Language("Italiano", "it"), new Language("日本語", "ja"), new Language("한국말", "ko"), new Language("Nederlands", "nl"), diff --git a/src/main/java/login_de.mkd b/src/main/java/login_de.mkd new file mode 100644 index 0000000..0c89092 --- /dev/null +++ b/src/main/java/login_de.mkd @@ -0,0 +1,3 @@ +## Bitte melden Sie sich an + +Bitte geben Sie Ihre Zugangsdaten ein um auf Gitblit zuzugreifen. diff --git a/src/main/java/login_it.mkd b/src/main/java/login_it.mkd new file mode 100644 index 0000000..17058e3 --- /dev/null +++ b/src/main/java/login_it.mkd @@ -0,0 +1,4 @@ +## Login richiesto + +Per favore fornisci le tue credenziali per accedere a questo sito Gitblit. + diff --git a/src/main/java/welcome_de.mkd b/src/main/java/welcome_de.mkd new file mode 100644 index 0000000..d597ebe --- /dev/null +++ b/src/main/java/welcome_de.mkd @@ -0,0 +1,3 @@ +## Willkommen bei Gitblit + +Eine schnelle und einfache Art und Weise Ihre eigenen [Git](http://www.git-scm.com) Repositories zu hosten. diff --git a/src/main/java/welcome_it.mkd b/src/main/java/welcome_it.mkd new file mode 100644 index 0000000..54e681a --- /dev/null +++ b/src/main/java/welcome_it.mkd @@ -0,0 +1,3 @@ +## Benvenuto su Gitblit + +Un modo facile e veloce per ospitare o visualizzare i tuoi repository [Git](http://www.git-scm.com). diff --git a/src/site/administration.mkd b/src/site/administration.mkd index 6fc334e..049a827 100644 --- a/src/site/administration.mkd +++ b/src/site/administration.mkd @@ -20,7 +20,7 @@ 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* diff --git a/src/site/features.mkd b/src/site/features.mkd index 5981f83..d9ceba7 100644 --- a/src/site/features.mkd +++ b/src/site/features.mkd @@ -60,15 +60,18 @@ - Customizable regular expression substitution for commit messages (i.e. bug or code review link integration) - Single text file for users configuration - Translations - - English - - Japanese - - Spanish - - Polish - - Korean - - Brazilian Portuguese - - Dutch + - German (de) + - English (en) + - Spanish (es) + - French (fr) + - Italian (it) + - Japanese (ja) + - Korean (ko) + - Dutch (nl) + - Norwegian (no) + - Polish (pl) + - Brazilian Portuguese (pt_BR) - Simplified Chinese (zh_CN) - - French ## Gitblit GO Features - Out-of-the-box integrated stack requiring minimal configuration diff --git a/src/site/plugins_extensions.mkd b/src/site/plugins_extensions.mkd index 0e06643..9e0d170 100644 --- a/src/site/plugins_extensions.mkd +++ b/src/site/plugins_extensions.mkd @@ -96,7 +96,6 @@ import org.kohsuke.args4j.Option; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.gitblit.models.UserModel; import com.gitblit.transport.ssh.commands.CommandMetaData; import com.gitblit.transport.ssh.commands.DispatchCommand; import com.gitblit.transport.ssh.commands.UsageExample; diff --git a/src/site/plugins_overview.mkd b/src/site/plugins_overview.mkd index f7872fd..14192f1 100644 --- a/src/site/plugins_overview.mkd +++ b/src/site/plugins_overview.mkd @@ -53,7 +53,7 @@ plugins.registry = http://plugins.gitblit.com/plugins.json -The [registry](http://plugins.gitblit.com/plugins.json) is currently hosted in a [Git repository on Github](https://github.com/gitblit/gitblit-registry). This git repository is also a [Maven-compatible repository](http://plugins.gitblit.com), which hosts some plugin binaries. +The [default plugins registry](http://plugins.gitblit.com) is currently hosted in a [Git repository on Github](https://github.com/gitblit/gitblit-registry). You can view the default registry file [here](http://plugins.gitblit.com/plugins.json). The default plugin registry is also a Maven-2 compatible repository. ### Contributing Plugins to the Default Registry diff --git a/src/site/roadmap.mkd b/src/site/roadmap.mkd index 03d69df..ea64321 100644 --- a/src/site/roadmap.mkd +++ b/src/site/roadmap.mkd @@ -3,7 +3,6 @@ This is not exactly a formal roadmap but it is a priority list of what might be implemented in future releases. This list is volatile and may not reflect what will be in the next release. -* **In-Progress**: Integrate an SSH daemon (issue-369) -* Diff should highlight inserted/removed fragment compared to original line -* Respect Gerrit branch permissions, if found (issue 36) - +* Add support for Project owners/administrators (ticket-75) +* Add Project create/update pages +* Integrate improvements for git-flow (ticket-55) diff --git a/src/site/setup_transport_ssh.mkd b/src/site/setup_transport_ssh.mkd index 0f35910..c18dac4 100644 --- a/src/site/setup_transport_ssh.mkd +++ b/src/site/setup_transport_ssh.mkd @@ -23,14 +23,22 @@ ssh-keygen +**NOTE:** It is important to note that *ssh-keygen* generates a public/private keypair (e.g. id_rsa and id_rsa.pub). You want to upload the *public* key, which is denoted by the *.pub* file extension. + +#### Uploading your public key from the command-line + Then you can upload your *public* key right from the command-line. cat ~/.ssh/id_rsa.pub | ssh -l <username> -p 29418 <hostname> keys add cat c:\<userfolder>\.ssh\id_rsa.pub | ssh -l <username> -p 29418 <hostname> keys add -**NOTE:** It is important to note that *ssh-keygen* generates a public/private keypair (e.g. id_rsa and id_rsa.pub). You want to upload the *public* key, which is denoted by the *.pub* file extension. +#### Uploading your public key through the browser -Once you've done both of those steps you should be able to execute the following command without a password prompt. +1. Navigate to your *profile* page from the dropdown user menu. +2. Click the *SSH Keys* tab and paste your public key into the *Add SSH Key* form. +3. Click the *Save* button + +Once you ave uploaded your public key you should be able to execute the following command without a password prompt. ssh -l <username> -p 29418 <hostname> diff --git a/src/site/siteindex.mkd b/src/site/siteindex.mkd index cc8dc2f..58e18af 100644 --- a/src/site/siteindex.mkd +++ b/src/site/siteindex.mkd @@ -1,4 +1,14 @@ <div class="well" style="margin-left:5px;float:right;width:275px;padding: 10px 10px;"> +<script> + (function(d, s, id) { + var js, fjs = d.getElementsByTagName(s)[0]; + if (d.getElementById(id)) return; + js = d.createElement(s); js.id = id; + js.async = true; + js.src = "//go.jelastic.com/widgets.js"; + fjs.parentNode.insertBefore(js, fjs); + }(document, 'script', 'jelastic-jssdk')); +</script> <div style="text-align:center"> <b>Current Release ${project.releaseVersion} (${project.releaseDate})</b><br/><a href="releasenotes.html">release notes</a> <div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-success" href="%GCURL%gitblit-${project.releaseVersion}.zip">Download Gitblit GO (Windows)</a></div> @@ -7,7 +17,7 @@ <div style="padding:5px;"><a style="width:175px;text-decoration:none;" class="btn btn-primary" href="%GCURL%manager-${project.releaseVersion}.zip">Download Gitblit Manager</a></div> <a href='https://bintray.com/gitblit/releases/gitblit/view?source=watch' alt='Get automatic notifications about new "stable" versions'><img src='https://www.bintray.com/docs/images/bintray_badge_color.png'></a> </div> - +<div data-manifest="http://1c57d83a4c5f3a21ec25c050d4c5e37b.app.jelastic.com/xssu/cross/download/RDYYHABkAFJbUVlMMVU7RUtDARgATExFCEBuGS4jdQJKRUsEDwIBQmNTTEBI" data-width="280" data-theme="flat-blue" data-text="Get it hosted now!" data-tx-empty="Type your email and click the button" data-tx-invalid-email="Invalid email, please check the spelling" data-tx-error="An error has occurred, please try again later" data-tx-success="Check your email" class="je-app" ></div> <div style="padding-top:5px;"> <table class="table condensed-table"> <tbody> @@ -46,11 +56,19 @@ Gitblit can be used as a complete Git stack for cloning, pushing, and repository access control. Gitblit can be used without any other Git tooling (including actual Git) or it can cooperate with your established tools. +### All Transports + +The SSH, HTTP, & GIT protocols are supported and ready-to-go out of the box. + +### Issue tracking with branch-based pull requests + +Gitblit blends elements of GitHub, BitBucket, and Gerrit to provide a streamlined collaboration workflow based on branches within the primary repository. + ### Easy Remote Management Administrators can create and manage all repositories, user accounts, and teams from the *Web UI*. Administrators can create and manage all repositories, user accounts, and teams from the *JSON RPC interface* using the [Gitblit Manager](http://code.google.com/p/gitblit/downloads/detail?name=%MANAGER%) or your own custom tooling. -Administrators can create and manage all repositories, user accounts, and teams from the *command-line* using the [Powertools plugin](https://github.com/gitblit/gitblit-powertools-plugin). +Administrators can create and manage all repositories, user accounts, and teams from the *command-line* using SSH & the [Powertools plugin](https://github.com/gitblit/gitblit-powertools-plugin). ### Integration with Your Infrastructure diff --git a/src/site/tickets_replication.mkd b/src/site/tickets_replication.mkd index a72df27..60f12cf 100644 --- a/src/site/tickets_replication.mkd +++ b/src/site/tickets_replication.mkd @@ -145,9 +145,9 @@ migrate-tickets com.gitblit.tickets.RedisTicketService c:\gitblit-data -##### Gitblit WAR/Express +##### Gitblit WAR -Gitblit WAR/Express does not ship with anything other than the WAR, but you can still migrate tickets offline with a little extra effort. +Gitblit WAR does not ship with anything other than the WAR, but you can still migrate tickets offline with a little extra effort. *Windows* diff --git a/src/site/tickets_setup.mkd b/src/site/tickets_setup.mkd index aeecbeb..f70d75c 100644 --- a/src/site/tickets_setup.mkd +++ b/src/site/tickets_setup.mkd @@ -109,7 +109,7 @@ #### Milestones -Milestones are a way to group tickets together. Currently milestones are specified at the repository level and are stored in the repository git config file. Gitblit's internal architecture has all the methods necessary to maintain milestones, but this functionality is not yet exposed through the web ui. For now you will have to control milestones manually with a text editor. +Milestones are a way to group tickets together. Milestones are specified for each repository and are stored in the repository git config file. Repository owners may create milestones through the web ui in the *Tickets* page on the *Milestones* tab. [milestone "v1.5.0"] status = Open diff --git a/src/site/tickets_using.mkd b/src/site/tickets_using.mkd index 3cda731..5712845 100644 --- a/src/site/tickets_using.mkd +++ b/src/site/tickets_using.mkd @@ -59,6 +59,14 @@ ...add one or more commits... git push +### Checking-Out a Named Branch for an Existing Ticket with a Patchset + +If you prefer to name your local ticket branches rather than using the default integer ids, you can do this with a little more syntax. + + git checkout -b my_fix --track origin/ticket/{id} + +This will create a local branch named *my_fix* which tracks the upstream ticket branch. + ### Rewriting a Patchset (amend, rebase, squash) *Who can rewrite a patchset?* @@ -76,21 +84,18 @@ ### Updating your copy of a rewritten Patchset -If a patchset has been rewritten you can no longer simply *pull* to update. Let's assume your checkout **does not** have any unshared commits - i.e. it represents the previous patchset. The simplest way to update your branch to the current patchset is to reset it. +If a patchset has been rewritten you can no longer simply *pull* to update. Let's assume your checkout **does not** have any unshared commits - i.e. it represents the previous patchset. The simplest way to update your branch to the current patchset is to reset it using the `-B` checkout flag. - git fetch && git checkout ticket/{id} - git reset --hard origin/ticket/{id} + git fetch && git checkout -B ticket/{id} If you **do** have unshared commits then you'll could make a new temporary branch and then cherry-pick your changes onto the rewritten patchset. git branch oldticket ticket/{id} - git fetch && git checkout ticket/{id} - git reset --hard origin/ticket/{id} + git fetch && git checkout -B ticket/{id} git cherry-pick <commitid1> <commitid2> git branch -D oldticket Git is a very flexible tool, there are no doubt several other strategies you could use to resolve this situation. The above solution is just one way. - ### Ticket RefSpecs -- Gitblit v1.9.1