[PATCH] l10n: de.po: fix two messages

2018-12-07 Thread Ralf Thielow
Reported-by: Phillip Szelat 
Signed-off-by: Ralf Thielow 
---
Hi Phillip,

Good catches. Thanks for the review!

Ralf

 po/de.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/po/de.po b/po/de.po
index eb213d742..d5113434a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -3421,7 +3421,7 @@ msgstr "Fehler bei Vorbereitung der Packdatei aus 
multi-pack-index."
 #: midx.c:407
 #, c-format
 msgid "failed to add packfile '%s'"
-msgstr "Fehler beim Hinzufügen von Packdatei'%s'."
+msgstr "Fehler beim Hinzufügen von Packdatei '%s'."
 
 #: midx.c:413
 #, c-format
@@ -4559,7 +4559,7 @@ msgstr "Öffnen von /dev/null fehlgeschlagen"
 #: run-command.c:1229
 #, c-format
 msgid "cannot create async thread: %s"
-msgstr "Kann Thread für async nicht erzeugen: %s"
+msgstr "Konnte Thread für async nicht erzeugen: %s"
 
 #: run-command.c:1293
 #, c-format
-- 
2.20.0.rc2.411.g8f28e744c2



[PATCH v2] l10n: update German translation

2018-12-03 Thread Ralf Thielow
Signed-off-by: Ralf Thielow 
---
v2 updates the translation up to the latest update of git.pot.

range-diff:
1:  f0a6c76bf ! 1:  f8313495e l10n: update German translation
@@ -205,13 +205,13 @@
 -msgstr ""
 +msgstr "Falsche Reihenfolge bei multi-pack-index Pack-Namen: '%s' vor 
'%s'"
  
  #: midx.c:205
  #, c-format
- msgid "bad pack-int-id: %u (%u total packs"
+ msgid "bad pack-int-id: %u (%u total packs)"
 -msgstr ""
-+msgstr "Fehlerhafte pack-int-id: %u (%u Pakete insgesamt)"
++msgstr "Ungültige pack-int-id: %u (%u Pakete insgesamt)"
  
  #: midx.c:246
  msgid "multi-pack-index stores a 64-bit offset, but off_t is too small"
 -msgstr ""
 +msgstr "multi-pack-index speichert einen 64-Bit Offset, aber off_t ist zu 
klein."
@@ -364,31 +364,31 @@
 +#, c-format
  msgid "unable to join load_cache_entries thread: %s"
 -msgstr "kann Thread nicht erzeugen: %s"
 +msgstr "Kann Thread für load_cache_entries nicht erzeugen: %s"
  
- #: read-cache.c:2200
+ #: read-cache.c:2201
 -#, fuzzy, c-format
 +#, c-format
  msgid "unable to create load_index_extensions thread: %s"
 -msgstr "kann Thread nicht erzeugen: %s"
 +msgstr "Kann Thread für load_index_extensions nicht erzeugen: %s"
  
- #: read-cache.c:2227
+ #: read-cache.c:2228
 -#, fuzzy, c-format
 +#, c-format
  msgid "unable to join load_index_extensions thread: %s"
 -msgstr "kann Thread nicht erzeugen: %s"
-+msgstr "Kann Thread für load_index_extensions nicht erzeugen: %s"
++msgstr "Kann Thread für load_index_extensions nicht beitreten: %s"
  
- #: read-cache.c:2953 sequencer.c:4727 wrapper.c:658 builtin/merge.c:1086
+ #: read-cache.c:2982 sequencer.c:4727 wrapper.c:658 builtin/merge.c:1086
  #, c-format
  msgid "could not close '%s'"
 -msgstr "Konnte '%s' nicht schließen"
 +msgstr "Konnte '%s' nicht schließen."
  
- #: read-cache.c:3026 sequencer.c:2203 sequencer.c:3592
+ #: read-cache.c:3055 sequencer.c:2203 sequencer.c:3592
  #, c-format
 @@
  msgstr "Konnte '%s' nicht entfernen."
  
  #: rebase-interactive.c:10
@@ -802,14 +802,19 @@
  
  #: builtin/grep.c:1051
 -#, fuzzy
  msgid "invalid option combination, ignoring --threads"
 -msgstr "keine Unterstützung von Threads, --threads wird ignoriert"
-+msgstr "ungültige Kombination von Optionen, --threads wird ignoriert"
++msgstr "Ungültige Kombination von Optionen, --threads wird ignoriert."
  
- #: builtin/grep.c:1054 builtin/pack-objects.c:3395
+ #: builtin/grep.c:1054 builtin/pack-objects.c:3397
  msgid "no threads support, ignoring --threads"
+-msgstr "keine Unterstützung von Threads, --threads wird ignoriert"
++msgstr "Keine Unterstützung für Threads, --threads wird ignoriert."
+ 
+ #: builtin/grep.c:1057 builtin/index-pack.c:1503 
builtin/pack-objects.c:2716
+ #, c-format
 @@
  msgstr "Für '%s' wurde der Alias '%s' angelegt."
  
  #: builtin/help.c:444
 -#, fuzzy, c-format
@@ -944,17 +949,17 @@
  #: builtin/pack-objects.c:2123
  msgid "suboptimal pack - out of memory"
 @@
  "packen"
  
- #: builtin/pack-objects.c:3316
+ #: builtin/pack-objects.c:3318
 -#, fuzzy
  msgid "respect islands during delta compression"
 -msgstr "Größe des Fensters für die Delta-Kompression"
 +msgstr "Delta-Islands bei Delta-Kompression beachten"
  
- #: builtin/pack-objects.c:3340
+ #: builtin/pack-objects.c:3342
  #, c-format
 @@
  "wurde nicht angefordert."
  
  #: builtin/pull.c:565
@@ -964,10 +969,28 @@
 -msgstr "Konnte Commit '%s' nicht parsen."
 +msgstr "Konnte nicht auf Commit '%s' zugreifen."
  
  #: builtin/pull.c:843
  msgid "ignoring --verify-signatures for rebase"
+@@
+ "config'."
+ 
+ #: builtin/push.c:168
+-#, fuzzy, c-format
++#, c-format
+ msgid ""
+ "The upstream branch of your current branch does not match\n"
+ "the name of your current branch.  To push to the upstream branch\n"
+@@
+ "Um auf den Branch mit demselben Namen im Remote-Repository zu 
versenden,\n"
+ "benutzen Sie:\n"
+ "\n"
+-"git push %s %s\n"
++"git push %s HEAD\n"
+ "%s"
+ 
+ #: builtin/push.c:183
 @@
  msgstr "unpack-trees protokollieren"
  
  #:

[PATCH] builtin/rebase.c: remove superfluous space in messages

2018-11-30 Thread Ralf Thielow
Signed-off-by: Ralf Thielow 
---
 builtin/rebase.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/builtin/rebase.c b/builtin/rebase.c
index 5b3e5baec8..a6acba76b4 100644
--- a/builtin/rebase.c
+++ b/builtin/rebase.c
@@ -871,7 +871,7 @@ int cmd_rebase(int argc, const char **argv, const char 
*prefix)
   "them"), REBASE_PRESERVE_MERGES),
OPT_BOOL(0, "rerere-autoupdate",
 _rerere_autoupdate,
-N_("allow rerere to update index  with resolved "
+N_("allow rerere to update index with resolved "
"conflict")),
OPT_BOOL('k', "keep-empty", _empty,
 N_("preserve empty commits during rebase")),
@@ -1520,7 +1520,7 @@ int cmd_rebase(int argc, const char **argv, const char 
*prefix)
 */
strbuf_reset();
if (!oidcmp(_base, _head)) {
-   printf(_("Fast-forwarded %s to %s. \n"),
+   printf(_("Fast-forwarded %s to %s.\n"),
branch_name, options.onto_name);
strbuf_addf(, "rebase finished: %s onto %s",
options.head_name ? options.head_name : "detached HEAD",
-- 
2.20.0.rc1.379.g1dd7ef354c



[PATCH] l10n: update German translation

2018-11-30 Thread Ralf Thielow
Signed-off-by: Ralf Thielow 
---
 po/de.po | 827 +--
 1 file changed, 375 insertions(+), 452 deletions(-)

diff --git a/po/de.po b/po/de.po
index 3cf9405df..256b668a8 100644
--- a/po/de.po
+++ b/po/de.po
@@ -943,17 +943,17 @@ msgid ""
 "Use '\\!' for literal leading exclamation."
 msgstr ""
 "Verneinende Muster werden in Git-Attributen ignoriert.\n"
 "Benutzen Sie '\\!' für führende Ausrufezeichen."
 
 #: bisect.c:468
 #, c-format
 msgid "Badly quoted content in file '%s': %s"
-msgstr "Ungültiger Inhalt bzgl. Anführungsstriche in Datei '%s': %s"
+msgstr "Ungültiger Inhalt bzgl. Anführungszeichen in Datei '%s': %s"
 
 #: bisect.c:676
 #, c-format
 msgid "We cannot bisect more!\n"
 msgstr "Keine binäre Suche mehr möglich!\n"
 
 #: bisect.c:730
 #, c-format
@@ -1282,19 +1282,18 @@ msgstr "Das Paket speichert eine komplette Historie."
 #: bundle.c:201
 #, c-format
 msgid "The bundle requires this ref:"
 msgid_plural "The bundle requires these %d refs:"
 msgstr[0] "Das Paket benötigt diese Referenz:"
 msgstr[1] "Das Paket benötigt diese %d Referenzen:"
 
 #: bundle.c:267
-#, fuzzy
 msgid "unable to dup bundle descriptor"
-msgstr "Konnte Descriptor nicht umleiten."
+msgstr "Konnte dup für Descriptor des Pakets nicht ausführen."
 
 #: bundle.c:274
 msgid "Could not spawn pack-objects"
 msgstr "Konnte Paketobjekte nicht erstellen"
 
 #: bundle.c:285
 msgid "pack-objects died"
 msgstr "Erstellung der Paketobjekte abgebrochen"
@@ -1433,28 +1432,26 @@ msgid "could not find commit %s"
 msgstr "Konnte Commit %s nicht finden."
 
 #: commit-graph.c:617 builtin/pack-objects.c:2652
 #, c-format
 msgid "unable to get type of object %s"
 msgstr "Konnte Art von Objekt '%s' nicht bestimmen."
 
 #: commit-graph.c:651
-#, fuzzy
 msgid "Annotating commits in commit graph"
-msgstr "Zu viele Commits zum Schreiben des Graphen."
+msgstr "Annotiere Commits in Commit-Graphen"
 
 #: commit-graph.c:691
 msgid "Computing commit graph generation numbers"
-msgstr ""
+msgstr "Commit-Graph Generierungsnummern berechnen"
 
 #: commit-graph.c:803 commit-graph.c:826 commit-graph.c:852
-#, fuzzy
 msgid "Finding commits for commit graph"
-msgstr "Zu viele Commits zum Schreiben des Graphen."
+msgstr "Bestimme Commits für Commit-Graphen"
 
 #: commit-graph.c:812
 #, c-format
 msgid "error adding pack %s"
 msgstr "Fehler beim Hinzufügen von Paket %s."
 
 #: commit-graph.c:814
 #, c-format
@@ -1478,17 +1475,17 @@ msgstr "Konnte führende Verzeichnisse von '%s' nicht 
erstellen."
 #: commit-graph.c:1002
 msgid "the commit-graph file has incorrect checksum and is likely corrupt"
 msgstr ""
 "Die Commit-Graph-Datei hat eine falsche Prüfsumme und ist wahrscheinlich "
 "beschädigt."
 
 #: commit-graph.c:1046
 msgid "Verifying commits in commit graph"
-msgstr ""
+msgstr "Commit in Commit-Graph überprüfen"
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "Speicher verbraucht"
 
 #: config.c:123
 #, c-format
 msgid ""
@@ -2193,37 +2190,39 @@ msgstr[1] "%s, und % Monaten"
 #, c-format
 msgid "% year ago"
 msgid_plural "% years ago"
 msgstr[0] "vor % Jahr"
 msgstr[1] "vor % Jahren"
 
 #: delta-islands.c:268
 msgid "Propagating island marks"
-msgstr ""
+msgstr "Erzeuge Delta-Island Markierungen"
 
 #: delta-islands.c:286
-#, fuzzy, c-format
+#, c-format
 msgid "bad tree object %s"
-msgstr "Konnte Objekt %s nicht lesen."
+msgstr "Ungültiges Tree-Objekt %s."
 
 #: delta-islands.c:330
-#, fuzzy, c-format
+#, c-format
 msgid "failed to load island regex for '%s': %s"
-msgstr "Fehler beim Finden des \"Tree\"-Objektes von %s."
+msgstr "Fehler beim Laden des regulären Ausdrucks des Delta-Island für '%s': 
%s"
 
 #: delta-islands.c:386
 #, c-format
 msgid "island regex from config has too many capture groups (max=%d)"
 msgstr ""
+"Regulärer Ausdruck des Delta-Island aus Konfiguration hat zu\n"
+"viele Capture-Gruppen (maximal %d)."
 
 #: delta-islands.c:462
 #, c-format
 msgid "Marked %d islands, done.\n"
-msgstr ""
+msgstr "%d Delta-Islands markiert, fertig.\n"
 
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "Fehler beim Lesen der Reihenfolgedatei '%s'."
 
 #: diffcore-rename.c:544
 msgid "Performing inexact rename detection"

[PATCH] git-rebase.sh: fix typos in error messages

2018-09-28 Thread Ralf Thielow
Signed-off-by: Ralf Thielow 
---
 git-rebase.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/git-rebase.sh b/git-rebase.sh
index 7973447645..45b6ee9c0e 100755
--- a/git-rebase.sh
+++ b/git-rebase.sh
@@ -553,15 +553,15 @@ then
# Note: incompatibility with --interactive is just a strong warning;
#   git-rebase.txt caveats with "unless you know what you are doing"
test -n "$rebase_merges" &&
-   die "$(gettext "error: cannot combine '--preserve_merges' with 
'--rebase-merges'")"
+   die "$(gettext "error: cannot combine '--preserve-merges' with 
'--rebase-merges'")"
 fi
 
 if test -n "$rebase_merges"
 then
test -n "$strategy_opts" &&
-   die "$(gettext "error: cannot combine '--rebase_merges' with 
'--strategy-option'")"
+   die "$(gettext "error: cannot combine '--rebase-merges' with 
'--strategy-option'")"
test -n "$strategy" &&
-   die "$(gettext "error: cannot combine '--rebase_merges' with 
'--strategy'")"
+   die "$(gettext "error: cannot combine '--rebase-merges' with 
'--strategy'")"
 fi
 
 if test -z "$rebase_root"
-- 
2.19.0.599.g22e244bd67



[PATCH] builtin/config.c: separate message and value by colon in error messages

2018-08-03 Thread Ralf Thielow
The error message and the value that caused that error should be
separated by a colon.

Signed-off-by: Ralf Thielow 
---
 builtin/config.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/builtin/config.c b/builtin/config.c
index 2c93a289a7..862f870b58 100644
--- a/builtin/config.c
+++ b/builtin/config.c
@@ -98,7 +98,7 @@ static int option_parse_type(const struct option *opt, const 
char *arg,
else if (!strcmp(arg, "color"))
new_type = TYPE_COLOR;
else
-   die(_("unrecognized --type argument, %s"), arg);
+   die(_("unrecognized --type argument: %s"), arg);
}
 
to_type = opt->value;
-- 
2.18.0.203.gfac676dfb9



[PATCH] l10n: de.po: translate 108 new messages

2018-07-19 Thread Ralf Thielow
Translate 108 new messages came from git.pot update in 9b7388a85 (l10n:
git.pot: v2.18.0 round 1 (108 new, 14 removed)).

Signed-off-by: Ralf Thielow 
---
 po/de.po | 373 +--
 1 file changed, 194 insertions(+), 179 deletions(-)

diff --git a/po/de.po b/po/de.po
index bdc5830e1..47986814c 100644
--- a/po/de.po
+++ b/po/de.po
@@ -10,25 +10,25 @@ msgstr ""
 "POT-Creation-Date: 2018-05-31 23:32+0800\n"
 "PO-Revision-Date: 2016-11-28 18:10+0100\n"
 "Last-Translator: Ralf Thielow \n"
 "Language-Team: German <>\n"
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: advice.c:92
-#, fuzzy, c-format
+#, c-format
 msgid "%shint: %.*s%s\n"
-msgstr "Hinweis: %.*s\n"
+msgstr "%sHinweis: %.*s%s\n"
 
 #: advice.c:137
 msgid "Cherry-picking is not possible because you have unmerged files."
 msgstr ""
 "Cherry-Picken ist nicht möglich, weil Sie nicht zusammengeführte Dateien "
 "haben."
 
 #: advice.c:139
 msgid "Committing is not possible because you have unmerged files."
 msgstr ""
 "Committen ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
@@ -1284,44 +1284,52 @@ msgstr "%s %s ist kein Commit!"
 #: commit.c:182
 msgid ""
 "Support for /info/grafts is deprecated\n"
 "and will be removed in a future Git version.\n"
 "\n"
 "Please use \"git replace --convert-graft-file\"\n"
 "to convert the grafts into replace refs.\n"
 "\n"
 "Turn this message off by running\n"
 "\"git config advice.graftFileDeprecated false\""
 msgstr ""
+"Die Unterstützung für /info/grafts ist veraltet\n"
+"und wird in zukünftigen Git Versionen entfernt.\n"
+"\n"
+"Bitte benutzen Sie \"git replace --convert-graft-file\"\n"
+"zum Konvertieren der künstlichen Vorgänger (\"grafts\")\n"
+"in ersetzende Referenzen.<\n"
+"\n"
+"Sie können diese Meldung unterdrücken, indem Sie\n"
+"\"git config advice.graftFileDeprecated false\" ausführen."
 
 #: commit.c:1537
 msgid ""
 "Warning: commit message did not conform to UTF-8.\n"
 "You may want to amend it after fixing the message, or set the config\n"
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
 "Warnung: Die Commit-Beschreibung ist nicht UTF-8 konform.\n"
 "Sie können das nachbessern, nachdem Sie die Beschreibung korrigiert haben,\n"
 "oder Sie setzen die Konfigurationsvariable i18n.commitencoding auf das "
 "Encoding,\n"
 "welches von ihrem Projekt verwendet wird.\n"
 
 #: commit-graph.c:669
 #, c-format
 msgid "the commit graph format cannot write %d commits"
-msgstr ""
+msgstr "Das Commit-Graph Format kann nicht %d Commits schreiben."
 
 #: commit-graph.c:696
-#, fuzzy
 msgid "too many commits to write graph"
-msgstr "nur Commits anzeigen, die sich nicht im ersten Branch befinden"
+msgstr "Zu viele Commits zum Schreiben des Graphen."
 
 #: commit-graph.c:707 builtin/init-db.c:516 builtin/init-db.c:521
 #, c-format
 msgid "cannot mkdir %s"
 msgstr "kann Verzeichnis %s nicht erstellen"
 
 #: compat/obstack.c:405 compat/obstack.c:407
 msgid "memory exhausted"
 msgstr "Speicher verbraucht"
 
 #: config.c:187
@@ -1554,56 +1562,61 @@ msgstr "LF würde in %s durch CRLF ersetzt werden."
 msgid ""
 "LF will be replaced by CRLF in %s.\n"
 "The file will have its original line endings in your working directory."
 msgstr ""
 "LF wird in %s durch CRLF ersetzt.\n"
 "Die Datei wird ihre ursprünglichen Zeilenenden im Arbeitsverzeichnis "
 "behalten."
 
 #: convert.c:279
 #, c-format
 msgid "BOM is prohibited in '%s' if encoded as %s"
-msgstr ""
+msgstr "BOM ist in '%s' unzulässig, wenn als %s codiert."
 
 #: convert.c:286
 #, c-format
 msgid ""
 "The file '%s' contains a byte order mark (BOM). Please use UTF-%s as working-"
 "tree-encoding."
 msgstr ""
+"Die Datei '%s' enthält ein Byte-Order-Mark (BOM). Bitte benutzen Sie UTF-%s\n"
+"als Codierung im Arbeitsverzeichnis."
 
 #: convert.c:304
 #, c-format
 msgid "BOM is required in '%s' if encoded as %s"
-msgstr ""
+msgstr "BOM ist erforderlich in '%s', wenn als %s codiert."
 
 #: convert.c:306
 #, c-forma

[PATCH] l10n: de.po: fix a 'add --interactive' message

2018-04-03 Thread Ralf Thielow
Noticed-by: Matthias Rüster <matthias.rues...@gmail.com>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/po/de.po b/po/de.po
index 793bd2a80..257f527d6 100644
--- a/po/de.po
+++ b/po/de.po
@@ -16991,7 +16991,7 @@ msgstr "Löschung im Arbeitsverzeichnis verwerfen 
[y,n,q,a,d%s,?]? "
 #: git-add--interactive.perl:1405
 #, perl-format
 msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
-msgstr "diesen Patch-Block im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
+msgstr "Diesen Patch-Block im Arbeitsverzeichnis verwerfen [y,n,q,a,d%s,?]? "
 
 #: git-add--interactive.perl:1408
 #, perl-format
-- 
2.17.0.484.g0c8726318



Re: [PATCH] l10n: de.po: translate 132 new messages

2018-04-03 Thread Ralf Thielow
2018-04-02 20:09 GMT+02:00 Matthias Rüster :
> Hi Ralf,
>
> thanks a lot for your translations!
>
> I've only found a small issue:
>
>>   #: git-add--interactive.perl:1405
>> -#, fuzzy, perl-format
>> +#, perl-format
>>   msgid "Discard this hunk from worktree [y,n,q,a,d%s,?]? "
>> -msgstr "diesen Patch-Block im Arbeitsverzeichnis verwerfen
>> [y,n,q,a,d,/%s,?]? "
>> +msgstr "diesen Patch-Block im Arbeitsverzeichnis verwerfen
>> [y,n,q,a,d%s,?]? "
>
>
> "Diesen ..."
>

Hi Matthias,

Thanks for the review!

I'll send a fix for this since this version has already been merged.

Ralf

>
> Kind regards,
> Matthias


[PATCH] l10n: TEAMS: remove inactive de team members

2018-04-03 Thread Ralf Thielow
Thanks for your contributions!

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/TEAMS | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/po/TEAMS b/po/TEAMS
index 065771cfe..762879550 100644
--- a/po/TEAMS
+++ b/po/TEAMS
@@ -13,12 +13,8 @@ Members: Alex Henrie <alexhenri...@gmail.com>
 Language:  de (German)
 Repository:https://github.com/ralfth/git-po-de
 Leader:    Ralf Thielow <ralf.thie...@gmail.com>
-Members:   Thomas Rast <t...@thomasrast.ch>
-   Jan Krüger <j...@jk.gs>
-   Christian Stimming <stimm...@tuhh.de>
+Members:   Matthias Rüster <matthias.rues...@gmail.com>
Phillip Szelat <phillip.sze...@gmail.com>
-   Matthias Rüster <matthias.rues...@gmail.com>
-   Magnus Görlitz <magnus.goerl...@googlemail.com>
 
 Language:  es (Spanish)
 Repository:https://github.com/ChrisADR/git-po
-- 
2.17.0.484.g0c8726318



[PATCH] l10n: de.po: translate 132 new messages

2018-03-27 Thread Ralf Thielow
Translate 132 new message came from git.pot update in abc8de64d (l10n:
git.pot: v2.17.0 round 1 (132 new, 44 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 455 +--
 1 file changed, 209 insertions(+), 246 deletions(-)

diff --git a/po/de.po b/po/de.po
index 852c02a9b..793bd2a80 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1654,15 +1654,14 @@ msgstr "externes Diff-Programm unerwartet beendet, 
angehalten bei %s"
 #: diff.c:4146
 msgid "--name-only, --name-status, --check and -s are mutually exclusive"
 msgstr ""
 "--name-only, --name-status, --check und -s schließen sich gegenseitig aus"
 
 #: diff.c:4149
-#, fuzzy
 msgid "-G, -S and --find-object are mutually exclusive"
-msgstr "-b, -B und --detach schließen sich gegenseitig aus"
+msgstr "-G, -S und --find-object schließen sich gegenseitig aus"
 
 #: diff.c:4237
 msgid "--follow requires exactly one pathspec"
 msgstr "--follow erfordert genau eine Pfadspezifikation"
 
 #: diff.c:4403
@@ -1695,15 +1694,15 @@ msgid ""
 "you may want to set your %s variable to at least %d and retry the command."
 msgstr ""
 "Sie könnten die Variable %s auf mindestens %d setzen und den Befehl\n"
 "erneut versuchen."
 
 #: dir.c:1866
-#, fuzzy, c-format
+#, c-format
 msgid "could not open directory '%s'"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Verzeichnis '%s' nicht öffnen."
 
 #: dir.c:2108
 msgid "failed to get kernel name and information"
 msgstr "Fehler beim Sammeln von Namen und Informationen zum Kernel"
 
 #: dir.c:2232
@@ -1731,27 +1730,25 @@ msgstr "Hinweis: Warte auf das Schließen der Datei 
durch Ihren Editor...%c"
 msgid "Filtering content"
 msgstr "Filtere Inhalt"
 
 #: entry.c:435
 #, c-format
 msgid "could not stat file '%s'"
-msgstr "konnte Datei '%s' nicht lesen"
+msgstr "Konnte Datei '%s' nicht lesen."
 
 #: fetch-object.c:17
-#, fuzzy
 msgid "Remote with no URL"
-msgstr "git archive: Externes Archiv ohne URL"
+msgstr "Remote-Repository ohne URL"
 
 #: fetch-pack.c:253
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: erwartete shallow-Liste"
 
 #: fetch-pack.c:265
-#, fuzzy
 msgid "git fetch-pack: expected ACK/NAK, got a flush packet"
-msgstr "git fetch-pack: ACK/NAK erwartet, '%s' bekommen"
+msgstr "git fetch-pack: ACK/NAK erwartet, Flush-Paket bekommen"
 
 #: fetch-pack.c:284 builtin/archive.c:63
 #, c-format
 msgid "remote error: %s"
 msgstr "Fehler am anderen Ende: %s"
 
@@ -1883,15 +1880,14 @@ msgstr "Server unterstützt allow-reachable-sha1-in-want"
 
 #: fetch-pack.c:979
 msgid "Server supports ofs-delta"
 msgstr "Server unterstützt ofs-delta"
 
 #: fetch-pack.c:985
-#, fuzzy
 msgid "Server supports filter"
-msgstr "Server unterstützt ofs-delta"
+msgstr "Server unterstützt Filter"
 
 #: fetch-pack.c:993
 #, c-format
 msgid "Server version is %.*s"
 msgstr "Server-Version ist %.*s"
 
@@ -2104,19 +2100,18 @@ msgstr "Name besteht nur aus nicht erlaubten Zeichen: 
%s"
 #: ident.c:416 builtin/commit.c:582
 #, c-format
 msgid "invalid date format: %s"
 msgstr "Ungültiges Datumsformat: %s"
 
 #: list-objects-filter-options.c:36
-#, fuzzy
 msgid "multiple filter-specs cannot be combined"
-msgstr "Mehrere Arten von Objekt-Filtern können nicht kombiniert werden."
+msgstr "Mehrere filter-specs können nicht kombiniert werden."
 
 #: list-objects-filter-options.c:126
 msgid "cannot change partial clone promisor remote"
-msgstr ""
+msgstr "Kann Remote-Repository für partielles Klonen nicht ändern."
 
 #: lockfile.c:151
 #, c-format
 msgid ""
 "Unable to create '%s.lock': %s.\n"
 "\n"
@@ -2964,20 +2959,20 @@ msgstr "  (benutzen Sie \"git branch --unset-upstream\" 
zum Beheben)\n"
 #: remote.c:2139
 #, c-format
 msgid "Your branch is up to date with '%s'.\n"
 msgstr "Ihr Branch ist auf demselben Stand wie '%s'.\n"
 
 #: remote.c:2143
-#, fuzzy, c-format
+#, c-format
 msgid "Your branch and '%s' refer to different commits.\n"
-msgstr "Ihr Branch ist %2$d Commit vor '%1$s'.\n"
+msgstr "Ihr Branch und '%s' zeigen auf unterschiedliche Commits.\n"
 
 #: remote.c:2146
 #, c-format
 msgid "  (use \"%s\" for details)\n"
-msgstr ""
+msgstr "  (benutzen Sie \"%s\" für Details)\n"
 
 #: remote.c:2150
 #, c-format
 msgid "Your branch is ahead of '%s' by %d commit.\n"
 msgid_plu

[PATCH v2] l10n: de.po: translate 72 new messages

2018-01-13 Thread Ralf Thielow
Translate 72 new messages came from git.pot update in 18a907225 (l10n:
git.pot: v2.16.0 round 1 (64 new, 25 removed)) and 005c62fe4 (l10n:
git.pot: v2.16.0 round 2 (8 new, 4 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---

Thanks for the review, Matthias!

 po/de.po | 227 +++
 1 file changed, 98 insertions(+), 129 deletions(-)

diff --git a/po/de.po b/po/de.po
index b24b28875..eef4897fb 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1716,7 +1716,7 @@ msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' 
migrieren."
 #: editor.c:61
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
+msgstr "Hinweis: Warte auf das Schließen der Datei durch Ihren Editor...%c"
 
 #: entry.c:177
 msgid "Filtering content"
@@ -2087,12 +2087,12 @@ msgstr "Ungültiges Datumsformat: %s"
 
 #: list-objects-filter-options.c:30
 msgid "multiple object filter types cannot be combined"
-msgstr ""
+msgstr "Mehrere Arten von Objekt-Filtern können nicht kombiniert werden."
 
 #: list-objects-filter-options.c:41 list-objects-filter-options.c:68
-#, fuzzy, c-format
+#, c-format
 msgid "invalid filter-spec expression '%s'"
-msgstr "Ungültige Datei: '%s'"
+msgstr "Ungültiger filter-spec Ausdruck '%s'."
 
 #: lockfile.c:151
 #, c-format
@@ -2356,9 +2356,9 @@ msgid "Adding %s"
 msgstr "Füge %s hinzu"
 
 #: merge-recursive.c:1958
-#, fuzzy, c-format
+#, c-format
 msgid "Dirty index: cannot merge (dirty: %s)"
-msgstr "Geänderter Index: kann Patches nicht anwenden (geändert: %s)"
+msgstr "Geänderter Index: kann nicht mergen (geändert: %s)"
 
 #: merge-recursive.c:1962
 msgid "Already up to date!"
@@ -3015,6 +3015,8 @@ msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
 "You can disable this warning with `git config advice.ignoredHook false`."
 msgstr ""
+"Der '%s' Hook wurde ignoriert, weil er nicht als ausführbar markiert ist.\n"
+"Sie können diese Warnung mit `git config advice.ignoredHook false` 
deaktivieren."
 
 #: send-pack.c:141
 #, c-format
@@ -3137,14 +3139,12 @@ msgid "%s: Unable to write new index file"
 msgstr "%s: Konnte neue Index-Datei nicht schreiben"
 
 #: sequencer.c:496
-#, fuzzy
 msgid "could not resolve HEAD commit"
-msgstr "Konnte HEAD-Commit nicht auflösen\n"
+msgstr "Konnte HEAD-Commit nicht auflösen."
 
 #: sequencer.c:516
-#, fuzzy
 msgid "unable to update cache tree"
-msgstr "Konnte Cache-Verzeichnis nicht aktualisieren\n"
+msgstr "Konnte Cache-Verzeichnis nicht aktualisieren."
 
 #: sequencer.c:600
 #, c-format
@@ -3178,14 +3178,14 @@ msgstr ""
 "  git rebase --continue\n"
 
 #: sequencer.c:702
-#, fuzzy, c-format
+#, c-format
 msgid "could not parse commit %s"
-msgstr "Konnte Commit %s nicht parsen\n"
+msgstr "Konnte Commit %s nicht parsen."
 
 #: sequencer.c:707
-#, fuzzy, c-format
+#, c-format
 msgid "could not parse parent commit %s"
-msgstr "Konnte Eltern-Commit %s nicht parsen\n"
+msgstr "Konnte Eltern-Commit %s nicht parsen."
 
 #: sequencer.c:836
 #, c-format
@@ -3316,14 +3316,14 @@ msgid "git %s: failed to refresh the index"
 msgstr "git %s: Fehler beim Aktualisieren des Index"
 
 #: sequencer.c:1270
-#, fuzzy, c-format
+#, c-format
 msgid "%s does not accept arguments: '%s'"
-msgstr "%%(body) akzeptiert keine Argumente"
+msgstr "%s akzeptiert keine Argumente: '%s'"
 
 #: sequencer.c:1279
-#, fuzzy, c-format
+#, c-format
 msgid "missing arguments for %s"
-msgstr "Objekt %s fehlt für %s"
+msgstr "Fehlende Argumente für %s."
 
 #: sequencer.c:1322
 #, c-format
@@ -4965,7 +4965,7 @@ msgstr "versionierte Dateien aktualisieren"
 
 #: builtin/add.c:299
 msgid "renormalize EOL of tracked files (implies -u)"
-msgstr ""
+msgstr "erneutes Normalisieren der Zeilenenden von versionierten Dateien 
(impliziert -u)"
 
 #: builtin/add.c:300
 msgid "record only the fact that the path will be added later"
@@ -5507,36 +5507,34 @@ msgstr "git bisect--helper --next-all [--no-checkout]"
 
 #: builtin/bisect--helper.c:13
 msgid "git bisect--helper --write-terms  "
-msgstr ""
+msgstr "git bisect--helper --write-terms  "
 
 #: builtin/bisect--helper.c:14
-#, fuzzy
 msgid "git bisect--helper --bisect-clean-state"
-msgstr "git bisect--helper --next-all [--no-checkout]"
+msgstr "git bisect--helper --bisect-clean-state"
 
 #: builtin/bisect--helper.c:46
-#, fuzzy, c-format
+#, c-format
 msgid "'%s' is n

[PATCH] Documentation/git-worktree.txt: add missing `

2018-01-11 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 Documentation/git-worktree.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/git-worktree.txt b/Documentation/git-worktree.txt
index f850e8ffb..41585f535 100644
--- a/Documentation/git-worktree.txt
+++ b/Documentation/git-worktree.txt
@@ -118,7 +118,7 @@ OPTIONS
 --[no-]guess-remote::
With `worktree add `, without ``, instead
of creating a new branch from HEAD, if there exists a tracking
-   branch in exactly one remote matching the basename of `,
+   branch in exactly one remote matching the basename of ``,
base the new branch on the remote-tracking branch, and mark
the remote-tracking branch as "upstream" from the new branch.
 +
-- 
2.16.0.rc1.290.gc44db26fe



[PATCH] l10n: de.po: translate 72 new messages

2018-01-11 Thread Ralf Thielow
Translate 72 new messages came from git.pot update in 18a907225 (l10n:
git.pot: v2.16.0 round 1 (64 new, 25 removed)) and 005c62fe4 (l10n:
git.pot: v2.16.0 round 2 (8 new, 4 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 227 +++
 1 file changed, 98 insertions(+), 129 deletions(-)

diff --git a/po/de.po b/po/de.po
index b24b28875..6f04621b9 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1716,7 +1716,7 @@ msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' 
migrieren."
 #: editor.c:61
 #, c-format
 msgid "hint: Waiting for your editor to close the file...%c"
-msgstr ""
+msgstr "Hinweis: Warte auf das Schließen der Datei durch Ihren Editor...%c"
 
 #: entry.c:177
 msgid "Filtering content"
@@ -2087,12 +2087,12 @@ msgstr "Ungültiges Datumsformat: %s"
 
 #: list-objects-filter-options.c:30
 msgid "multiple object filter types cannot be combined"
-msgstr ""
+msgstr "Mehrere Arten von Objekt-Filtern können nicht kombiniert werden."
 
 #: list-objects-filter-options.c:41 list-objects-filter-options.c:68
-#, fuzzy, c-format
+#, c-format
 msgid "invalid filter-spec expression '%s'"
-msgstr "Ungültige Datei: '%s'"
+msgstr "Ungültiger filter-spec Ausdruck '%s'."
 
 #: lockfile.c:151
 #, c-format
@@ -2356,9 +2356,9 @@ msgid "Adding %s"
 msgstr "Füge %s hinzu"
 
 #: merge-recursive.c:1958
-#, fuzzy, c-format
+#, c-format
 msgid "Dirty index: cannot merge (dirty: %s)"
-msgstr "Geänderter Index: kann Patches nicht anwenden (geändert: %s)"
+msgstr "Geänderter Index: kann nicht mergen (geändert: %s)"
 
 #: merge-recursive.c:1962
 msgid "Already up to date!"
@@ -3015,6 +3015,8 @@ msgid ""
 "The '%s' hook was ignored because it's not set as executable.\n"
 "You can disable this warning with `git config advice.ignoredHook false`."
 msgstr ""
+"Der '%s' Hook wurde ignoriert, weil er nicht als ausführbar markiert ist.\n"
+"Sie können diese Warnung mit `git config advice.ignoredHook false` 
deaktivieren."
 
 #: send-pack.c:141
 #, c-format
@@ -3137,14 +3139,12 @@ msgid "%s: Unable to write new index file"
 msgstr "%s: Konnte neue Index-Datei nicht schreiben"
 
 #: sequencer.c:496
-#, fuzzy
 msgid "could not resolve HEAD commit"
-msgstr "Konnte HEAD-Commit nicht auflösen\n"
+msgstr "Konnte HEAD-Commit nicht auflösen."
 
 #: sequencer.c:516
-#, fuzzy
 msgid "unable to update cache tree"
-msgstr "Konnte Cache-Verzeichnis nicht aktualisieren\n"
+msgstr "Konnte Cache-Verzeichnis nicht aktualisieren."
 
 #: sequencer.c:600
 #, c-format
@@ -3178,14 +3178,14 @@ msgstr ""
 "  git rebase --continue\n"
 
 #: sequencer.c:702
-#, fuzzy, c-format
+#, c-format
 msgid "could not parse commit %s"
-msgstr "Konnte Commit %s nicht parsen\n"
+msgstr "Konnte Commit %s nicht parsen."
 
 #: sequencer.c:707
-#, fuzzy, c-format
+#, c-format
 msgid "could not parse parent commit %s"
-msgstr "Konnte Eltern-Commit %s nicht parsen\n"
+msgstr "Konnte Eltern-Commit %s nicht parsen."
 
 #: sequencer.c:836
 #, c-format
@@ -3316,14 +3316,14 @@ msgid "git %s: failed to refresh the index"
 msgstr "git %s: Fehler beim Aktualisieren des Index"
 
 #: sequencer.c:1270
-#, fuzzy, c-format
+#, c-format
 msgid "%s does not accept arguments: '%s'"
-msgstr "%%(body) akzeptiert keine Argumente"
+msgstr "%s akzeptiert keine Argumente: '%s'"
 
 #: sequencer.c:1279
-#, fuzzy, c-format
+#, c-format
 msgid "missing arguments for %s"
-msgstr "Objekt %s fehlt für %s"
+msgstr "Fehlende Argumente für %s."
 
 #: sequencer.c:1322
 #, c-format
@@ -4965,7 +4965,7 @@ msgstr "versionierte Dateien aktualisieren"
 
 #: builtin/add.c:299
 msgid "renormalize EOL of tracked files (implies -u)"
-msgstr ""
+msgstr "erneutes Normalisieren der Zeilenenden von versionierten Dateien 
(impliziert -u)"
 
 #: builtin/add.c:300
 msgid "record only the fact that the path will be added later"
@@ -5507,36 +5507,34 @@ msgstr "git bisect--helper --next-all [--no-checkout]"
 
 #: builtin/bisect--helper.c:13
 msgid "git bisect--helper --write-terms  "
-msgstr ""
+msgstr "git bisect--helper --write-terms  "
 
 #: builtin/bisect--helper.c:14
-#, fuzzy
 msgid "git bisect--helper --bisect-clean-state"
-msgstr "git bisect--helper --next-all [--no-checkout]"
+msgstr "git bisect--helper --bisect-clean-state"
 
 #: builtin/bisect--helper.c:46
-#, fuzzy, c-format
+#, c-format
 msgid "'%s' is not a valid term"
-msgstr "

[PATCH] l10n: de.po: improve messages when a branch starts to track another ref

2017-12-16 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/po/de.po b/po/de.po
index 400262625..00ffd8c41 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1070,42 +1070,42 @@ msgstr "Branch %s kann nicht sein eigener 
Upstream-Branch sein."
 #: branch.c:93
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
-msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Branch '%s' von '%s' 
durch Rebase."
+msgstr "Branch '%s' folgt nun Remote-Branch '%s' von '%s' durch Rebase."
 
 #: branch.c:94
 #, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
-msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Branch '%s' von '%s'."
+msgstr "Branch '%s' folgt nun Remote-Branch '%s' von '%s'."
 
 #: branch.c:98
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
-msgstr "Branch '%s' konfiguriert zum Folgen von lokalem Branch '%s' durch 
Rebase."
+msgstr "Branch '%s' folgt nun lokalem Branch '%s' durch Rebase."
 
 #: branch.c:99
 #, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
-msgstr "Branch '%s' konfiguriert zum Folgen von lokalem Branch '%s'."
+msgstr "Branch '%s' folgt nun lokalem Branch '%s'."
 
 #: branch.c:104
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
-msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Referenz '%s' durch 
Rebase."
+msgstr "Branch '%s' folgt nun Remote-Referenz '%s' durch Rebase."
 
 #: branch.c:105
 #, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
-msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Referenz '%s'."
+msgstr "Branch '%s' folgt nun Remote-Referenz '%s'."
 
 #: branch.c:109
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
-msgstr "Branch '%s' konfiguriert zum Folgen von lokaler Referenz '%s' durch 
Rebase."
+msgstr "Branch '%s' folgt nun lokaler Referenz '%s' durch Rebase."
 
 #: branch.c:110
 #, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
-msgstr "Branch '%s' konfiguriert zum Folgen von lokaler Referenz '%s'."
+msgstr "Branch '%s' folgt nun lokaler Referenz '%s'."
 
 #: branch.c:119
 msgid "Unable to write upstream branch configuration"
-- 
2.15.1.504.g5279b8010



Re: [PATCH] l10n: update de_DE translation

2017-12-02 Thread Ralf Thielow
Robert Abel  wrote:
> Der-, die- and dasselbe and their declensions are spelt as one word in German.
> 

Thanks!

> Signed-off-by: Robert Abel 
> ---
>  po/de.po | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/po/de.po b/po/de.po
> index a05aca5f3..400262625 100644
> --- a/po/de.po
> +++ b/po/de.po
> @@ -2925,7 +2925,7 @@ msgstr "  (benutzen Sie \"git branch --unset-upstream\" 
> zum Beheben)\n"
>  #: remote.c:2083
>  #, c-format
>  msgid "Your branch is up to date with '%s'.\n"
> -msgstr "Ihr Branch ist auf dem selben Stand wie '%s'.\n"
> +msgstr "Ihr Branch ist auf demselben Stand wie '%s'.\n"
>  
>  #: remote.c:2087
>  #, c-format
> @@ -10874,7 +10874,7 @@ msgstr "Kann nicht überschreiben"
>  
>  #: builtin/mv.c:239
>  msgid "multiple sources for the same target"
> -msgstr "mehrere Quellen für das selbe Ziel"
> +msgstr "mehrere Quellen für dasselbe Ziel"
>  
>  #: builtin/mv.c:241
>  msgid "destination directory does not exist"
> @@ -11827,7 +11827,7 @@ msgstr ""
>  "\n"
>  "git push %s HEAD:%s\n"
>  "\n"
> -"Um auf den Branch mit dem selben Namen im Remote-Repository zu versenden,\n"
> +"Um auf den Branch mit demselben Namen im Remote-Repository zu versenden,\n"
>  "benutzen Sie:\n"
>  "\n"
>  "git push %s %s\n"
> -- 
> 2.15.1
> 


git-clone ignores submodule.recurse configuration

2017-12-01 Thread Ralf Thielow
Today I played around a bit with git submodules and noticed
that the very handy configuration "submodule.recurse" is not
working for the git-clone command.

"git help config" tells me that submodule.recurse affects
all commands that have a --recurse-submodules option.
git-clone seems to be an exception which is also mentioned in
a workflow example in Documentation/gitsubmodules.txt that
says:

  # Unlike the other commands below clone still needs
  # its own recurse flag:
  git clone --recurse  
  cd 

So this seems to be a known issue. Is someone already
working on this or has a plan to do it? Or is there a reason
not doing this for git-clone but for git-pull?


[PATCH] l10n: de.po: fix typos

2017-10-20 Thread Ralf Thielow
From: Andre Hinrichs <andre.hinri...@gmx.de>

Signed-off-by: Andre Hinrichs <andre.hinri...@gmx.de>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/po/de.po b/po/de.po
index 0619c4988..a05aca5f3 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2389,7 +2389,7 @@ msgstr "Sie haben Ihren Merge von Notizen nicht 
abgeschlossen (%s existiert)."
 #: notes-utils.c:42
 msgid "Cannot commit uninitialized/unreferenced notes tree"
 msgstr ""
-"Kann uninitialisiertes/unreferenzierte Notiz-Verzeichnis nicht committen."
+"Kann uninitialisiertes/unreferenziertes Notiz-Verzeichnis nicht committen."
 
 #: notes-utils.c:101
 #, c-format
@@ -4805,7 +4805,7 @@ msgstr "nichts zum Commit vorgemerkt, aber es gibt 
unversionierte Dateien\n"
 #, c-format
 msgid "nothing to commit (create/copy files and use \"git add\" to track)\n"
 msgstr ""
-"nichts zu committen (Erstellen/Kopieren Sie Dateien und benutzen\n"
+"nichts zu committen (erstellen/kopieren Sie Dateien und benutzen\n"
 "Sie \"git add\" zum Versionieren)\n"
 
 #: wt-status.c:1661 wt-status.c:1666
@@ -7141,7 +7141,7 @@ msgstr "Abstand zum linken Rand"
 
 #: builtin/column.c:32
 msgid "Padding space on right border"
-msgstr "Abstand zur rechten Rand"
+msgstr "Abstand zum rechten Rand"
 
 #: builtin/column.c:33
 msgid "Padding space between columns"
@@ -7573,7 +7573,7 @@ msgstr "Konnte neu erstellten Commit nicht nachschlagen."
 
 #: builtin/commit.c:1451
 msgid "could not parse newly created commit"
-msgstr "Konnte neulich erstellten Commit nicht analysieren."
+msgstr "Konnte neu erstellten Commit nicht analysieren."
 
 #: builtin/commit.c:1496
 msgid "detached HEAD"
@@ -8482,7 +8482,7 @@ msgstr "%s hat nicht alle erforderlichen Objekte 
gesendet\n"
 #, c-format
 msgid "reject %s because shallow roots are not allowed to be updated"
 msgstr ""
-"%s wurde zurückgewiesen, da Ursprungs-Commits von Repositoriesmit "
+"%s wurde zurückgewiesen, da Ursprungs-Commits von Repositories mit "
 "unvollständiger Historie (shallow) nicht aktualisiert werden dürfen."
 
 #: builtin/fetch.c:877 builtin/fetch.c:973
@@ -10539,7 +10539,7 @@ msgstr "--continue erwartet keine Argumente"
 
 #: builtin/merge.c:1192
 msgid "There is no merge in progress (MERGE_HEAD missing)."
-msgstr "Es ist keine Merge im Gange (MERGE_HEAD fehlt)."
+msgstr "Es ist kein Merge im Gange (MERGE_HEAD fehlt)."
 
 #: builtin/merge.c:1208
 msgid ""
@@ -10917,7 +10917,7 @@ msgstr "nur Tags verwenden, um die Commits zu benennen"
 
 #: builtin/name-rev.c:398
 msgid "only use refs matching "
-msgstr "nur Referenzen verwenden die  entsprechen"
+msgstr "nur Referenzen verwenden, die  entsprechen"
 
 #: builtin/name-rev.c:400
 msgid "ignore refs matching "
@@ -12395,7 +12395,7 @@ msgstr "alle Tags und verbundene Objekte beim Anfordern 
importieren"
 
 #: builtin/remote.c:165
 msgid "or do not fetch any tag at all (--no-tags)"
-msgstr "oder fordere gar keine Zweige an (--no-tags)"
+msgstr "oder fordere gar keine Tags an (--no-tags)"
 
 #: builtin/remote.c:167
 msgid "branch(es) to track"
@@ -12498,7 +12498,7 @@ msgstr[0] ""
 "gelöscht;\n"
 "um diesen zu löschen, benutzen Sie:"
 msgstr[1] ""
-"Hinweis: Einige Branches außer der refs/remotes/ Hierarchie wurden nicht "
+"Hinweis: Einige Branches außerhalb der refs/remotes/ Hierarchie wurden nicht "
 "entfernt;\n"
 "um diese zu entfernen, benutzen Sie:"
 
@@ -14247,7 +14247,7 @@ msgstr "Cache für unversionierte Dateien aktivieren 
oder deaktivieren"
 #: builtin/update-index.c:1008
 msgid "test if the filesystem supports untracked cache"
 msgstr ""
-"prüfen ob das Dateisystem einen Cache für unversionierte Dateien unterstützt"
+"prüfen, ob das Dateisystem einen Cache für unversionierte Dateien unterstützt"
 
 #: builtin/update-index.c:1010
 msgid "enable untracked cache without testing the filesystem"
@@ -14942,7 +14942,7 @@ msgid ""
 "Error: Your local changes to the following files would be overwritten by "
 "merge"
 msgstr ""
-"Fehler Ihre lokalen Änderungen in den folgenden Dateien würden durch den "
+"Fehler: Ihre lokalen Änderungen in den folgenden Dateien würden durch den "
 "Merge\n"
 "überschrieben werden"
 
@@ -15242,7 +15242,7 @@ msgstr "Konnte den Index nicht aktualisieren."
 
 #:

[PATCH] l10n: de.po: translate 70 new messages

2017-10-17 Thread Ralf Thielow
Translate 70 new messages came from git.pot update in 25eab542b
(l10n: git.pot: v2.15.0 round 1 (68 new, 36 removed)) and 9c07fab78
(l10n: git.pot: v2.15.0 round 2 (2 new, 2 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 253 ++-
 1 file changed, 106 insertions(+), 147 deletions(-)

diff --git a/po/de.po b/po/de.po
index c76fe575c..0619c4988 100644
--- a/po/de.po
+++ b/po/de.po
@@ -92,21 +92,20 @@ msgid ""
 "\n"
 "  git checkout -b \n"
 "\n"
 msgstr ""
 "Hinweis: Checke '%s' aus.\n"
 "\n"
-"Sie befinden sich im Zustand eines 'lösgelösten HEAD'. Sie können sich\n"
+"Sie befinden sich im Zustand eines 'losgelösten HEAD'. Sie können sich\n"
 "umschauen, experimentelle Änderungen vornehmen und diese committen, und\n"
 "Sie können alle möglichen Commits, die Sie in diesem Zustand machen,\n"
 "ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie einen\n"
 "weiteren Checkout durchführen.\n"
 "\n"
 "Wenn Sie einen neuen Branch erstellen möchten, um Ihre erstellten Commits\n"
-"zu behalten, können Sie das (jetzt oder später) durch einen weiteren "
-"Checkout\n"
+"zu behalten, können Sie das (jetzt oder später) durch einen weiteren 
Checkout\n"
 "mit der Option -b tun. Beispiel:\n"
 "\n"
 "  git checkout -b \n"
 "\n"
 
 #: apply.c:58
@@ -1066,52 +1065,50 @@ msgstr ""
 #: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "Branch %s kann nicht sein eigener Upstream-Branch sein."
 
 #: branch.c:93
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s' by rebasing."
-msgstr ""
-"Branch %s konfiguriert zum Folgen von Remote-Branch %s von %s durch Rebase."
+msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Branch '%s' von '%s' 
durch Rebase."
 
 #: branch.c:94
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track remote branch '%s' from '%s'."
-msgstr "Branch %s konfiguriert zum Folgen von Remote-Branch %s von %s."
+msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Branch '%s' von '%s'."
 
 #: branch.c:98
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track local branch '%s' by rebasing."
-msgstr "Branch %s konfiguriert zum Folgen von lokalem Branch %s durch Rebase."
+msgstr "Branch '%s' konfiguriert zum Folgen von lokalem Branch '%s' durch 
Rebase."
 
 #: branch.c:99
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track local branch '%s'."
-msgstr "Branch %s konfiguriert zum Folgen von lokalem Branch %s."
+msgstr "Branch '%s' konfiguriert zum Folgen von lokalem Branch '%s'."
 
 #: branch.c:104
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track remote ref '%s' by rebasing."
-msgstr "Branch %s konfiguriert zum Folgen von Remote-Referenz %s durch Rebase."
+msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Referenz '%s' durch 
Rebase."
 
 #: branch.c:105
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track remote ref '%s'."
-msgstr "Branch %s konfiguriert zum Folgen von Remote-Referenz %s."
+msgstr "Branch '%s' konfiguriert zum Folgen von Remote-Referenz '%s'."
 
 #: branch.c:109
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track local ref '%s' by rebasing."
-msgstr ""
-"Branch %s konfiguriert zum Folgen von lokaler Referenz %s durch Rebase."
+msgstr "Branch '%s' konfiguriert zum Folgen von lokaler Referenz '%s' durch 
Rebase."
 
 #: branch.c:110
-#, fuzzy, c-format
+#, c-format
 msgid "Branch '%s' set up to track local ref '%s'."
-msgstr "Branch %s konfiguriert zum Folgen von lokaler Referenz %s."
+msgstr "Branch '%s' konfiguriert zum Folgen von lokaler Referenz '%s'."
 
 #: branch.c:119
 msgid "Unable to write upstream branch configuration"
 msgstr "Konnte Konfiguration zu Upstream-Branch nicht schreiben."
 
 #: branch.c:156
@@ -1623,13 +1620,13 @@ msgid "  Unknown dirstat parameter '%s'\n"
 msgstr "  Unbekannter \"dirstat\" Parameter '%s'\n"
 
 #: diff.c:281
 msgid ""
 "color moved setting must be one of 'no', 'default', 'zebra', 'dimmed_zebra', "
 "'plain'"
-msgstr ""
+msgstr "\"color moved\"-Einstellung muss eines von diesen sein: 'no', 
'default', 'zebra', 'dimmed_zebra', 'plain'"
 
 #: diff.c:341
 #, c-format
 msgid "Unknown value for 'diff.submodule' config variable: '%s'"
 msgstr "Unbekann

[PATCH] sequencer.c: unify an error message

2017-10-17 Thread Ralf Thielow
Change an error message in sequencer.c for the case that
we could not write to a file to match other instances.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 sequencer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sequencer.c b/sequencer.c
index 75f5356f6..f2a10cc4f 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -2948,7 +2948,7 @@ int rearrange_squash(void)
if (fd < 0)
res = error_errno(_("could not open '%s'"), todo_file);
else if (write(fd, buf.buf, buf.len) < 0)
-   res = error_errno(_("could not write '%s'"), todo_file);
+   res = error_errno(_("could not write to '%s'"), 
todo_file);
else if (ftruncate(fd, buf.len) < 0)
res = error_errno(_("could not truncate '%s'"),
   todo_file);
-- 
2.15.0.rc1.299.gda03b47c3



Re: [L10N] Kickoff of translation for Git 2.15.0 round 2

2017-10-17 Thread Ralf Thielow
2017-10-17 8:53 GMT+02:00 Junio C Hamano :
> Jiang Xin  writes:
>
>> Git v2.15.0-rc1 released with a typo fix from commit dfab1eac23
>> ("i18n: add a missing space in message", Sun Oct 8 14:18:39 2017 +0200).
>> This time there are 2 updated messages need to be translated since last
>> update.  Let's start new round of translation for Git 2.15.0.
>
> Today's pushout included 3247edbb ("sequencer.c: fix and unify error
> messages in rearrange_squash()", 2017-10-15), which unfortunately
> added this to the mix:
>
> error_errno(_("could not write '%s'"), todo_file);
>
> There is another one "could not truncate '%s'" added by the same
> commit, but the codebase already had another instance of the same
> string, so it won't cause trouble.
>
> Regarding the "could not write" thing, there are quite a few
> instances of "coulld not write to '%s'" with %s set to the filename,
> and I strongly suspect that this new one should be further updated
> to match them (Ralf promoted from Cc: to To: for this).  That would
> have a nice side effect of making today's last-minute merges a
> non-event from translators' point of view ;-)
>
>
>

I didn't expect this message to be a new one for translation. I'll send
a patch later to update the message to match the other instances.


[PATCH v2] sequencer.c: fix and unify error messages in rearrange_squash()

2017-10-15 Thread Ralf Thielow
When the write opertion fails, we write that we could
not read. Change the error message to match the operation
and remove the full stop at the end.

When ftruncate() fails, we write that we couldn't finish
the operation on the todo file. It is more accurate to write
that we couldn't truncate as we do in other calls of ftruncate().

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 sequencer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sequencer.c b/sequencer.c
index e258bb646..75f5356f6 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -2948,9 +2948,9 @@ int rearrange_squash(void)
if (fd < 0)
res = error_errno(_("could not open '%s'"), todo_file);
else if (write(fd, buf.buf, buf.len) < 0)
-   res = error_errno(_("could not read '%s'."), todo_file);
+   res = error_errno(_("could not write '%s'"), todo_file);
else if (ftruncate(fd, buf.len) < 0)
-   res = error_errno(_("could not finish '%s'"),
+   res = error_errno(_("could not truncate '%s'"),
   todo_file);
close(fd);
strbuf_release();
-- 
2.15.0.rc0.296.g7b26d72



Re: [PATCH] sequencer.c: unify error messages

2017-10-15 Thread Ralf Thielow
2017-10-13 23:12 GMT+02:00 René Scharfe <l@web.de>:
> Am 13.10.2017 um 19:51 schrieb Ralf Thielow:
>> When ftruncate() in rearrange_squash() fails, we write
>> that we couldn't finish the operation on the todo file.
>> It is more accurate to write that we couldn't truncate
>> as we do in other calls of ftruncate().
>
> Would it make sense to factor out rewriting the to-do file to avoid
> code duplication in the first place?
>
>> While at there, remove a full stop in another error message.
>>
>> Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
>> ---
>>   sequencer.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/sequencer.c b/sequencer.c
>> index e258bb646..b0e6459a5 100644
>> --- a/sequencer.c
>> +++ b/sequencer.c
>> @@ -2948,9 +2948,9 @@ int rearrange_squash(void)
>>   if (fd < 0)
>>   res = error_errno(_("could not open '%s'"), todo_file);
>>   else if (write(fd, buf.buf, buf.len) < 0)
>> - res = error_errno(_("could not read '%s'."), 
>> todo_file);
>> + res = error_errno(_("could not read '%s'"), todo_file);
>
> That should read "write", right?
>

Sure. I'll send a new version of this patch to fix the messages. Maybe
someone else picks up the other things. Thanks.

>>   else if (ftruncate(fd, buf.len) < 0)
>> - res = error_errno(_("could not finish '%s'"),
>> + res = error_errno(_("could not truncate '%s'"),
>>  todo_file);
>
> Hmm, why call ftruncate(2) instead of opening the file with O_TRUNC?
>
>>   close(fd);
>>   strbuf_release();
>>


[PATCH] sequencer.c: unify error messages

2017-10-13 Thread Ralf Thielow
When ftruncate() in rearrange_squash() fails, we write
that we couldn't finish the operation on the todo file.
It is more accurate to write that we couldn't truncate
as we do in other calls of ftruncate().

While at there, remove a full stop in another error message.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 sequencer.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sequencer.c b/sequencer.c
index e258bb646..b0e6459a5 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -2948,9 +2948,9 @@ int rearrange_squash(void)
if (fd < 0)
res = error_errno(_("could not open '%s'"), todo_file);
else if (write(fd, buf.buf, buf.len) < 0)
-   res = error_errno(_("could not read '%s'."), todo_file);
+   res = error_errno(_("could not read '%s'"), todo_file);
else if (ftruncate(fd, buf.len) < 0)
-   res = error_errno(_("could not finish '%s'"),
+   res = error_errno(_("could not truncate '%s'"),
   todo_file);
close(fd);
strbuf_release();
-- 
2.15.0.rc0.296.g7b26d72



[PATCH v2] l10n: de.po: various fixes in German translation

2017-07-27 Thread Ralf Thielow
From: Hartmut Henkel <hen...@vh-s.de>

Signed-off-by: Hartmut Henkel <hen...@vh-s.de>
Helped-by: Stefan Beller <sbel...@google.com>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 52 +---
 1 file changed, 25 insertions(+), 27 deletions(-)

diff --git a/po/de.po b/po/de.po
index c5b7ed501..362ebb6bb 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1287,7 +1287,7 @@ msgid ""
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
 "Warnung: Die Commit-Beschreibung ist nicht UTF-8 konform.\n"
-"Sie können das Nachbessern, nachdem Sie die Beschreibung korrigiert haben,\n"
+"Sie können das nachbessern, nachdem Sie die Beschreibung korrigiert haben,\n"
 "oder Sie setzen die Konfigurationsvariable i18n.commitencoding auf das "
 "Encoding,\n"
 "welches von ihrem Projekt verwendet wird.\n"
@@ -1465,7 +1465,7 @@ msgstr "Konnte '%s' nicht aufheben."
 
 #: connect.c:50
 msgid "The remote end hung up upon initial contact"
-msgstr "Die Gegenseite hat sich nach dem erstmaligen Kontakt aufgehangen."
+msgstr "Die Gegenseite hat nach dem ersten Kontakt abgebrochen."
 
 #: connect.c:52
 msgid ""
@@ -3018,7 +3018,7 @@ msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add ' or 'git rm '"
 msgstr ""
-"nach Auflösung der Konflikte, markieren Sie die korrigierten Pfade\n"
+"nach Auflösung der Konflikte markieren Sie die korrigierten Pfade\n"
 "mit 'git add ' oder 'git rm '"
 
 #: sequencer.c:282
@@ -3027,8 +3027,8 @@ msgid ""
 "with 'git add ' or 'git rm '\n"
 "and commit the result with 'git commit'"
 msgstr ""
-"nach Auflösung der Konflikte, markieren Sie die korrigierten Pfade\n"
-"mit 'git add ' oder 'git rm 'und tragen Sie das Ergebnis mit\n"
+"nach Auflösung der Konflikte markieren Sie die korrigierten Pfade\n"
+"mit 'git add ' oder 'git rm ' und tragen Sie das Ergebnis mit\n"
 "'git commit' ein"
 
 #: sequencer.c:295 sequencer.c:1685
@@ -3336,7 +3336,7 @@ msgstr "kann HEAD nicht auflösen"
 
 #: sequencer.c:1618 sequencer.c:1652
 msgid "cannot abort from a branch yet to be born"
-msgstr "kann nicht abbrechen: bin auf einem Branch, der noch geboren wird"
+msgstr "kann nicht abbrechen: bin auf einem Branch, der noch nicht geboren ist"
 
 #: sequencer.c:1638 builtin/grep.c:929
 #, c-format
@@ -3359,8 +3359,7 @@ msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' 
ist beschädigt"
 
 #: sequencer.c:1658
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
-msgstr ""
-"Sie scheinen HEAD verschoben zu haben. Keine Zurücksetzung, prüfen Sie HEAD."
+msgstr "Sie scheinen HEAD verändert zu haben. Keine Rückspulung, prüfen Sie 
HEAD."
 
 #: sequencer.c:1795 sequencer.c:2086
 msgid "cannot read HEAD"
@@ -3564,7 +3563,7 @@ msgstr "Kein Git-Repository (oder irgendein 
Elternverzeichnis): %s"
 
 #: setup.c:812 builtin/index-pack.c:1652
 msgid "Cannot come back to cwd"
-msgstr "Kann nicht zurück zu Arbeitsverzeichnis wechseln"
+msgstr "Kann nicht zurück zum Arbeitsverzeichnis wechseln"
 
 #: setup.c:1050
 msgid "Unable to read current working directory"
@@ -3938,7 +3937,7 @@ msgid ""
 msgstr ""
 "Ihre lokalen Änderungen in den folgenden Dateien würden durch den Merge\n"
 "überschrieben werden:\n"
-"%%sBitte committen oder stashen Sie Ihre Änderungen, bevor sie mergen."
+"%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie mergen."
 
 #: unpack-trees.c:112
 #, c-format
@@ -5412,7 +5411,7 @@ msgstr "leere SHA-1 für Grenz-Commits anzeigen (Standard: 
aus)"
 
 #: builtin/blame.c:670
 msgid "Do not treat root commits as boundaries (Default: off)"
-msgstr "Ursprungs-Commit nicht als Grenzen behandeln (Standard: aus)"
+msgstr "Ursprungs-Commits nicht als Grenzen behandeln (Standard: aus)"
 
 #: builtin/blame.c:671
 msgid "Show work cost statistics"
@@ -5523,7 +5522,7 @@ msgstr ""
 #.
 #: builtin/blame.c:795
 msgid "4 years, 11 months ago"
-msgstr "vor 4 Jahren, und 11 Monaten"
+msgstr "vor 4 Jahren und 11 Monaten"
 
 #: builtin/blame.c:882
 #, c-format
@@ -6297,13 +6296,13 @@ msgid_plural ""
 "\n"
 msgstr[0] ""
 "Wenn Sie diese durch einen neuen Branch behalten möchten, dann könnte jetzt\n"
-"ein guter Zeitpunkt sein dies zu tun mit:\n"
+"ein guter Zeitpunkt sein, dies zu tun mit:\n"
 "\n"
 " git branc

Re: [PATCH] l10n: de.po: various fixes in German translation

2017-07-27 Thread Ralf Thielow
2017-07-27 20:00 GMT+02:00 Stefan Beller :
> This patch looks good to me, but some unrelated comments
> that I feel would improve the translation even more.
>
> Thanks,
> Stefan
>
>> @@ -1465,7 +1465,7 @@ msgstr "Konnte '%s' nicht aufheben."
>>
>>  #: connect.c:50
>>  msgid "The remote end hung up upon initial contact"
>> -msgstr "Die Gegenseite hat sich nach dem erstmaligen Kontakt aufgehangen."
>> +msgstr "Die Gegenseite hat nach dem erstmaligen Kontakt abgebrochen."
>
> erstmalig reads funny here. Maybe "ersten" instead?
>
>
>> @@ -3360,7 +3360,7 @@ msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei 
>> '%s' ist beschädigt"
>>  #: sequencer.c:1658
>>  msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
>>  msgstr ""
>> -"Sie scheinen HEAD verschoben zu haben. Keine Zurücksetzung, prüfen Sie 
>> HEAD."
>> +"Sie scheinen HEAD verschoben zu haben. Keine Rückspulung, prüfen Sie HEAD."
>
> Maybe "Sie scheinen HEAD veraendert zu haben" here?
> This could also be reflected in the code and we put "changed HEAD" ,
> but in English it seems to fit "moving " HEAD.
>
>> @@ -11258,7 +11258,7 @@ msgstr "Fortschrittsanzeige anzeigen"
>>  #: builtin/pack-objects.c:2881
>>  msgid "show progress meter during object writing phase"
>>  msgstr ""
>> -"Forschrittsanzeige während der Phase des Schreibens der Objekte anzeigen"
>> +"Forschrittsanzeige während der Phase des Schreibens von Objekten anzeigen"
>
> Maybe elide "der Phase" here?

I agree with all of that.

Thanks


[PATCH] l10n: de.po: various fixes in German translation

2017-07-27 Thread Ralf Thielow
From: Hartmut Henkel <hen...@vh-s.de>

Signed-off-by: Hartmut Henkel <hen...@vh-s.de>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 50 +-
 1 file changed, 25 insertions(+), 25 deletions(-)

diff --git a/po/de.po b/po/de.po
index c5b7ed501..dc381cb2d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1287,7 +1287,7 @@ msgid ""
 "variable i18n.commitencoding to the encoding your project uses.\n"
 msgstr ""
 "Warnung: Die Commit-Beschreibung ist nicht UTF-8 konform.\n"
-"Sie können das Nachbessern, nachdem Sie die Beschreibung korrigiert haben,\n"
+"Sie können das nachbessern, nachdem Sie die Beschreibung korrigiert haben,\n"
 "oder Sie setzen die Konfigurationsvariable i18n.commitencoding auf das "
 "Encoding,\n"
 "welches von ihrem Projekt verwendet wird.\n"
@@ -1465,7 +1465,7 @@ msgstr "Konnte '%s' nicht aufheben."
 
 #: connect.c:50
 msgid "The remote end hung up upon initial contact"
-msgstr "Die Gegenseite hat sich nach dem erstmaligen Kontakt aufgehangen."
+msgstr "Die Gegenseite hat nach dem erstmaligen Kontakt abgebrochen."
 
 #: connect.c:52
 msgid ""
@@ -3018,7 +3018,7 @@ msgid ""
 "after resolving the conflicts, mark the corrected paths\n"
 "with 'git add ' or 'git rm '"
 msgstr ""
-"nach Auflösung der Konflikte, markieren Sie die korrigierten Pfade\n"
+"nach Auflösung der Konflikte markieren Sie die korrigierten Pfade\n"
 "mit 'git add ' oder 'git rm '"
 
 #: sequencer.c:282
@@ -3027,8 +3027,8 @@ msgid ""
 "with 'git add ' or 'git rm '\n"
 "and commit the result with 'git commit'"
 msgstr ""
-"nach Auflösung der Konflikte, markieren Sie die korrigierten Pfade\n"
-"mit 'git add ' oder 'git rm 'und tragen Sie das Ergebnis mit\n"
+"nach Auflösung der Konflikte markieren Sie die korrigierten Pfade\n"
+"mit 'git add ' oder 'git rm ' und tragen Sie das Ergebnis mit\n"
 "'git commit' ein"
 
 #: sequencer.c:295 sequencer.c:1685
@@ -3336,7 +3336,7 @@ msgstr "kann HEAD nicht auflösen"
 
 #: sequencer.c:1618 sequencer.c:1652
 msgid "cannot abort from a branch yet to be born"
-msgstr "kann nicht abbrechen: bin auf einem Branch, der noch geboren wird"
+msgstr "kann nicht abbrechen: bin auf einem Branch, der noch nicht geboren ist"
 
 #: sequencer.c:1638 builtin/grep.c:929
 #, c-format
@@ -3360,7 +3360,7 @@ msgstr "gespeicherte \"pre-cherry-pick\" HEAD Datei '%s' 
ist beschädigt"
 #: sequencer.c:1658
 msgid "You seem to have moved HEAD. Not rewinding, check your HEAD!"
 msgstr ""
-"Sie scheinen HEAD verschoben zu haben. Keine Zurücksetzung, prüfen Sie HEAD."
+"Sie scheinen HEAD verschoben zu haben. Keine Rückspulung, prüfen Sie HEAD."
 
 #: sequencer.c:1795 sequencer.c:2086
 msgid "cannot read HEAD"
@@ -3564,7 +3564,7 @@ msgstr "Kein Git-Repository (oder irgendein 
Elternverzeichnis): %s"
 
 #: setup.c:812 builtin/index-pack.c:1652
 msgid "Cannot come back to cwd"
-msgstr "Kann nicht zurück zu Arbeitsverzeichnis wechseln"
+msgstr "Kann nicht zurück zum Arbeitsverzeichnis wechseln"
 
 #: setup.c:1050
 msgid "Unable to read current working directory"
@@ -3938,7 +3938,7 @@ msgid ""
 msgstr ""
 "Ihre lokalen Änderungen in den folgenden Dateien würden durch den Merge\n"
 "überschrieben werden:\n"
-"%%sBitte committen oder stashen Sie Ihre Änderungen, bevor sie mergen."
+"%%sBitte committen oder stashen Sie Ihre Änderungen, bevor Sie mergen."
 
 #: unpack-trees.c:112
 #, c-format
@@ -5412,7 +5412,7 @@ msgstr "leere SHA-1 für Grenz-Commits anzeigen (Standard: 
aus)"
 
 #: builtin/blame.c:670
 msgid "Do not treat root commits as boundaries (Default: off)"
-msgstr "Ursprungs-Commit nicht als Grenzen behandeln (Standard: aus)"
+msgstr "Ursprungs-Commits nicht als Grenzen behandeln (Standard: aus)"
 
 #: builtin/blame.c:671
 msgid "Show work cost statistics"
@@ -5523,7 +5523,7 @@ msgstr ""
 #.
 #: builtin/blame.c:795
 msgid "4 years, 11 months ago"
-msgstr "vor 4 Jahren, und 11 Monaten"
+msgstr "vor 4 Jahren und 11 Monaten"
 
 #: builtin/blame.c:882
 #, c-format
@@ -6297,13 +6297,13 @@ msgid_plural ""
 "\n"
 msgstr[0] ""
 "Wenn Sie diese durch einen neuen Branch behalten möchten, dann könnte jetzt\n"
-"ein guter Zeitpunkt sein dies zu tun mit:\n"
+"ein guter Zeitpunkt sein, dies zu tun mit:\n"
 "\n"
 " git branch  %s\n"
 "\n"
 msgstr[1] ""

[PATCH v3] l10n: de.po: update German translation

2017-07-21 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
v3 contains updated translations in date.c where %lu
turned into %.

 po/de.po | 169 ---
 1 file changed, 87 insertions(+), 82 deletions(-)

diff --git a/po/de.po b/po/de.po
index 347166240..283e68627 100644
--- a/po/de.po
+++ b/po/de.po
@@ -176,26 +176,26 @@ msgid "git apply: bad git-diff - inconsistent old 
filename on line %d"
 msgstr ""
 "git apply: ungültiges 'git-diff' - Inkonsistenter alter Dateiname in Zeile %d"
 
 #: apply.c:979
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: ungültiges 'git-diff' - erwartete /dev/null in Zeile %d"
 
 #: apply.c:1008
-#, fuzzy, c-format
+#, c-format
 msgid "invalid mode on line %d: %s"
-msgstr "Ungültige Identifikationszeile: %s"
+msgstr "Ungültiger Modus in Zeile %d: %s"
 
 #: apply.c:1326
 #, c-format
 msgid "inconsistent header lines %d and %d"
-msgstr ""
+msgstr "Inkonsistente Kopfzeilen %d und %d."
 
 #: apply.c:1498
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount: unerwartete Zeile: %.*s"
 
 #: apply.c:1567
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
@@ -1525,80 +1525,80 @@ msgstr ""
 #, c-format
 msgid "LF would be replaced by CRLF in %s"
 msgstr "LF würde in %s durch CRLF ersetzt werden."
 
 #: date.c:116
 msgid "in the future"
 msgstr "in der Zukunft"
 
 #: date.c:122
-#, fuzzy, c-format
+#, c-format
 msgid "% second ago"
 msgid_plural "% seconds ago"
-msgstr[0] "vor %lu Sekunde"
-msgstr[1] "vor %lu Sekunden"
+msgstr[0] "vor % Sekunde"
+msgstr[1] "vor % Sekunden"
 
 #: date.c:129
-#, fuzzy, c-format
+#, c-format
 msgid "% minute ago"
 msgid_plural "% minutes ago"
-msgstr[0] "vor %lu Minute"
-msgstr[1] "vor %lu Minuten"
+msgstr[0] "vor % Minute"
+msgstr[1] "vor % Minuten"
 
 #: date.c:136
-#, fuzzy, c-format
+#, c-format
 msgid "% hour ago"
 msgid_plural "% hours ago"
-msgstr[0] "vor %lu Stunde"
-msgstr[1] "vor %lu Stunden"
+msgstr[0] "vor % Stunde"
+msgstr[1] "vor % Stunden"
 
 #: date.c:143
-#, fuzzy, c-format
+#, c-format
 msgid "% day ago"
 msgid_plural "% days ago"
-msgstr[0] "vor %lu Tag"
-msgstr[1] "vor %lu Tagen"
+msgstr[0] "vor % Tag"
+msgstr[1] "vor % Tagen"
 
 #: date.c:149
-#, fuzzy, c-format
+#, c-format
 msgid "% week ago"
 msgid_plural "% weeks ago"
-msgstr[0] "vor %lu Woche"
-msgstr[1] "vor %lu Wochen"
+msgstr[0] "vor % Woche"
+msgstr[1] "vor % Wochen"
 
 #: date.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "% month ago"
 msgid_plural "% months ago"
-msgstr[0] "vor %lu Monat"
-msgstr[1] "vor %lu Monaten"
+msgstr[0] "vor % Monat"
+msgstr[1] "vor % Monaten"
 
 #: date.c:167
-#, fuzzy, c-format
+#, c-format
 msgid "% year"
 msgid_plural "% years"
-msgstr[0] "vor %lu Jahr"
-msgstr[1] "vor %lu Jahren"
+msgstr[0] "vor % Jahr"
+msgstr[1] "vor % Jahren"
 
 #. TRANSLATORS: "%s" is " years"
 #: date.c:170
-#, fuzzy, c-format
+#, c-format
 msgid "%s, % month ago"
 msgid_plural "%s, % months ago"
-msgstr[0] "%s, und %lu Monat"
-msgstr[1] "%s, und %lu Monaten"
+msgstr[0] "%s, und % Monat"
+msgstr[1] "%s, und % Monaten"
 
 #: date.c:175 date.c:180
-#, fuzzy, c-format
+#, c-format
 msgid "% year ago"
 msgid_plural "% years ago"
-msgstr[0] "vor %lu Jahr"
-msgstr[1] "vor %lu Jahren"
+msgstr[0] "vor % Jahr"
+msgstr[1] "vor % Jahren"
 
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "Fehler beim Lesen der Reihenfolgedatei '%s'."
 
 #: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
 msgstr "Führe Erkennung für ungenaue Umbenennung aus"
@@ -1940,53 +1940,50 @@ msgid ""
 msgstr ""
 "'%s' scheint ein git-Befehl zu sein, konnte aber\n"
 "nicht ausgeführt werden. Vielleicht ist git-%s fehlerhaft?"
 
 #: help.c:336
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Uh oh. Keine Git-Befehle auf Ihrem System vorhanden."
 
 #: help.c:358
-#, fuzzy, c-format
+#, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-"Warnung: Sie haben den nicht existierenden Git-Befehl '%s' aus

Re: [PATCH v2] l10n: de.po: update German translation

2017-07-21 Thread Ralf Thielow
Hi,

after applying the patch, entries in date.c turned into this

-#: date.c:122 date.c:129 date.c:136 date.c:143 date.c:149 date.c:156 date.c:167
-#: date.c:175 date.c:180
-msgid "%"
-msgid_plural "%"
-msgstr[0] "%"
-msgstr[1] "%"
+#: date.c:122
+#, fuzzy, c-format
+msgid "% second ago"
+msgid_plural "% seconds ago"
+msgstr[0] "vor %lu Sekunde"
+msgstr[1] "vor %lu Sekunden"
...

which seems to be OK. A full diff after updating de.po after this
patch can be found at https://pastebin.com/5yeSnGQj.

Ralf

2017-07-21 18:10 GMT+02:00 Junio C Hamano <gits...@pobox.com>:
> Ralf Thielow <ralf.thie...@gmail.com> writes:
>
>>  #: date.c:116
>>  msgid "in the future"
>>  msgstr "in der Zukunft"
>>
>>  #: date.c:122 date.c:129 date.c:136 date.c:143 date.c:149 date.c:156 
>> date.c:167
>>  #: date.c:175 date.c:180
>>  msgid "%"
>>  msgid_plural "%"
>> -msgstr[0] ""
>> -msgstr[1] ""
>> +msgstr[0] "%"
>> +msgstr[1] "%"
>
> Sorry, but I think these need re-translation after -rc1 because the po/git.pot
> is generated incorrectly.  See the discussion:
>
>   
> https://public-inbox.org/git/%3cxmqqk233klvd@gitster.mtv.corp.google.com%3E/#t
>
> Also, if you can, please try the patch in
>
> <xmqqfudrkkci@gitster.mtv.corp.google.com>
>
> like so:
>
> $ git reset --hard origin/master
> $ git am 
> $ make pot
> $ git commit -m 'update po/git.pot' -a
> $ cd po
> $ msgmerge --add-location --backup-off -U de.po git.pot
>
> to make sure you get corrected entries for date.c.  If it works out
> correctly, I'd want to ship -rc1 with that Makefile fix so that
> Jiang can do the first four commands above to give translators a
> correct po/git.pot to base their work on.
>
> Thanks.
>


[PATCH v2] l10n: de.po: update German translation

2017-07-21 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
Hi Matthias,

2017-07-20 20:36 GMT+02:00 Matthias Rüster <matthias.rues...@gmail.com>:
> Hi Ralf,
>
> I think the following should be "hinzugefügt":
>

Sure. Thanks for review!

Ciao,
Ralf

 po/de.po | 123 +--
 1 file changed, 64 insertions(+), 59 deletions(-)

diff --git a/po/de.po b/po/de.po
index 5619fa962..f905c7ec7 100644
--- a/po/de.po
+++ b/po/de.po
@@ -176,26 +176,26 @@ msgid "git apply: bad git-diff - inconsistent old 
filename on line %d"
 msgstr ""
 "git apply: ungültiges 'git-diff' - Inkonsistenter alter Dateiname in Zeile %d"
 
 #: apply.c:979
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: ungültiges 'git-diff' - erwartete /dev/null in Zeile %d"
 
 #: apply.c:1008
-#, fuzzy, c-format
+#, c-format
 msgid "invalid mode on line %d: %s"
-msgstr "Ungültige Identifikationszeile: %s"
+msgstr "Ungültiger Modus in Zeile %d: %s"
 
 #: apply.c:1326
 #, c-format
 msgid "inconsistent header lines %d and %d"
-msgstr ""
+msgstr "Inkonsistente Kopfzeilen %d und %d."
 
 #: apply.c:1498
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount: unerwartete Zeile: %.*s"
 
 #: apply.c:1567
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
@@ -1528,27 +1528,27 @@ msgstr "LF würde in %s durch CRLF ersetzt werden."
 
 #: date.c:116
 msgid "in the future"
 msgstr "in der Zukunft"
 
 #: date.c:122 date.c:129 date.c:136 date.c:143 date.c:149 date.c:156 date.c:167
 #: date.c:175 date.c:180
 msgid "%"
 msgid_plural "%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%"
+msgstr[1] "%"
 
 #. TRANSLATORS: "%s" is " years"
 #: date.c:170
 msgid "%s, %"
 msgid_plural "%s, %"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%s, %"
+msgstr[1] "%s, %"
 
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "Fehler beim Lesen der Reihenfolgedatei '%s'."
 
 #: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
 msgstr "Führe Erkennung für ungenaue Umbenennung aus"
@@ -1890,53 +1890,50 @@ msgid ""
 msgstr ""
 "'%s' scheint ein git-Befehl zu sein, konnte aber\n"
 "nicht ausgeführt werden. Vielleicht ist git-%s fehlerhaft?"
 
 #: help.c:336
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Uh oh. Keine Git-Befehle auf Ihrem System vorhanden."
 
 #: help.c:358
-#, fuzzy, c-format
+#, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-"Warnung: Sie haben den nicht existierenden Git-Befehl '%s' ausgeführt.\n"
-"Setze fort unter der Annahme, dass Sie '%s' gemeint haben."
+msgstr "WARNUNG: Sie haben Git-Befehl '%s' ausgeführt, welcher nicht 
existiert."
 
 #: help.c:363
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
-msgstr ""
+msgstr "Setze fort unter der Annahme, dass Sie '%s' meinten."
 
 #: help.c:368
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
-msgstr ""
+msgstr "Setze in %0.1f Sekunden fort unter der Annahme, dass Sie '%s' meinten."
 
 #: help.c:376
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: '%s' ist kein Git-Befehl. Siehe 'git --help'."
 
 #: help.c:380
 msgid ""
 "\n"
 "The most similar command is"
 msgid_plural ""
 "\n"
 "The most similar commands are"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "\nDer ähnlichste Befehl ist"
+msgstr[1] "\nDie ähnlichsten Befehle sind"
 
 #: help.c:395
-#, fuzzy
 msgid "git version []"
-msgstr "git column []"
+msgstr "git version []"
 
 #: help.c:456
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
 #: help.c:460
 msgid ""
 "\n"
@@ -3361,21 +3358,21 @@ msgstr ""
 "Ausführung erfolgreich: %s\n"
 "Aber Änderungen in Index oder Arbeitsverzeichnis verblieben.\n"
 "Committen Sie Ihre Änderungen oder benutzen Sie \"stash\".\n"
 "Führen Sie dann aus:\n"
 "\n"
 "  git rebase --continue\n"
 "\n"
 
 #: sequencer.c:1925
-#, fuzzy, c-format
+#, c-format
 msgid "Applied autostash.\n"
-msgstr "Automatischen Stash angewendet."
+msgstr "Automatischen Stash angewende

[PATCH] l10n: de.po: update German translation

2017-07-14 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 123 +--
 1 file changed, 64 insertions(+), 59 deletions(-)

diff --git a/po/de.po b/po/de.po
index b9e076f93..f4cb9bf2d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -176,26 +176,26 @@ msgid "git apply: bad git-diff - inconsistent old 
filename on line %d"
 msgstr ""
 "git apply: ungültiges 'git-diff' - Inkonsistenter alter Dateiname in Zeile %d"
 
 #: apply.c:979
 #, c-format
 msgid "git apply: bad git-diff - expected /dev/null on line %d"
 msgstr "git apply: ungültiges 'git-diff' - erwartete /dev/null in Zeile %d"
 
 #: apply.c:1008
-#, fuzzy, c-format
+#, c-format
 msgid "invalid mode on line %d: %s"
-msgstr "Ungültige Identifikationszeile: %s"
+msgstr "Ungültiger Modus in Zeile %d: %s"
 
 #: apply.c:1326
 #, c-format
 msgid "inconsistent header lines %d and %d"
-msgstr ""
+msgstr "Inkonsistente Kopfzeilen %d und %d."
 
 #: apply.c:1498
 #, c-format
 msgid "recount: unexpected line: %.*s"
 msgstr "recount: unerwartete Zeile: %.*s"
 
 #: apply.c:1567
 #, c-format
 msgid "patch fragment without header at line %d: %.*s"
@@ -1528,27 +1528,27 @@ msgstr "LF würde in %s durch CRLF ersetzt werden."
 
 #: date.c:116
 msgid "in the future"
 msgstr "in der Zukunft"
 
 #: date.c:122 date.c:129 date.c:136 date.c:143 date.c:149 date.c:156 date.c:167
 #: date.c:175 date.c:180
 msgid "%"
 msgid_plural "%"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%"
+msgstr[1] "%"
 
 #. TRANSLATORS: "%s" is " years"
 #: date.c:170
 msgid "%s, %"
 msgid_plural "%s, %"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%s, %"
+msgstr[1] "%s, %"
 
 #: diffcore-order.c:24
 #, c-format
 msgid "failed to read orderfile '%s'"
 msgstr "Fehler beim Lesen der Reihenfolgedatei '%s'."
 
 #: diffcore-rename.c:536
 msgid "Performing inexact rename detection"
 msgstr "Führe Erkennung für ungenaue Umbenennung aus"
@@ -1890,53 +1890,50 @@ msgid ""
 msgstr ""
 "'%s' scheint ein git-Befehl zu sein, konnte aber\n"
 "nicht ausgeführt werden. Vielleicht ist git-%s fehlerhaft?"
 
 #: help.c:336
 msgid "Uh oh. Your system reports no Git commands at all."
 msgstr "Uh oh. Keine Git-Befehle auf Ihrem System vorhanden."
 
 #: help.c:358
-#, fuzzy, c-format
+#, c-format
 msgid "WARNING: You called a Git command named '%s', which does not exist."
-msgstr ""
-"Warnung: Sie haben den nicht existierenden Git-Befehl '%s' ausgeführt.\n"
-"Setze fort unter der Annahme, dass Sie '%s' gemeint haben."
+msgstr "WARNUNG: Sie haben Git-Befehl '%s' ausgeführt, welcher nicht 
existiert."
 
 #: help.c:363
 #, c-format
 msgid "Continuing under the assumption that you meant '%s'."
-msgstr ""
+msgstr "Setze fort unter der Annahme, dass Sie '%s' meinten."
 
 #: help.c:368
 #, c-format
 msgid "Continuing in %0.1f seconds, assuming that you meant '%s'."
-msgstr ""
+msgstr "Setze in %0.1f Sekunden fort unter der Annahme, dass Sie '%s' meinten."
 
 #: help.c:376
 #, c-format
 msgid "git: '%s' is not a git command. See 'git --help'."
 msgstr "git: '%s' ist kein Git-Befehl. Siehe 'git --help'."
 
 #: help.c:380
 msgid ""
 "\n"
 "The most similar command is"
 msgid_plural ""
 "\n"
 "The most similar commands are"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "\nDer ähnlichste Befehl ist"
+msgstr[1] "\nDie ähnlichsten Befehle sind"
 
 #: help.c:395
-#, fuzzy
 msgid "git version []"
-msgstr "git column []"
+msgstr "git version []"
 
 #: help.c:456
 #, c-format
 msgid "%s: %s - %s"
 msgstr "%s: %s - %s"
 
 #: help.c:460
 msgid ""
 "\n"
@@ -3361,21 +3358,21 @@ msgstr ""
 "Ausführung erfolgreich: %s\n"
 "Aber Änderungen in Index oder Arbeitsverzeichnis verblieben.\n"
 "Committen Sie Ihre Änderungen oder benutzen Sie \"stash\".\n"
 "Führen Sie dann aus:\n"
 "\n"
 "  git rebase --continue\n"
 "\n"
 
 #: sequencer.c:1925
-#, fuzzy, c-format
+#, c-format
 msgid "Applied autostash.\n"
-msgstr "Automatischen Stash angewendet."
+msgstr "Automatischen Stash angewendet.\n"
 
 #: sequencer.c:1937
 #, c-format
 msgid "cannot store %s"
 msgstr "kann %s nicht speichern"
 
 #: sequencer.c:1940 git-rebase.sh:173
 #, c-format
 msgid ""
@@ -3649,21 +3646,2

[PATCH] l10n: de.po: fix typo

2017-07-10 Thread Ralf Thielow
Reported-by: Andre Hinrichs <andre.hinri...@gmx.de>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
Hi Andre,

thanks for the bugreport!

Ralf

 po/de.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/po/de.po b/po/de.po
index 679f8f4..42c4508 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8564,7 +8564,7 @@ msgstr "\"auto-gc\" Modus aktivieren"
 #: builtin/gc.c:362
 msgid "force running gc even if there may be another gc running"
 msgstr ""
-"Ausführung von \"git gc\" erwzingen, selbst wenn ein anderes\n"
+"Ausführung von \"git gc\" erzwingen, selbst wenn ein anderes\n"
 "\"git gc\" bereits ausgeführt wird"
 
 #: builtin/gc.c:379
-- 
2.7.4



[PATCH] l10n: de.po: translate 4 new messages

2017-05-05 Thread Ralf Thielow
Translate 4 new messages came from git.pot update in 28e1aaa48 (l10n:
git.pot: v2.13.0 round 2 (4 new, 7 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/po/de.po b/po/de.po
index 12c3d36a0..679f8f472 100644
--- a/po/de.po
+++ b/po/de.po
@@ -2493,7 +2493,7 @@ msgstr ""
 "Verwende Version %i"
 
 #: read-cache.c:2375 sequencer.c:1350 sequencer.c:2048
-#, fuzzy, c-format
+#, c-format
 msgid "could not stat '%s'"
 msgstr "Konnte '%s' nicht lesen."
 
@@ -2514,7 +2514,7 @@ msgstr "Konnte '%s' nicht zum Schreiben öffnen."
 
 #: refs.c:1667
 msgid "ref updates forbidden inside quarantine environment"
-msgstr ""
+msgstr "Aktualisierungen von Referenzen ist innerhalb der Quarantäne-Umgebung 
verboten."
 
 #: refs/files-backend.c:1631
 #, c-format
@@ -14135,9 +14135,8 @@ msgid "populate the new working tree"
 msgstr "das neue Arbeitsverzeichnis auschecken"
 
 #: builtin/worktree.c:335
-#, fuzzy
 msgid "keep the new working tree locked"
-msgstr "das neue Arbeitsverzeichnis auschecken"
+msgstr "das neue Arbeitsverzeichnis gesperrt lassen"
 
 #: builtin/worktree.c:343
 msgid "-b, -B, and --detach are mutually exclusive"
@@ -14243,7 +14242,7 @@ msgstr ""
 #: http.c:336
 #, c-format
 msgid "negative value for http.postbuffer; defaulting to %d"
-msgstr ""
+msgstr "negativer Wert für http.postbuffer; benutze Standardwert %d"
 
 #: http.c:357
 msgid "Delegation control is not supported with cURL < 7.22.0"
-- 
2.13.0.rc0.207.gb44265493



[PATCH v5] l10n: de.po: update German translation

2017-05-04 Thread Ralf Thielow
Translate 96 new messages came from git.pot update in dfc182b (l10n:
git.pot: v2.13.0 round 1 (96 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 325 ---
 1 file changed, 143 insertions(+), 182 deletions(-)

diff --git a/po/de.po b/po/de.po
index b92c4fe11..cfefa436e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -866,9 +866,9 @@ msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument für Format '%s' nicht unterstützt: -%d"
 
 #: attr.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "%.*s is not a valid attribute name"
-msgstr "'%s' ist kein gültiger Name für ein Remote-Repository"
+msgstr "%.*s ist kein gültiger Attributname"
 
 #: attr.c:408
 msgid ""
@@ -1260,6 +1260,8 @@ msgstr "Speicher verbraucht"
 #: config.c:191
 msgid "relative config include conditionals must come from files"
 msgstr ""
+"Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden 
müssen\n"
+"aus Dateien kommen."
 
 #: config.c:701
 #, c-format
@@ -1379,12 +1381,12 @@ msgstr "Ungültiger %s: '%s'"
 #: config.c:1952
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
+msgstr "Unbekannter Wert '%s' in core.untrackedCache; benutze Standardwert 
'keep'"
 
 #: config.c:1978
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
+msgstr "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 
100 liegen."
 
 #: config.c:1989
 #, c-format
@@ -1645,9 +1647,9 @@ msgstr ""
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2776 dir.c:2781
-#, fuzzy, c-format
+#, c-format
 msgid "could not create directories for %s"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Verzeichnisse für '%s' nicht erstellen."
 
 #: dir.c:2806
 #, c-format
@@ -1655,9 +1657,9 @@ msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: entry.c:280
-#, fuzzy, c-format
+#, c-format
 msgid "could not stat file '%s'"
-msgstr "konnte Datei '%s' nicht erstellen"
+msgstr "konnte Datei '%s' nicht lesen"
 
 #: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
@@ -1827,14 +1829,14 @@ msgid "no matching remote head"
 msgstr "kein übereinstimmender Remote-Branch"
 
 #: fetch-pack.c:1147
-#, fuzzy, c-format
+#, c-format
 msgid "no such remote ref %s"
-msgstr "Kein solches Remote-Repository: %s"
+msgstr "keine solche Remote-Referenz %s"
 
 #: fetch-pack.c:1150
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
+msgstr "Der Server lehnt Anfrage nach nicht angebotenem Objekt %s ab."
 
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
@@ -1961,31 +1963,31 @@ msgstr ""
 
 #: ident.c:367
 msgid "no email was given and auto-detection is disabled"
-msgstr ""
+msgstr "keine E-Mail angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:372
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect email address (got '%s')"
-msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n"
+msgstr "Konnte die E-Mail-Adresse nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:382
 msgid "no name was given and auto-detection is disabled"
-msgstr ""
+msgstr "kein Name angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:388
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect name (got '%s')"
-msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
+msgstr "konnte Namen nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:396
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
+msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt."
 
 #: ident.c:402
 #, c-format
 msgid "name consists only of disallowed characters: %s"
-msgstr ""
+msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s"
 
 #: ident.c:417 builtin/commit.c:611
 #, c-format
@@ -2102,13 +2104,11 @@ msgstr ""
 "im Arbeitsbereich gelassen."
 
 #: merge-recursive.c:1097
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
-msgstr ""
-"KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
-"im Arbeitsbereich 

Re: [PATCH v3] l10n: de.po: update German translation

2017-05-04 Thread Ralf Thielow
2017-05-03 21:27 GMT+02:00 Christian Brabandt <c...@256bit.org>:
> On Mi, 03 Mai 2017, Ralf Thielow wrote:
>
>> Ref or Reference is translated as "Referenz" while
>> Rev or Revision is translated as "Commit" so I think
>> the translation is correct.
>
> Oh right. I also noticed that sometimes complete sentences were used and
> sometimes not. It would be nice to have a consistent style there too.
>

Sure.  Using only one style for those messages is a point on my TODO list.

> Thanks for updating.
>
> Best,
> Christian
> --
> Hallo Briefmarkensammler!


Re: [PATCH v4] l10n: de.po: update German translation

2017-05-04 Thread Ralf Thielow
2017-05-03 19:29 GMT+02:00 Matthias Rüster :
> Hi Ralf,
>
> thanks again for your work!
>
>
>>
>>  #: ref-filter.c:565
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "format: %%(then) atom used after %%(else)"
>> -msgstr "Format: %%(end) Atom fehlt"
>> +msgstr "format: %%(then) nach %%(else) verwendet"
>>
>
> Is there a "Atom" missing?
> "format: %%(then) Atom nach %%(else) verwendet"
>
>
>>
>>  #: submodule.c:1332
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "could not start 'git status' in submodule '%s'"
>>  msgstr "Konnte 'git status' in Submodul '%s' nicht starten."
>>
>>  #: submodule.c:1345
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "could not run 'git status' in submodule '%s'"
>>  msgstr "konnte 'git status' in Submodul '%s' nicht ausführen"
>>
>
> Maybe "Konnte 'git status' nicht in Submodul starten/ausführen" would
> sound better?
>
> In general: sometimes there is a sentence (starts with a uppercase
> letter and ends with a dot) and sometimes not.
>
> So for example also here:
>
>  #: fetch-pack.c:1150
>  #, c-format
>  msgid "Server does not allow request for unadvertised object %s"
> -msgstr ""
> +msgstr "Der Server lehnt Anfrage nach nicht angebotenem Objekt %s ab."
>
> I have not looked up the exact circumstances when this would show up,
> though.
>
>
>>  #: submodule.c:1421
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "submodule '%s' has dirty index"
>> -msgstr "Submodul '%s' kann Alternative nicht hinzufügen: %s"
>> +msgstr "Submodul '%s' hat geänderten Index"
>>
>
> I would suggest:
> "Submodul '%s' hat einen geänderten Index"
>
>
>>
>>  #: builtin/tag.c:493
>> -#, fuzzy
>>  msgid "--contains option is only allowed in list mode"
>> -msgstr "--contains Option ist nur erlaubt mit -l."
>> +msgstr "--contains Option ist nur im Listenmodus erlaubt"
>>
>>  #: builtin/tag.c:495
>> -#, fuzzy
>>  msgid "--no-contains option is only allowed in list mode"
>> -msgstr "--contains Option ist nur erlaubt mit -l."
>> +msgstr "Option --no-contains ist nur im Listenmodus erlaubt"
>>
>
> Is "Option --contains ist nur im Listenmodus erlaubt" possible there? So
> it would be like the second one...
>
>

Thanks!

>
> Kind regards,
> Matthias


[PATCH v4] l10n: de.po: update German translation

2017-05-03 Thread Ralf Thielow
Translate 96 new messages came from git.pot update in dfc182b (l10n:
git.pot: v2.13.0 round 1 (96 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 323 ---
 1 file changed, 142 insertions(+), 181 deletions(-)

diff --git a/po/de.po b/po/de.po
index b92c4fe11..f597e1baa 100644
--- a/po/de.po
+++ b/po/de.po
@@ -866,9 +866,9 @@ msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument für Format '%s' nicht unterstützt: -%d"
 
 #: attr.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "%.*s is not a valid attribute name"
-msgstr "'%s' ist kein gültiger Name für ein Remote-Repository"
+msgstr "%.*s ist kein gültiger Attributname"
 
 #: attr.c:408
 msgid ""
@@ -1260,6 +1260,8 @@ msgstr "Speicher verbraucht"
 #: config.c:191
 msgid "relative config include conditionals must come from files"
 msgstr ""
+"Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden 
müssen\n"
+"aus Dateien kommen."
 
 #: config.c:701
 #, c-format
@@ -1379,12 +1381,12 @@ msgstr "Ungültiger %s: '%s'"
 #: config.c:1952
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
+msgstr "Unbekannter Wert '%s' in core.untrackedCache; benutze Standardwert 
'keep'"
 
 #: config.c:1978
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
+msgstr "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 
100 liegen."
 
 #: config.c:1989
 #, c-format
@@ -1645,9 +1647,9 @@ msgstr ""
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2776 dir.c:2781
-#, fuzzy, c-format
+#, c-format
 msgid "could not create directories for %s"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Verzeichnisse für '%s' nicht erstellen."
 
 #: dir.c:2806
 #, c-format
@@ -1655,9 +1657,9 @@ msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: entry.c:280
-#, fuzzy, c-format
+#, c-format
 msgid "could not stat file '%s'"
-msgstr "konnte Datei '%s' nicht erstellen"
+msgstr "konnte Datei '%s' nicht lesen"
 
 #: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
@@ -1827,14 +1829,14 @@ msgid "no matching remote head"
 msgstr "kein übereinstimmender Remote-Branch"
 
 #: fetch-pack.c:1147
-#, fuzzy, c-format
+#, c-format
 msgid "no such remote ref %s"
-msgstr "Kein solches Remote-Repository: %s"
+msgstr "keine solche Remote-Referenz %s"
 
 #: fetch-pack.c:1150
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
+msgstr "Der Server lehnt Anfrage nach nicht angebotenem Objekt %s ab."
 
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
@@ -1961,31 +1963,31 @@ msgstr ""
 
 #: ident.c:367
 msgid "no email was given and auto-detection is disabled"
-msgstr ""
+msgstr "keine E-Mail angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:372
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect email address (got '%s')"
-msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n"
+msgstr "Konnte die E-Mail-Adresse nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:382
 msgid "no name was given and auto-detection is disabled"
-msgstr ""
+msgstr "kein Name angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:388
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect name (got '%s')"
-msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
+msgstr "konnte Namen nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:396
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
+msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt."
 
 #: ident.c:402
 #, c-format
 msgid "name consists only of disallowed characters: %s"
-msgstr ""
+msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s"
 
 #: ident.c:417 builtin/commit.c:611
 #, c-format
@@ -2102,13 +2104,11 @@ msgstr ""
 "im Arbeitsbereich gelassen."
 
 #: merge-recursive.c:1097
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
-msgstr ""
-"KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
-"im Arbeitsbereich 

Re: [PATCH v3] l10n: de.po: update German translation

2017-05-03 Thread Ralf Thielow
Am 3. Mai 2017 um 14:38 schrieb Christian Brabandt <c...@256bit.org>:
> Hallo Ralf!
>
> Ralf Thielow schrieb am Dienstag, den 02. Mai 2017:
>
>> @@ -1260,6 +1260,8 @@ msgstr "Speicher verbraucht"
>>  #: config.c:191
>>  msgid "relative config include conditionals must come from files"
>>  msgstr ""
>> +"Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden 
>> muss\n"
>> +"aus Dateien kommen."
>
> Bedingungen [...] müssen aus Dateien kommen
>
>>  #: fetch-pack.c:1150
>>  #, c-format
>>  msgid "Server does not allow request for unadvertised object %s"
>> -msgstr ""
>> +msgstr "Der Server erlaubt keine Anfrage für nicht angebotenes Objekt %s."
>
> Double negation does not sound good. Perhaps:
> "Der Server lehnt Anfrage nach nicht angebotenem Objekt %s ab."
> or possibly (still double negation)
> "Der Server erlaubt keine Anfrage für nicht öffentliches Objekt %s."
>>  #: builtin/for-each-ref.c:46
>> -#, fuzzy
>>  msgid "print only refs which don't contain the commit"
>> -msgstr "nur Referenzen ausgeben, die diesen Commit enthalten"
>> +msgstr "nur Referenzen ausgeben, die diesen nicht Commit enthalten"
>
> "nur Referenzen ausgeben, die diesen Commit nicht enthalten"
>
> refs are here translated as Referenzen
>
>>  #: builtin/grep.c:1189
>> -#, fuzzy
>>  msgid "--no-index or --untracked cannot be used with revs"
>> -msgstr ""
>> -"Die Optionen --no-index und --untracked können nicht mit Commits verwendet 
>> "
>> -"werden."
>> +msgstr "--no-index oder --untracked können nicht mit Commits verwendet 
>> werden"
>
> refs are here translated as Commits?
>
>>  #: builtin/grep.c:1195
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "unable to resolve revision: %s"
>> -msgstr "Konnte %s nicht nach %s verschieben"
>> +msgstr "Konnte Commit nicht auflösen: %s"
>
> same here
>

Ref or Reference is translated as "Referenz" while
Rev or Revision is translated as "Commit" so I think
the translation is correct.

Thanks for your findings and suggestions!

>>  #: builtin/tag.c:421 builtin/tag.c:423
>> -#, fuzzy
>>  msgid "print only tags that don't contain the commit"
>> -msgstr "nur Tags ausgeben, die diesen Commit beinhalten"
>> +msgstr "nur Tags ausgeben, die diesen nicht Commit enthalten"
>
> "nur Tags ausgeben, die diesen Commit nicht enthalten"
>
> Best,
> Christian
> --
> Wie man sein Kind nicht nennen sollte:
>   Anna Naß


[PATCH v3] l10n: de.po: update German translation

2017-05-02 Thread Ralf Thielow
Translate 96 new messages came from git.pot update in dfc182b (l10n:
git.pot: v2.13.0 round 1 (96 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 323 ---
 1 file changed, 142 insertions(+), 181 deletions(-)

diff --git a/po/de.po b/po/de.po
index b92c4fe11..8272b06b5 100644
--- a/po/de.po
+++ b/po/de.po
@@ -866,9 +866,9 @@ msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument für Format '%s' nicht unterstützt: -%d"
 
 #: attr.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "%.*s is not a valid attribute name"
-msgstr "'%s' ist kein gültiger Name für ein Remote-Repository"
+msgstr "%.*s ist kein gültiger Attributname"
 
 #: attr.c:408
 msgid ""
@@ -1260,6 +1260,8 @@ msgstr "Speicher verbraucht"
 #: config.c:191
 msgid "relative config include conditionals must come from files"
 msgstr ""
+"Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden muss\n"
+"aus Dateien kommen."
 
 #: config.c:701
 #, c-format
@@ -1379,12 +1381,12 @@ msgstr "Ungültiger %s: '%s'"
 #: config.c:1952
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
+msgstr "Unbekannter Wert '%s' in core.untrackedCache; benutze Standardwert 
'keep'"
 
 #: config.c:1978
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
+msgstr "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 
100 liegen."
 
 #: config.c:1989
 #, c-format
@@ -1645,9 +1647,9 @@ msgstr ""
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2776 dir.c:2781
-#, fuzzy, c-format
+#, c-format
 msgid "could not create directories for %s"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Verzeichnisse für '%s' nicht erstellen."
 
 #: dir.c:2806
 #, c-format
@@ -1655,9 +1657,9 @@ msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: entry.c:280
-#, fuzzy, c-format
+#, c-format
 msgid "could not stat file '%s'"
-msgstr "konnte Datei '%s' nicht erstellen"
+msgstr "konnte Datei '%s' nicht lesen"
 
 #: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
@@ -1827,14 +1829,14 @@ msgid "no matching remote head"
 msgstr "kein übereinstimmender Remote-Branch"
 
 #: fetch-pack.c:1147
-#, fuzzy, c-format
+#, c-format
 msgid "no such remote ref %s"
-msgstr "Kein solches Remote-Repository: %s"
+msgstr "keine solche Remote-Referenz %s"
 
 #: fetch-pack.c:1150
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
+msgstr "Der Server erlaubt keine Anfrage für nicht angebotenes Objekt %s."
 
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
@@ -1961,31 +1963,31 @@ msgstr ""
 
 #: ident.c:367
 msgid "no email was given and auto-detection is disabled"
-msgstr ""
+msgstr "keine E-Mail angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:372
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect email address (got '%s')"
-msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n"
+msgstr "Konnte die E-Mail-Adresse nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:382
 msgid "no name was given and auto-detection is disabled"
-msgstr ""
+msgstr "kein Name angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:388
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect name (got '%s')"
-msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
+msgstr "konnte Namen nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:396
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
+msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt."
 
 #: ident.c:402
 #, c-format
 msgid "name consists only of disallowed characters: %s"
-msgstr ""
+msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s"
 
 #: ident.c:417 builtin/commit.c:611
 #, c-format
@@ -2102,13 +2104,11 @@ msgstr ""
 "im Arbeitsbereich gelassen."
 
 #: merge-recursive.c:1097
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
-msgstr ""
-"KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
-"im Arbeitsbereich 

Re: [PATCH v2] l10n: de.po: update German translation

2017-05-02 Thread Ralf Thielow
2017-05-01 14:19 GMT+02:00 Simon Ruderich <si...@ruderich.org>:
> On Sun, Apr 30, 2017 at 09:11:49PM +0200, Ralf Thielow wrote:
>>  #: config.c:1952
>>  #, c-format
>>  msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
>> -msgstr ""
>> +msgstr "Unbekannter Wert '%s' in core.untrackedCache; benutze Stardardwert 
>> 'keep'"
>  
> Standardwert
>
>>  #: entry.c:280
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "could not stat file '%s'"
>> -msgstr "konnte Datei '%s' nicht erstellen"
>> +msgstr "konnte Datei '%s' nicht lesen"
>
> Read is not quite stat (there are situations where you can stat
> but not read a file), but I can't think of a better translation.
>
>>  #: builtin/describe.c:551
>> -#, fuzzy
>>  msgid "--broken is incompatible with commit-ishes"
>> -msgstr "Die Option --dirty kann nicht mit Commits verwendet werden."
>> +msgstr "Die Option --broken kann nicht nit Commits verwendet werden."
>   ^^^
> mit
>
>>  #: builtin/tag.c:312
>>  msgid "tag: tagging "
>> -msgstr ""
>> +msgstr "Tag: tagge "
>
> Lowercase Tag because it's used as command prefix? In other
> places in this patch the lowercase version was used for commands.
>
> Regards
> Simon
> --

Thanks!

> + privacy is necessary
> + using gnupg http://gnupg.org
> + public key id: 0x92FEFDB7E44C32F9


[PATCH v2] l10n: de.po: update German translation

2017-04-30 Thread Ralf Thielow
Translate 96 new messages came from git.pot update in dfc182b (l10n:
git.pot: v2.13.0 round 1 (96 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
:/ It turned out de.po was not up-to-date with the git.pot update
mentioned. So here we go again.

 po/de.po | 323 ---
 1 file changed, 142 insertions(+), 181 deletions(-)

diff --git a/po/de.po b/po/de.po
index b92c4fe11..416da4724 100644
--- a/po/de.po
+++ b/po/de.po
@@ -866,9 +866,9 @@ msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument für Format '%s' nicht unterstützt: -%d"
 
 #: attr.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "%.*s is not a valid attribute name"
-msgstr "'%s' ist kein gültiger Name für ein Remote-Repository"
+msgstr "%.*s ist kein gültiger Attributname"
 
 #: attr.c:408
 msgid ""
@@ -1260,6 +1260,8 @@ msgstr "Speicher verbraucht"
 #: config.c:191
 msgid "relative config include conditionals must come from files"
 msgstr ""
+"Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden muss\n"
+"aus Dateien kommen."
 
 #: config.c:701
 #, c-format
@@ -1379,12 +1381,12 @@ msgstr "Ungültiger %s: '%s'"
 #: config.c:1952
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
+msgstr "Unbekannter Wert '%s' in core.untrackedCache; benutze Stardardwert 
'keep'"
 
 #: config.c:1978
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
+msgstr "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 
100 liegen."
 
 #: config.c:1989
 #, c-format
@@ -1645,9 +1647,9 @@ msgstr ""
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2776 dir.c:2781
-#, fuzzy, c-format
+#, c-format
 msgid "could not create directories for %s"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Verzeichnisse für '%s' nicht erstellen."
 
 #: dir.c:2806
 #, c-format
@@ -1655,9 +1657,9 @@ msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: entry.c:280
-#, fuzzy, c-format
+#, c-format
 msgid "could not stat file '%s'"
-msgstr "konnte Datei '%s' nicht erstellen"
+msgstr "konnte Datei '%s' nicht lesen"
 
 #: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
@@ -1827,14 +1829,14 @@ msgid "no matching remote head"
 msgstr "kein übereinstimmender Remote-Branch"
 
 #: fetch-pack.c:1147
-#, fuzzy, c-format
+#, c-format
 msgid "no such remote ref %s"
-msgstr "Kein solches Remote-Repository: %s"
+msgstr "keine solche Remote-Referenz %s"
 
 #: fetch-pack.c:1150
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
+msgstr "Der Server erlaubt keine Anfrage für nicht angebotenes Objekt %s."
 
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
@@ -1961,31 +1963,31 @@ msgstr ""
 
 #: ident.c:367
 msgid "no email was given and auto-detection is disabled"
-msgstr ""
+msgstr "keine E-Mail angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:372
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect email address (got '%s')"
-msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n"
+msgstr "Konnte die E-Mail-Adresse nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:382
 msgid "no name was given and auto-detection is disabled"
-msgstr ""
+msgstr "kein Name angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:388
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect name (got '%s')"
-msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
+msgstr "konnte Namen nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:396
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
+msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt."
 
 #: ident.c:402
 #, c-format
 msgid "name consists only of disallowed characters: %s"
-msgstr ""
+msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s"
 
 #: ident.c:417 builtin/commit.c:611
 #, c-format
@@ -2102,13 +2104,11 @@ msgstr ""
 "im Arbeitsbereich gelassen."
 
 #: merge-recursive.c:1097
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
-msgstr ""
-"KONFLIKT (%

[PATCH] l10n: de.po: update German translation

2017-04-30 Thread Ralf Thielow
Translate 96 new messages came from git.pot update in dfc182b (l10n:
git.pot: v2.13.0 round 1 (96 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 309 +++
 1 file changed, 134 insertions(+), 175 deletions(-)

diff --git a/po/de.po b/po/de.po
index e2d15c4aa..14289e564 100644
--- a/po/de.po
+++ b/po/de.po
@@ -866,9 +866,9 @@ msgid "Argument not supported for format '%s': -%d"
 msgstr "Argument für Format '%s' nicht unterstützt: -%d"
 
 #: attr.c:212
-#, fuzzy, c-format
+#, c-format
 msgid "%.*s is not a valid attribute name"
-msgstr "'%s' ist kein gültiger Name für ein Remote-Repository"
+msgstr "%.*s ist kein gültiger Attributname"
 
 #: attr.c:408
 msgid ""
@@ -1260,6 +1260,8 @@ msgstr "Speicher verbraucht"
 #: config.c:191
 msgid "relative config include conditionals must come from files"
 msgstr ""
+"Bedingungen für das Einbinden von Konfigurationen aus relativen Pfaden muss\n"
+"aus Dateien kommen."
 
 #: config.c:701
 #, c-format
@@ -1379,12 +1381,12 @@ msgstr "Ungültiger %s: '%s'"
 #: config.c:1952
 #, c-format
 msgid "unknown core.untrackedCache value '%s'; using 'keep' default value"
-msgstr ""
+msgstr "Unbekannter Wert '%s' in core.untrackedCache; benutze Stardardwert 
'keep'"
 
 #: config.c:1978
 #, c-format
 msgid "splitIndex.maxPercentChange value '%d' should be between 0 and 100"
-msgstr ""
+msgstr "Der Wert '%d' von splitIndex.maxPercentChange sollte zwischen 0 und 
100 liegen."
 
 #: config.c:1989
 #, c-format
@@ -1645,9 +1647,9 @@ msgstr ""
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2776 dir.c:2781
-#, fuzzy, c-format
+#, c-format
 msgid "could not create directories for %s"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Verzeichnisse für '%s' nicht erstellen."
 
 #: dir.c:2806
 #, c-format
@@ -1655,9 +1657,9 @@ msgid "could not migrate git directory from '%s' to '%s'"
 msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: entry.c:280
-#, fuzzy, c-format
+#, c-format
 msgid "could not stat file '%s'"
-msgstr "konnte Datei '%s' nicht erstellen"
+msgstr "konnte Datei '%s' nicht lesen"
 
 #: fetch-pack.c:249
 msgid "git fetch-pack: expected shallow list"
@@ -1827,14 +1829,14 @@ msgid "no matching remote head"
 msgstr "kein übereinstimmender Remote-Branch"
 
 #: fetch-pack.c:1147
-#, fuzzy, c-format
+#, c-format
 msgid "no such remote ref %s"
-msgstr "Kein solches Remote-Repository: %s"
+msgstr "keine solche Remote-Referenz %s"
 
 #: fetch-pack.c:1150
 #, c-format
 msgid "Server does not allow request for unadvertised object %s"
-msgstr ""
+msgstr "Der Server erlaubt keine Anfrage für nicht angebotenes Objekt %s."
 
 #: gpg-interface.c:185
 msgid "gpg failed to sign the data"
@@ -1961,31 +1963,31 @@ msgstr ""
 
 #: ident.c:367
 msgid "no email was given and auto-detection is disabled"
-msgstr ""
+msgstr "keine E-Mail angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:372
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect email address (got '%s')"
-msgstr "Fehler: konnte keine gültige Adresse aus %s extrahieren\n"
+msgstr "Konnte die E-Mail-Adresse nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:382
 msgid "no name was given and auto-detection is disabled"
-msgstr ""
+msgstr "kein Name angegeben und automatische Erkennung ist deaktiviert"
 
 #: ident.c:388
-#, fuzzy, c-format
+#, c-format
 msgid "unable to auto-detect name (got '%s')"
-msgstr "konnte \"Tree\"-Objekt (%s) nicht lesen"
+msgstr "konnte Namen nicht automatisch erkennen ('%s' erhalten)"
 
 #: ident.c:396
 #, c-format
 msgid "empty ident name (for <%s>) not allowed"
-msgstr ""
+msgstr "Leerer Name in Identifikation (für <%s>) nicht erlaubt."
 
 #: ident.c:402
 #, c-format
 msgid "name consists only of disallowed characters: %s"
-msgstr ""
+msgstr "Name besteht nur aus nicht erlaubten Zeichen: %s"
 
 #: ident.c:417 builtin/commit.c:611
 #, c-format
@@ -2102,13 +2104,11 @@ msgstr ""
 "im Arbeitsbereich gelassen."
 
 #: merge-recursive.c:1097
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "CONFLICT (%s/delete): %s deleted in %s and %s to %s in %s. Version %s of %s "
 "left in tree."
-msgstr ""
-"KONFLIKT (%s/löschen): %s gelöscht in %s und %s in %s. Stand %s von %s wurde "
-"im Arbeitsbereich 

[PATCH] git-add--interactive.perl: add missing dot in a message

2017-04-13 Thread Ralf Thielow
One message appears twice in the translations and the only
difference is a dot at the end.  So add this dot to make
the messages being identical.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 git-add--interactive.perl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 77b4ed53a..709a5f6ce 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -1040,7 +1040,7 @@ marked for unstaging."),
 marked for applying."),
checkout_index => N__(
 "If the patch applies cleanly, the edited hunk will immediately be
-marked for discarding"),
+marked for discarding."),
checkout_head => N__(
 "If the patch applies cleanly, the edited hunk will immediately be
 marked for discarding."),
-- 
2.12.2.762.g0e3151a22



[PATCH] submodule.c: add missing ' in error messages

2017-04-13 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 submodule.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/submodule.c b/submodule.c
index c52d6634c..02033c97e 100644
--- a/submodule.c
+++ b/submodule.c
@@ -1251,7 +1251,7 @@ int bad_to_remove_submodule(const char *path, unsigned 
flags)
cp.dir = path;
if (start_command()) {
if (flags & SUBMODULE_REMOVAL_DIE_ON_ERROR)
-   die(_("could not start 'git status in submodule '%s'"),
+   die(_("could not start 'git status' in submodule '%s'"),
path);
ret = -1;
goto out;
@@ -1264,7 +1264,7 @@ int bad_to_remove_submodule(const char *path, unsigned 
flags)
 
if (finish_command()) {
if (flags & SUBMODULE_REMOVAL_DIE_ON_ERROR)
-   die(_("could not run 'git status in submodule '%s'"),
+   die(_("could not run 'git status' in submodule '%s'"),
path);
ret = -1;
}
-- 
2.12.2.762.g0e3151a22



Re: [PATCH] l10n: de: lower case after semi-colon

2017-03-17 Thread Ralf Thielow
Thanks for both patches to de.po!

2017-03-17 16:04 GMT+01:00 Michael J Gruber :
> Signed-off-by: Michael J Gruber 
> ---
> Just a minor thing. I'm wondering about lower/upper case
> at the beginning of the line, though. Do we have a rule for de.po?
>

There is no rule nor is there consistency. :/ Some messages start with
lower case because the original english message is doing so, some do
not.

I do not think it makes sense to adopt rules like "error messages should
start with lower case" or something like that in translations so it's an error
to do so.

I will add this issue to my TODO list to fix this in the whole translation.

Thanks

>  po/de.po | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/po/de.po b/po/de.po
> index e9c86f5488..f8215945e7 100644
> --- a/po/de.po
> +++ b/po/de.po
> @@ -7599,7 +7599,7 @@ msgid ""
>  "more than %i tags found; listed %i most recent\n"
>  "gave up search at %s\n"
>  msgstr ""
> -"mehr als %i Tags gefunden; Führe die ersten %i auf\n"
> +"mehr als %i Tags gefunden; führe die ersten %i auf\n"
>  "Suche bei %s aufgegeben\n"
>
>  #: builtin/describe.c:396
> --
> 2.12.0.484.g92f9ab2bc1
>


[PATCH] git add -i: replace \t with blanks in the help message

2017-02-22 Thread Ralf Thielow
Within the help message of 'git add -i', the 'diff' command uses one
tab character and blanks to create the space between the name and the
description while the others use blanks only.  So if the tab size is
not at 4 characters, this description will not be in range.
Replace the tab character with blanks.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 git-add--interactive.perl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index cf6fc926a..982593c89 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -1678,7 +1678,7 @@ status- show paths with changes
 update- add working tree state to the staged set of changes
 revert- revert staged set of changes back to the HEAD version
 patch - pick hunks and update selectively
-diff - view diff between HEAD and index
+diff  - view diff between HEAD and index
 add untracked - add contents of untracked files to the staged set of changes
 EOF
 }
-- 
2.12.0.rc2.424.g63d3652c7



[PATCH v2] l10n: de.po: translate 241 messages

2017-02-19 Thread Ralf Thielow
Translate 241 messages came from git.pot update in 673bfad09
(l10n: git.pot: v2.12.0 round 1 (239 new, 15 removed)) and a4d94835a
(l10n: git.pot: v2.12.0 round 2 (2 new)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 750 ++-
 1 file changed, 409 insertions(+), 341 deletions(-)

diff --git a/po/de.po b/po/de.po
index 2326da1fd..e9c86f548 100644
--- a/po/de.po
+++ b/po/de.po
@@ -913,20 +913,20 @@ msgstr ""
 
 #: bisect.c:742
 #, c-format
 msgid ""
 "The merge base %s is %s.\n"
 "This means the first '%s' commit is between %s and [%s].\n"
 msgstr ""
 "Die Merge-Basis %s ist %s.\n"
-"Das bedeutet, der erste '%s' Commit befindet sich zwischen %s und [%s]\n"
+"Das bedeutet, der erste '%s' Commit befindet sich zwischen %s und [%s].\n"
 
 #: bisect.c:750
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 "Manche %s Commits sind keine Vorgänger des %s Commits.\n"
 "git bisect kann in diesem Fall nicht richtig arbeiten.\n"
 "Vielleicht verwechselten Sie %s und %s Commits?\n"
@@ -1343,19 +1343,19 @@ msgid "bad zlib compression level %d"
 msgstr "ungültiger zlib Komprimierungsgrad %d"
 
 #: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "Ungültiger Modus für Objekterstellung: %s"
 
 #: config.c:1149
-#, fuzzy, c-format
+#, c-format
 msgid "bad pack compression level %d"
-msgstr "Komprimierungsgrad für Paketierung"
+msgstr "ungültiger Komprimierungsgrad (%d) für Paketierung"
 
 #: config.c:1339
 msgid "unable to parse command-line config"
 msgstr ""
 "Konnte die über die Befehlszeile angegebene Konfiguration nicht parsen."
 
 #: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
@@ -1375,19 +1375,19 @@ msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "ungültige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d"
 
 #: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s hat mehrere Werte"
 
 #: config.c:2225 config.c:2450
-#, fuzzy, c-format
+#, c-format
 msgid "fstat on %s failed"
-msgstr "\"stash\" fehlgeschlagen"
+msgstr "fstat auf %s fehlgeschlagen"
 
 #: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "Konnte '%s' nicht zu '%s' setzen."
 
 #: config.c:2345
 #, c-format
@@ -1616,19 +1616,19 @@ msgstr "Fehler beim Sammeln von Namen und Informationen 
zum Kernel"
 
 #: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 "Cache für unversionierte Dateien ist auf diesem System oder\n"
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2759
-#, fuzzy, c-format
+#, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: erwartete shallow-Liste"
 
 #: fetch-pack.c:225
 msgid "git fetch-pack: expected ACK/NAK, got EOF"
 msgstr "git fetch-pack: ACK/NAK erwartet, EOF bekommen"
@@ -1803,17 +1803,17 @@ msgstr "konnte temporäre Datei nicht erstellen"
 #: gpg-interface.c:217
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'"
 
 #: graph.c:96
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
-msgstr ""
+msgstr "Ignoriere ungültige Farbe '%.*s' in log.graphColors"
 
 #: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': konnte %s nicht lesen"
 
 #: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
@@ -2320,17 +2320,17 @@ msgstr "%s: 'literal' und 'glob' sind inkompatibel"
 #: pathspec.c:363
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s: '%s' liegt außerhalb des Repositories"
 
 #: pathspec.c:451
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
-msgstr ""
+msgstr "'%s' (Kürzel: '%c')"
 
 #: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s: Pfadspezifikationsangabe wird von diesem Befehl nicht unterstützt: %s"
 
 #: pathspec.c:511
@@ -2418,19 +2

Re: [PATCH] l10n: de.po: translate 241 messages

2017-02-19 Thread Ralf Thielow
Hi Phillip,

thanks for review!

Am 17. Februar 2017 um 22:56 schrieb Phillip Sz :
>>  #: remote.c:2092
>>  #, c-format
>>  msgid "Your branch is ahead of '%s' by %d commit.\n"
>>  msgid_plural "Your branch is ahead of '%s' by %d commits.\n"
>> -msgstr[0] "Ihr Branch ist vor '%s' um %d Commit.\n"
>> -msgstr[1] "Ihr Branch ist vor '%s' um %d Commits.\n"
>> +msgstr[0] "Ihr Branch ist %2$d Commit vor '%1$s'.\n"
>> +msgstr[1] "Ihr Branch ist %2$d Commits vor '%1$s'.\n"
>>
>
> Does this "%2$d" works and why not use '%s'?
>

With this syntax you can reorder the format specifiers.  In the orignal
message, the branch name comes first and then the number of commits.
Despite "%2$d" is the first specifier in the message, it tells that it is the
second in the format arguments and therefore gets replaced with the
number of commits instead of the branch name.

>>  #: sequencer.c:840
>> -#, fuzzy
>>  msgid "could not read HEAD's commit message"
>> -msgstr "Konnte Commit-Beschreibung nicht lesen: %s"
>> +msgstr "Konnte Commit-Beschreibung von HEAD nicht lesen"
>>
>
>>  #: sequencer.c:846
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "cannot write '%s'"
>> -msgstr "kann '%s' nicht erstellen"
>> +msgstr "kann '%s' nicht schreiben"
>
> I think we should either use "kann" or "konnte".
> We have used both and maybe we should unify it? What do you think?
>

Sure.  It's a good idea to unify the translation.  I'd prefer "kann".

>>  #: sequencer.c:1341
>> -#, fuzzy
>>  msgid "please fix this using 'git rebase --edit-todo'."
>>  msgstr "Bitte beheben Sie das, indem Sie 'git rebase --edit-todo' 
>> ausführen."
>
> Maybe: "Bitte beheben Sie dieses, indem Sie 'git rebase --edit-todo'
> ausführen."
>
>>  #: git-add--interactive.perl:1074
>>  #, perl-format
>>  msgid ""
>>  "---\n"
>>  "To remove '%s' lines, make them ' ' lines (context).\n"
>>  "To remove '%s' lines, delete them.\n"
>>  "Lines starting with %s will be removed.\n"
>>  msgstr ""
>> +"---\n"
>> +"Um '%s' Zeilen zu entfernen, machen Sie aus diesen ' ' Zeilen (Kontext).\n"
>> +"Um '%s' Zeilen zu entferenen, löschen Sie diese.\n"
>> +"Zeilen, die mit %s beginnen, werden entfernt.\n"
>>
>
> "Um '%s' Zeilen zu entfernen, löschen Sie diese.\n"
>
> Anyway thanks a lot for your awesome work!
>
> Phillip

Ralf


[PATCH] l10n: de.po: translate 241 messages

2017-02-17 Thread Ralf Thielow
Translate 241 messages came from git.pot update in 673bfad09
(l10n: git.pot: v2.12.0 round 1 (239 new, 15 removed)) and a4d94835a
(l10n: git.pot: v2.12.0 round 2 (2 new)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 746 ++-
 1 file changed, 407 insertions(+), 339 deletions(-)

diff --git a/po/de.po b/po/de.po
index 2326da1fd..1fd4cbb1e 100644
--- a/po/de.po
+++ b/po/de.po
@@ -916,17 +916,17 @@ msgstr ""
 msgid ""
 "The merge base %s is %s.\n"
 "This means the first '%s' commit is between %s and [%s].\n"
 msgstr ""
 "Die Merge-Basis %s ist %s.\n"
 "Das bedeutet, der erste '%s' Commit befindet sich zwischen %s und [%s]\n"
 
 #: bisect.c:750
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Some %s revs are not ancestors of the %s rev.\n"
 "git bisect cannot work properly in this case.\n"
 "Maybe you mistook %s and %s revs?\n"
 msgstr ""
 "Manche %s Commits sind keine Vorgänger des %s Commits.\n"
 "git bisect kann in diesem Fall nicht richtig arbeiten.\n"
 "Vielleicht verwechselten Sie %s und %s Commits?\n"
@@ -1343,19 +1343,19 @@ msgid "bad zlib compression level %d"
 msgstr "ungültiger zlib Komprimierungsgrad %d"
 
 #: config.c:993
 #, c-format
 msgid "invalid mode for object creation: %s"
 msgstr "Ungültiger Modus für Objekterstellung: %s"
 
 #: config.c:1149
-#, fuzzy, c-format
+#, c-format
 msgid "bad pack compression level %d"
-msgstr "Komprimierungsgrad für Paketierung"
+msgstr "ungültiger Komprimierungsgrad (%d) für Paketierung"
 
 #: config.c:1339
 msgid "unable to parse command-line config"
 msgstr ""
 "Konnte die über die Befehlszeile angegebene Konfiguration nicht parsen."
 
 #: config.c:1389
 msgid "unknown error occurred while reading the configuration files"
@@ -1375,19 +1375,19 @@ msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "ungültige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d"
 
 #: config.c:1804
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s hat mehrere Werte"
 
 #: config.c:2225 config.c:2450
-#, fuzzy, c-format
+#, c-format
 msgid "fstat on %s failed"
-msgstr "\"stash\" fehlgeschlagen"
+msgstr "fstat auf %s fehlgeschlagen"
 
 #: config.c:2343
 #, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "Konnte '%s' nicht zu '%s' setzen."
 
 #: config.c:2345
 #, c-format
@@ -1616,19 +1616,19 @@ msgstr "Fehler beim Sammeln von Namen und Informationen 
zum Kernel"
 
 #: dir.c:1981
 msgid "Untracked cache is disabled on this system or location."
 msgstr ""
 "Cache für unversionierte Dateien ist auf diesem System oder\n"
 "für dieses Verzeichnis deaktiviert."
 
 #: dir.c:2759
-#, fuzzy, c-format
+#, c-format
 msgid "could not migrate git directory from '%s' to '%s'"
-msgstr "Konnte Verzeichnis '%s' nicht erstellen."
+msgstr "Konnte Git-Verzeichnis nicht von '%s' nach '%s' migrieren."
 
 #: fetch-pack.c:213
 msgid "git fetch-pack: expected shallow list"
 msgstr "git fetch-pack: erwartete shallow-Liste"
 
 #: fetch-pack.c:225
 msgid "git fetch-pack: expected ACK/NAK, got EOF"
 msgstr "git fetch-pack: ACK/NAK erwartet, EOF bekommen"
@@ -1803,17 +1803,17 @@ msgstr "konnte temporäre Datei nicht erstellen"
 #: gpg-interface.c:217
 #, c-format
 msgid "failed writing detached signature to '%s'"
 msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'"
 
 #: graph.c:96
 #, c-format
 msgid "ignore invalid color '%.*s' in log.graphColors"
-msgstr ""
+msgstr "Ignoriere ungültige Farbe '%.*s' in log.graphColors"
 
 #: grep.c:1794
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': konnte %s nicht lesen"
 
 #: grep.c:1811 builtin/clone.c:381 builtin/diff.c:81 builtin/rm.c:133
 #, c-format
@@ -2320,17 +2320,17 @@ msgstr "%s: 'literal' und 'glob' sind inkompatibel"
 #: pathspec.c:363
 #, c-format
 msgid "%s: '%s' is outside repository"
 msgstr "%s: '%s' liegt außerhalb des Repositories"
 
 #: pathspec.c:451
 #, c-format
 msgid "'%s' (mnemonic: '%c')"
-msgstr ""
+msgstr "'%s' (Kürzel: '%c')"
 
 #: pathspec.c:461
 #, c-format
 msgid "%s: pathspec magic not supported by this command: %s"
 msgstr ""
 "%s: Pfadspezifikationsangabe wird von diesem Befehl nicht unterstützt: %s"
 
 #: pathspec.c:511
@@ -2418,19 +2418,19 @@ msgid "%%(body) does not take arguments"
 msgstr "%%(body) akzeptiert keine Argumente"
 
 #: ref-

Re: git branch --editdescription fatal error

2017-01-06 Thread Ralf Thielow
2017-01-06 20:43 GMT+01:00 Stefan Beller <sbel...@google.com>:
> On Fri, Jan 6, 2017 at 11:31 AM, Ralf Thielow <ralf.thie...@gmail.com> wrote:
>> 2017-01-06 18:55 GMT+01:00 Stefan Beller <sbel...@google.com>:
>>> On Fri, Jan 6, 2017 at 9:25 AM, Jake Lambert <j...@onahill.co> wrote:
>>>> Hello,
>>>>
>>>> When executing "git branch  --edit-description" on a branch with 
>>>> no description set, I get "fatal: could not unset 
>>>> 'branch..description". It would seem that the unsetting piece 
>>>> should occur only after checking if it was set in the first place.
>>>
>>> That seems strange. Is it possible that your config is not writable?
>>> (.git/config, ~/gitconfig, you'd need to find out where the 
>>> is configured already via git config --global/--system/--local --list)
>>>
>>
>> Have you actually tried to reproduce this issue? I'm on current next
>> and can reproduce the problem.
>
> eh, I was on $random_version that I currently have installed
> (with messed up submodule code, but otherwise close to master).
>
> this gives hope that a bisect between master..next will give us a culprit?
>

Hm.
I can confirm it appears on current master (e05806da9).

>>
>> I think removing things that don't exist should behave the same like
>> removing things that do exist, with
>> a success.
>
> I am not sure. Consider the tool "rm"
>
> $ rm no_exist
> rm: cannot remove ‘no_exist’: No such file or directory
> $ echo $?
> 1
>
> You have to use the --force.
>
> For this specific use case I agree we should then set the force flag
> to let the the removal of the config option succeed no matter if it
> existed before.
>
> Stefan

Can you think of a case where this flag should be set to false?

Ralf


Re: git branch --editdescription fatal error

2017-01-06 Thread Ralf Thielow
2017-01-06 18:55 GMT+01:00 Stefan Beller :
> On Fri, Jan 6, 2017 at 9:25 AM, Jake Lambert  wrote:
>> Hello,
>>
>> When executing "git branch  --edit-description" on a branch with no 
>> description set, I get "fatal: could not unset 
>> 'branch..description". It would seem that the unsetting piece should 
>> occur only after checking if it was set in the first place.
>
> That seems strange. Is it possible that your config is not writable?
> (.git/config, ~/gitconfig, you'd need to find out where the 
> is configured already via git config --global/--system/--local --list)
>

Have you actually tried to reproduce this issue? I'm on current next
and can reproduce the problem.

It seems Git is not happy with unsetting non-existent configs. And at
least the following piece of code
seems to be there since 10bea152a (Add functions git_config_set() and
git_config_set_multivar(), 2005-11-17).

config.c:2212
/* if nothing to unset, or too many matches, error out */
if ((store.seen == 0 && value == NULL) ||

I wonder why it's an error to remove something that doesn't exist
except the case we 'know' it
exists because of further actions. I don't think this is a thing, though.
Just for the record: `git config --unset branch.$branch.description`
does return with code "5" here as well.

I think removing things that don't exist should behave the same like
removing things that do exist, with
a success.

Ralf


Re: [PATCH] l10n: de.po: translate 210 new message

2016-11-28 Thread Ralf Thielow
2016-11-28 15:21 GMT+01:00 Jiang Xin <worldhello@gmail.com>:
> 2016-11-25 2:25 GMT+08:00 Ralf Thielow <ralf.thie...@gmail.com>:
>>  #: sequencer.c:251
>> -#, fuzzy, c-format
>> +#, c-format
>>  msgid "could not write eol to '%s"
>
> Unmatched single quote has been fixed in l10n round 3.
> You can rebase and update de.po file.
>
> BTW, Git 2.11.0 will be released tomorrow, please send PR in time.

I've rebased, fixed the subject line and send a pull request to you.

Thanks

>
>> -msgstr "Konnte nicht nach '%s' schreiben."
>> +msgstr "Konnte EOL nicht nach '%s' schreiben."
>
> --
> Jiang Xin


[PATCH] l10n: de.po: translate 210 new message

2016-11-24 Thread Ralf Thielow
Translate 210 new messages came from git.pot update in fda7b09
(l10n: git.pot: v2.11.0 round 1 (209 new, 53 removed)) and c091ffb
(l10n: git.pot: v2.11.0 round 2 (1 new, 1 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 657 ---
 1 file changed, 331 insertions(+), 326 deletions(-)

diff --git a/po/de.po b/po/de.po
index 766a8e1b0..6a37885f5 100644
--- a/po/de.po
+++ b/po/de.po
@@ -111,32 +111,30 @@ msgstr ""
 
 #: apply.c:57
 #, c-format
 msgid "unrecognized whitespace option '%s'"
 msgstr "nicht erkannte Whitespace-Option: '%s'"
 
 #: apply.c:73
 #, c-format
 msgid "unrecognized whitespace ignore option '%s'"
 msgstr "nicht erkannte Option zum Ignorieren von Whitespace: '%s'"
 
 #: apply.c:125
-#, fuzzy
 msgid "--reject and --3way cannot be used together."
-msgstr "Die Optionen -x und -X können nicht gemeinsam verwendet werden."
+msgstr "--reject und --3way können nicht gemeinsam verwendet werden."
 
 #: apply.c:127
-#, fuzzy
 msgid "--cached and --3way cannot be used together."
-msgstr "Die Optionen -x und -X können nicht gemeinsam verwendet werden."
+msgstr "--cached und --3way können nicht gemeinsam verwendet werden."
 
 #: apply.c:130
 msgid "--3way outside a repository"
 msgstr ""
 "Die Option --3way kann nicht außerhalb eines Repositories verwendet werden."
 
 #: apply.c:141
 msgid "--index outside a repository"
 msgstr ""
 "Die Option --index kann nicht außerhalb eines Repositories verwendet werden."
 
 #: apply.c:144
@@ -200,29 +198,27 @@ msgid ""
 "component (line %d)"
 msgid_plural ""
 "git diff header lacks filename information when removing %d leading pathname "
 "components (line %d)"
 msgstr[0] ""
 "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen, wenn "
 "%d vorangestellter Teil des Pfades entfernt wird (Zeile %d)"
 msgstr[1] ""
 "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen, wenn "
 "%d vorangestellte Teile des Pfades entfernt werden (Zeile %d)"
 
 #: apply.c:1589
-#, fuzzy, c-format
+#, c-format
 msgid "git diff header lacks filename information (line %d)"
-msgstr ""
-"Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen, wenn "
-"%d vorangestellter Teil des Pfades entfernt wird (Zeile %d)"
+msgstr "Dem Kopfbereich von \"git diff\" fehlen Informationen zum Dateinamen 
(Zeile %d)"
 
 #: apply.c:1759
 msgid "new file depends on old contents"
 msgstr "neue Datei hängt von alten Inhalten ab"
 
 #: apply.c:1761
 msgid "deleted file still has contents"
 msgstr "entfernte Datei hat noch Inhalte"
 
 #: apply.c:1795
 #, c-format
 msgid "corrupt patch at line %d"
@@ -295,45 +291,49 @@ msgstr ""
 "bei der Suche nach:\n"
 "%.*s"
 
 #: apply.c:3090
 #, c-format
 msgid "missing binary patch data for '%s'"
 msgstr "keine Daten in Binär-Patch für '%s'"
 
 #: apply.c:3098
 #, c-format
 msgid "cannot reverse-apply a binary patch without the reverse hunk to '%s'"
 msgstr ""
+"kann binären Patch nicht in umgekehrter Reihenfolge anwenden ohne einen\n"
+"umgekehrten Patch-Block auf '%s'"
 
 #: apply.c:3144
 #, c-format
 msgid "cannot apply binary patch to '%s' without full index line"
-msgstr ""
+msgstr "kann binären Patch auf '%s' nicht ohne eine vollständige Index-Zeile 
anwenden"
 
 #: apply.c:3154
 #, c-format
 msgid ""
 "the patch applies to '%s' (%s), which does not match the current contents."
 msgstr ""
+"der Patch wird angewendet auf '%s' (%s), was nicht den aktuellen Inhalten\n"
+"entspricht"
 
 #: apply.c:3162
 #, c-format
 msgid "the patch applies to an empty '%s' but it is not empty"
-msgstr ""
+msgstr "der Patch wird auf ein leeres '%s' angewendet, was aber nicht leer ist"
 
 #: apply.c:3180
 #, c-format
 msgid "the necessary postimage %s for '%s' cannot be read"
-msgstr ""
+msgstr "das erforderliche Postimage %s für '%s' kann nicht gelesen werden"
 
 #: apply.c:3193
 #, c-format
 msgid "binary patch does not apply to '%s'"
 msgstr "Konnte Binär-Patch nicht auf '%s' anwenden"
 
 #: apply.c:3199
 #, c-format
 msgid "binary patch to '%s' creates incorrect result (expecting %s, got %s)"
 msgstr ""
 "Binär-Patch für '%s' erzeugt falsches Ergebnis (erwartete %s, bekam %s)"
 
@@ -364,55 +364,53 @@ msgstr "Pfad %s wurde umbenannt/gelöscht"
 
 #: app

Re: gitweb html validation

2016-11-18 Thread Ralf Thielow
2016-11-15 19:26 GMT+01:00 Ralf Thielow <ralf.thie...@gmail.com>:

Finally I've found the time to actually try this out and there
are some problems with it.

>
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 7cf68f07b..33d7c154f 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -5531,8 +5531,8 @@ sub git_project_search_form {
> $limit = " in '$project_filter/'";
> }
>
> -   print "\n";
> print $cgi->start_form(-method => 'get', -action => $my_uri) .
> + "\n" .
>   $cgi->hidden(-name => 'a', -value => 'project_list')  . "\n";
> print $cgi->hidden(-name => 'pf', -value => $project_filter). "\n"
> if (defined $project_filter);
> @@ -5544,11 +5544,11 @@ sub git_project_search_form {
>  -checked => $search_use_regexp) .
>   "\n" .
>   $cgi->submit(-name => 'btnS', -value => 'Search') .
> - $cgi->end_form() . "\n" .
>   $cgi->a({-href => href(project => undef, searchtext => undef,
>  project_filter => $project_filter)},
>   esc_html("List all projects$limit")) . "\n";
> -   print "\n";
> +   print "\n" .
> + $cgi->end_form() . "\n";
>  }
>

The anchor is now inside the form-tag, which means there is no
visual line-break anymore that comes automatically after 
as the form-tag is a block level element.  Could be solved by adding a
"", which is not very nice, but OK.

>  # entry for given @keys needs filling if at least one of keys in list
> diff --git a/gitweb/static/gitweb.css b/gitweb/static/gitweb.css
> index 321260103..507740b6a 100644
> --- a/gitweb/static/gitweb.css
> +++ b/gitweb/static/gitweb.css
> @@ -539,7 +539,7 @@ div.projsearch {
> margin: 20px 0px;
>  }
>
> -div.projsearch form {
> +form div.projsearch {
> margin-bottom: 2px;
>  }
>

This is wrong as it overwrites the setting above, 20px at the bottom
went to 2px.

The problem is how to apply the 2px now. Before this, we had the
, a block element, which we can give the 2px margin at the
bottom.  Now this element is gone and we have a set of inline
elements where we use "" to emulate the line break.  There
are two css rules which can solve this, but I'm not really happy with
both of them.
1) As we know we need the two pixel below an input element, we
can say
div.projsearch input {
  margin-bottom: 2px;
}
2) Make the a-Tag inside div.projsearch being displayed as a block
element to make a margin-top setting working.  This has the benefit
that we don't care about the element above.
div.projsearch a {
display: inline-block;
margin-top: 2px;
}
If I have to choose I'd prefer the second one.

So I can't think of a way to solve this nicely with this change.


Re: gitweb html validation

2016-11-15 Thread Ralf Thielow
Raphaël Gertz  wrote:
> Hi,
> 
> There a small bug in gitweb html validation, you need the following patch to
> pass w3c check with searchbox enabled.
> 
> The problem lies in the input directly embed inside a form without a wrapper
> which is not valid.
>

I agree this is a small bug. Only block level elements are
allowed to be inside form tags, according to
https://www.w3.org/2010/04/xhtml10-strict.html#elem_form

> Best regards
> 
> The following patch fix the issue for git-2.10.2 :
> --- /usr/share/gitweb/gitweb.cgi.orig   2016-11-15 15:37:21.149805026 +0100
> +++ /usr/share/gitweb/gitweb.cgi2016-11-15 15:37:48.579240429 +0100
> @@ -5518,6 +5518,7 @@ sub git_project_search_form {
> 
> print "\n";
> print $cgi->start_form(-method => 'get', -action => $my_uri) .
> + ''.
>   $cgi->hidden(-name => 'a', -value => 'project_list')  . "\n";
> print $cgi->hidden(-name => 'pf', -value => $project_filter). "\n"
> if (defined $project_filter);
> @@ -5529,6 +5530,7 @@ sub git_project_search_form {
>  -checked => $search_use_regexp) .
>   "\n" .
>   $cgi->submit(-name => 'btnS', -value => 'Search') .
> + ''.
>   $cgi->end_form() . "\n" .
>   $cgi->a({-href => href(project => undef, searchtext => undef,
>  project_filter => $project_filter)},

I think it's better to just move the -Tag outside of the
surrounding div?
Something like this perhaps, I didn't test it myself yet.

diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 7cf68f07b..33d7c154f 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -5531,8 +5531,8 @@ sub git_project_search_form {
$limit = " in '$project_filter/'";
}
 
-   print "\n";
print $cgi->start_form(-method => 'get', -action => $my_uri) .
+ "\n" .
  $cgi->hidden(-name => 'a', -value => 'project_list')  . "\n";
print $cgi->hidden(-name => 'pf', -value => $project_filter). "\n"
if (defined $project_filter);
@@ -5544,11 +5544,11 @@ sub git_project_search_form {
 -checked => $search_use_regexp) .
  "\n" .
  $cgi->submit(-name => 'btnS', -value => 'Search') .
- $cgi->end_form() . "\n" .
  $cgi->a({-href => href(project => undef, searchtext => undef,
 project_filter => $project_filter)},
  esc_html("List all projects$limit")) . "\n";
-   print "\n";
+   print "\n" .
+ $cgi->end_form() . "\n";
 }
 
 # entry for given @keys needs filling if at least one of keys in list
diff --git a/gitweb/static/gitweb.css b/gitweb/static/gitweb.css
index 321260103..507740b6a 100644
--- a/gitweb/static/gitweb.css
+++ b/gitweb/static/gitweb.css
@@ -539,7 +539,7 @@ div.projsearch {
margin: 20px 0px;
 }
 
-div.projsearch form {
+form div.projsearch {
margin-bottom: 2px;
 }
 



[PATCH] fetch-pack.c: correct command at the beginning of an error message

2016-11-11 Thread Ralf Thielow
One error message in fetch-pack.c uses 'git fetch_pack' at the beginning
which is not a git command.  Use 'git fetch-pack' instead.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 fetch-pack.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fetch-pack.c b/fetch-pack.c
index cb45c346e..601f0779a 100644
--- a/fetch-pack.c
+++ b/fetch-pack.c
@@ -240,7 +240,7 @@ static enum ack_type get_ack(int fd, unsigned char 
*result_sha1)
return ACK;
}
}
-   die(_("git fetch_pack: expected ACK/NAK, got '%s'"), line);
+   die(_("git fetch-pack: expected ACK/NAK, got '%s'"), line);
 }
 
 static void send_request(struct fetch_pack_args *args,
-- 
2.11.0.rc0.151.gf7463a1



[PATCH v2] l10n: de.po: translate 260 new messages

2016-10-07 Thread Ralf Thielow
Translate 260 new message came from git.pot updates in 9fa976f (l10n:
git.pot: v2.10.0 round 1 (248 new, 56 removed)) and 5bd166d (l10n:
git.pot: v2.10.0 round 2 (12 new, 44 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 783 ++-
 1 file changed, 421 insertions(+), 362 deletions(-)

diff --git a/po/de.po b/po/de.po
index e1865c6ca..0755cdf6c 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,72 +14,60 @@ msgstr ""
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: advice.c:55
 #, c-format
 msgid "hint: %.*s\n"
 msgstr "Hinweis: %.*s\n"
 
 #: advice.c:83
-#, fuzzy
 msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Cherry-Picken ist nicht möglich, weil Sie nicht zusammengeführte 
Dateien haben."
 
 #: advice.c:85
-#, fuzzy
 msgid "Committing is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Committen ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:87
-#, fuzzy
 msgid "Merging is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Mergen ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:89
-#, fuzzy
 msgid "Pulling is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Pullen ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:91
-#, fuzzy
 msgid "Reverting is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Reverten ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:93
-#, fuzzy, c-format
+#, c-format
 msgid "It is not possible to %s because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "%s ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
 #: advice.c:101
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm '\n"
 "as appropriate to mark resolution and make a commit."
 msgstr ""
 "Korrigieren Sie dies im Arbeitsverzeichnis, und benutzen Sie\n"
 "dann 'git add/rm ', um die Auflösung entsprechend zu markieren\n"
 "und zu committen."
 
 #: advice.c:109
-#, fuzzy
 msgid "Exiting because of an unresolved conflict."
-msgstr "Beende wegen nicht abgeschlossenem Merge."
+msgstr "Beende wegen unaufgelöstem Konflikt."
 
 #: advice.c:114 builtin/merge.c:1181
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)."
 
 #: advice.c:116
 msgid "Please, commit your changes before merging."
 msgstr "Bitte committen Sie Ihre Änderungen, bevor Sie mergen."
 
 #: advice.c:117
 msgid "Exiting because of unfinished merge."
 msgstr "Beende wegen nicht abgeschlossenem Merge."
@@ -90,24 +78,38 @@ msgid ""
 "Note: checking out '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
 "state without impacting any branches by performing another checkout.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
 "do so (now or later) by using -b with the checkout command again. Example:\n"
 "\n"
 "  git checkout -b \n"
 "\n"
 msgstr ""
+"Hinweis: Checke '%s' aus.\n"
+"\n"
+"Sie befinden sich im Zustand eines 'lösgelösten HEAD'. Sie können sich\n"
+"umschauen, experimentelle Änderungen vornehmen und diese committen, und\n"
+"Sie können alle möglichen Commits, die Sie in diesem Zustand machen,\n"
+"ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie einen\n"
+"weiteren Checkout durchführen.\n"
+"\n"
+"Wenn Sie einen neuen

Re: [PATCH] l10n: de.po: translate 260 new messages

2016-10-04 Thread Ralf Thielow
Hi Matthias,

thanks for review!  Your findings and suggestions are very good and
I will integrate them in a new version.

2016-10-03 0:23 GMT+02:00 Matthias Rüster :
>>  #: builtin/merge.c:960
>>  #, c-format
>>  msgid "Bad value '%s' in environment '%s'"
>> -msgstr ""
>> +msgstr "Fehlerhafter Wert '%s' in Umgebungsvariable '%s'"
>
> I do not know the context but I would translate it to:
> "... Umgebung '%s'"
>

That was my first translation, too.  Then I was wondering what environment
can Git even mean and looked at the sources.  It turned out it really is
about an environment variable.

>
>>  #: git-rebase--interactive.sh:147
>>  msgid ""
>>  "\n"
>>  "Commands:\n"
>>  " p, pick = use commit\n"
>>  " r, reword = use commit, but edit the commit message\n"
>>  " e, edit = use commit, but stop for amending\n"
>>  " s, squash = use commit, but meld into previous commit\n"
>>  " f, fixup = like \"squash\", but discard this commit's log message\n"
>>  " x, exec = run command (the rest of the line) using shell\n"
>>  " d, drop = remove commit\n"
>>  "\n"
>>  "These lines can be re-ordered; they are executed from top to bottom.\n"
>>  msgstr ""
>> +"\n"
>> +"Befehle:\n"
>> +" p, pick = Commit verwenden\n"
>> +" r, reword = Commit verwenden, aber Commit-Beschreibung bearbeiten\n"
>> +" e, edit = Commit verwenden, aber zum Nachbessern anhalten\n"
>> +" s, squash = Commit verwenden, aber mit vorherigem Commit vereinen\n"
>> +" f, fixup = wie \"squash\", aber die Log-Nachricht des Commits verwerden\n"
>> +" x, exec = Befehl (Rest der Zeile) mittels Shell ausführen\n"
>> +" d, drop = Commit entfernen\n"
>> +"\n"
>> +"Diese Zeilen können umsortiert werden; Sie werden von oben nach unten\n"
>> +"ausgeführt.\n"
>
> In my opinion fixup needs a more detailed description here.
> Something like:
>
> "fixup: wie \"squash\", aber die Commit-Beschreibung vom Vorgänger
> verwenden\n".
>
> or:
>
> "fixup: wie \"squash\", aber diese Commit-Beschreibung verwerfen\n".
>

I think this one is the correct translation.  The first can be
confusing or wrong
when there are squashes before, I think.

Thanks!

Ralf


[PATCH] l10n: de.po: translate 260 new messages

2016-10-02 Thread Ralf Thielow
Translate 260 new message came from git.pot updates in 9fa976f (l10n:
git.pot: v2.10.0 round 1 (248 new, 56 removed)) and 5bd166d (l10n:
git.pot: v2.10.0 round 2 (12 new, 44 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 783 ++-
 1 file changed, 421 insertions(+), 362 deletions(-)

diff --git a/po/de.po b/po/de.po
index e1865c6..4415c0d 100644
--- a/po/de.po
+++ b/po/de.po
@@ -14,72 +14,60 @@ msgstr ""
 "Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n!=1);\n"
 
 #: advice.c:55
 #, c-format
 msgid "hint: %.*s\n"
 msgstr "Hinweis: %.*s\n"
 
 #: advice.c:83
-#, fuzzy
 msgid "Cherry-picking is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Cherry-Picken ist nicht möglich, weil Sie nicht zusammengeführte 
Dateien haben."
 
 #: advice.c:85
-#, fuzzy
 msgid "Committing is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Committen ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:87
-#, fuzzy
 msgid "Merging is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Mergen ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:89
-#, fuzzy
 msgid "Pulling is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Pullen ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:91
-#, fuzzy
 msgid "Reverting is not possible because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "Reverten ist nicht möglich, weil Sie nicht zusammengeführte Dateien 
haben."
 
 #: advice.c:93
-#, fuzzy, c-format
+#, c-format
 msgid "It is not possible to %s because you have unmerged files."
-msgstr ""
-"\"pull\" ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
+msgstr "%s ist nicht möglich, weil Sie nicht zusammengeführte Dateien haben."
 
 #: advice.c:101
 msgid ""
 "Fix them up in the work tree, and then use 'git add/rm '\n"
 "as appropriate to mark resolution and make a commit."
 msgstr ""
 "Korrigieren Sie dies im Arbeitsverzeichnis, und benutzen Sie\n"
 "dann 'git add/rm ', um die Auflösung entsprechend zu markieren\n"
 "und zu committen."
 
 #: advice.c:109
-#, fuzzy
 msgid "Exiting because of an unresolved conflict."
-msgstr "Beende wegen nicht abgeschlossenem Merge."
+msgstr "Beende wegen unaufgelöstem Konflikt."
 
 #: advice.c:114 builtin/merge.c:1181
 msgid "You have not concluded your merge (MERGE_HEAD exists)."
 msgstr "Sie haben Ihren Merge nicht abgeschlossen (MERGE_HEAD existiert)."
 
 #: advice.c:116
 msgid "Please, commit your changes before merging."
 msgstr "Bitte committen Sie Ihre Änderungen, bevor Sie mergen."
 
 #: advice.c:117
 msgid "Exiting because of unfinished merge."
 msgstr "Beende wegen nicht abgeschlossenem Merge."
@@ -90,24 +78,38 @@ msgid ""
 "Note: checking out '%s'.\n"
 "\n"
 "You are in 'detached HEAD' state. You can look around, make experimental\n"
 "changes and commit them, and you can discard any commits you make in this\n"
 "state without impacting any branches by performing another checkout.\n"
 "\n"
 "If you want to create a new branch to retain commits you create, you may\n"
 "do so (now or later) by using -b with the checkout command again. Example:\n"
 "\n"
 "  git checkout -b \n"
 "\n"
 msgstr ""
+"Hinweis: Checke '%s' aus.\n"
+"\n"
+"Sie befinden sich im Zustand eines 'lösgelösten HEAD'. Sie können sich\n"
+"umschauen, experimentelle Änderungen vornehmen und diese committen, und\n"
+"Sie können alle möglichen Commits, die Sie in diesem Zustand machen,\n"
+"ohne Auswirkungen auf irgendeinen Branch verwerfen, indem Sie einen\n"
+"weiteren Checkout durchführen.\n"
+"\n"
+"Wenn Sie einen neuen Branch

Re: [PATCH v2] rebase -i: improve advice on bad instruction lines

2016-09-07 Thread Ralf Thielow
2016-09-07 11:28 GMT+02:00 Dennis Kaarsemaker :
> Hi Ralf,
>
> There are quite a few patch series in flight these days around
> interactive rebase. Have you checked for conflicts with those?
>

Thanks. I did not check against 'pu' when I created this patch but I'm able
to apply without any conflicts.


Re: Bug? ran into a "fatal" using interactive rebase

2016-09-07 Thread Ralf Thielow
2016-09-07 17:19 GMT+02:00 Johannes Schindelin :
>
> So, something like this should help (if you are interested in seeing this
> patch included, please run with it, as I am running short on time):
>
> -- snipsnap --
> diff --git a/wt-status.c b/wt-status.c
> index 6225a2d..8e4d999 100644
> --- a/wt-status.c
> +++ b/wt-status.c
> @@ -1072,14 +1072,17 @@ static void abbrev_sha1_in_line(struct strbuf *line)
> strbuf_list_free(split);
>  }
>
> -static void read_rebase_todolist(const char *fname, struct string_list 
> *lines)
> +static void read_rebase_todolist(const char *fname, struct string_list 
> *lines, int gently)
>  {
> struct strbuf line = STRBUF_INIT;
> FILE *f = fopen(git_path("%s", fname), "r");
>
> -   if (!f)
> +   if (!f) {
> +   if (gently)
> +   return;
> die_errno("Could not open file %s for reading",
>   git_path("%s", fname));
> +   }
> while (!strbuf_getline_lf(, f)) {
> if (line.len && line.buf[0] == comment_line_char)
> continue;
> @@ -1102,8 +1105,8 @@ static void show_rebase_information(struct wt_status *s,
> struct string_list have_done = STRING_LIST_INIT_DUP;
> struct string_list yet_to_do = STRING_LIST_INIT_DUP;
>
> -   read_rebase_todolist("rebase-merge/done", _done);
> -   read_rebase_todolist("rebase-merge/git-rebase-todo",
> _to_do);
> +   read_rebase_todolist("rebase-merge/done", _done, 1);
> +   read_rebase_todolist("rebase-merge/git-rebase-todo", 
> _to_do, 0);
>
> if (have_done.nr == 0)
> status_printf_ln(s, color, _("No commands done."));
>
>

That works for me. Thanks.


[PATCH v2] rebase -i: improve advice on bad instruction lines

2016-09-06 Thread Ralf Thielow
If we found bad instruction lines in the instruction sheet
of interactive rebase, we give the user advice on how to
fix it.  However, we don't tell the user what to do afterwards.
Give the user advice to run 'git rebase --continue' after
the fix.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
Changes in v2:
- adjust tests

 git-rebase--interactive.sh| 2 +-
 t/t3404-rebase-interactive.sh | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index b1ba21c..029594e 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1041,7 +1041,7 @@ The possible behaviours are: ignore, warn, error.")"
# placed before the commit of the next action
checkout_onto
 
-   warn "$(gettext "You can fix this with 'git rebase 
--edit-todo'.")"
+   warn "$(gettext "You can fix this with 'git rebase --edit-todo' 
and then run 'git rebase --continue'.")"
die "$(gettext "Or you can abort the rebase with 'git rebase 
--abort'.")"
fi
 }
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 597e94e..e38e296 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -1195,7 +1195,7 @@ To avoid this message, use "drop" to explicitly remove a 
commit.
 Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
 The possible behaviours are: ignore, warn, error.
 
-You can fix this with 'git rebase --edit-todo'.
+You can fix this with 'git rebase --edit-todo' and then run 'git rebase 
--continue'.
 Or you can abort the rebase with 'git rebase --abort'.
 EOF
 
@@ -1219,7 +1219,7 @@ cat >expect <expect <

Re: [PATCH] rebase -i: improve advice on bad instruction lines

2016-09-06 Thread Ralf Thielow
2016-09-06 20:08 GMT+02:00 Ralf Thielow <ralf.thie...@gmail.com>:
> -   warn "$(gettext "You can fix this with 'git rebase 
> --edit-todo'.")"
> +   warn "$(gettext "You can fix this with 'git rebase 
> --edit-todo' and then run 'git rebase --continue'.")"
> die "$(gettext "Or you can abort the rebase with 'git rebase 
> --abort'.")"

Please don't apply as is. There are some test failures due to the text change.
I'll send an updated version.


[PATCH] rebase -i: improve advice on bad instruction lines

2016-09-06 Thread Ralf Thielow
If we found bad instruction lines in the instruction sheet
of interactive rebase, we give the user advice on how to
fix it.  However, we don't tell the user what to do afterwards.
Give the user advice to run 'git rebase --continue' after
the fix.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 git-rebase--interactive.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index b1ba21c..029594e 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1041,7 +1041,7 @@ The possible behaviours are: ignore, warn, error.")"
# placed before the commit of the next action
checkout_onto
 
-   warn "$(gettext "You can fix this with 'git rebase 
--edit-todo'.")"
+   warn "$(gettext "You can fix this with 'git rebase --edit-todo' 
and then run 'git rebase --continue'.")"
die "$(gettext "Or you can abort the rebase with 'git rebase 
--abort'.")"
fi
 }
-- 
2.10.0.304.gf2ff484



Bug? ran into a "fatal" using interactive rebase

2016-09-06 Thread Ralf Thielow
Hi,

today I accidentally triggered a "fatal" using interactive rebase.

If you edit the instruction sheet after 'rebase -i' and add an unknown
command, Git stops because it doesn't know the command.
That's fine, however, now we are in a state where 'git status' fails with

interactive rebase in progress; onto 311f279
fatal: Could not open file .git/rebase-merge/done for reading: No such
file or directory

After finishing the interactive rebase, things are fixed.  Looks like a
special case that isn't handled well, yet.

My Git version is the current 'next' branch.

Ralf


Re: [PATCH v2 2/3] help: introduce option --exclude-guides

2016-08-26 Thread Ralf Thielow
2016-08-26 22:20 GMT+02:00 Junio C Hamano :
>
> Because the whole thing is inside a double-quote pair, $() and $name
> are all interpolated even before test_expect_success is called.
> So the above becomes equivalent to
>
>>> test_expect_success "two commits do not have the same ID" '
>>> git commit --allow-empty -m first &&
>>> one=5cb0d5ad05e027cbddcb0a3c7518ddeea0f7c286 &&
>>> test_tick &&
>>> git commit --allow-empty -m second &&
>>> two=5cb0d5ad05e027cbddcb0a3c7518ddeea0f7c286 &&
>>> test !=
>>> '
>

I got it, thanks.  My understanding in when a part is being interpreted
was obviously very wrong.  Thanks again!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 2/3] help: introduce option --exclude-guides

2016-08-26 Thread Ralf Thielow
2016-08-26 21:42 GMT+02:00 Junio C Hamano :
> Junio C Hamano  writes:
>
>
> Taking all of these together, I'll queue this as a proposed fix-up
> directly on top of yours.
>

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 2/3] help: introduce option --exclude-guides

2016-08-26 Thread Ralf Thielow
2016-08-26 21:06 GMT+02:00 Junio C Hamano <gits...@pobox.com>:
> Ralf Thielow <ralf.thie...@gmail.com> writes:
>
>> Introduce option --exclude-guides to the help command.  With this option
>> being passed, "git help" will open man pages only for actual commands.
>
> Let's hide this option from command help of "git help" itself, drop
> the short-and-sweet "-e", not command-line complete it, and leave it
> not-mentioned here.
>
> It is a different story if this option would really help the end
> users, but I do not think that is the case.  If this were to face
> the end users properly, we would need to worry about making sure
> that "git help -g -e" would error out, and getting all the other
> possible corner cases right.  I do not think the amount of effort
> required to do so (even the "trying to enumerate what other possible
> corner cases there may be" part) is worth it.
>

I'm fine with that as the reason for me was just a "why not?", and
you just gave the reason to not do this. Thanks

>> In the test script we do two things I'd like to point out:
>>
>>> +   test_config help.htmlpath test://html &&
>>
>> As we pass a URL, Git won't check if the given path looks like
>> a documentation directory.  Another solution would be to create
>> a directory, add a file "git.html" to it and just use this path.
>
> I think this is OK; with s|As we pass a URL|As we pass a string with
> :// in it|, the first sentence can be a in-code comment in the test
> that does this and will help readers of the code in the future.
>

Hmm. The "://" is really a URL thing. That's why it's in the code, no?
The code may have some room for improvements in checking for
URLs.

>>> +   test_config help.browser firefox
>>
>> Git checks if the browser is known, so the "test-browser" needs to
>> pretend it is one of them.
>
> Are you talking about the hardcoded list in valid_tool() helper
> function in git-web--browse.sh?  If we use the established escape
> hatch implemented by valid_custom_tool() helper there by setting
> browser.*.cmd, would that be sufficient to work around the "Git
> checks if the browser is known"?
>
>> diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
>> index 40d328a..eeb1950 100644
>> --- a/Documentation/git-help.txt
>> +++ b/Documentation/git-help.txt
>> @@ -8,7 +8,7 @@ git-help - Display help information about Git
>>  SYNOPSIS
>>  
>>  [verse]
>> -'git help' [-a|--all] [-g|--guide]
>> +'git help' [-a|--all] [-e|--exclude-guides] [-g|--guide]
>>  [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
>
> So, let's not do this.
>
>> diff --git a/builtin/help.c b/builtin/help.c
>> index e8f79d7..40901a9 100644
>> --- a/builtin/help.c
>> +++ b/builtin/help.c
>> @@ -37,8 +37,10 @@ static int show_all = 0;
>>  static int show_guides = 0;
>>  static unsigned int colopts;
>>  static enum help_format help_format = HELP_FORMAT_NONE;
>> +static int exclude_guides;
>>  static struct option builtin_help_options[] = {
>>   OPT_BOOL('a', "all", _all, N_("print all available commands")),
>> + OPT_BOOL('e', "exclude-guides", _guides, N_("exclude guides")),
>
> So I'd suggest using PARSE_OPT_HIDDEN for this one and drop 'e' shorthand.
> The only caller of this mode does not use it.
>
>> diff --git a/contrib/completion/git-completion.bash 
>> b/contrib/completion/git-completion.bash
>> index c1b2135..b148164 100644
>> --- a/contrib/completion/git-completion.bash
>> +++ b/contrib/completion/git-completion.bash
>> @@ -1393,7 +1393,7 @@ _git_help ()
>>  {
>>   case "$cur" in
>>   --*)
>> - __gitcomp "--all --guides --info --man --web"
>> + __gitcomp "--all --exclude-guides --guides --info --man --web"
>>   return
>>   ;;
>>   esac
>
> So, let's not do this.
>
>> diff --git a/t/t0012-help.sh b/t/t0012-help.sh
>> new file mode 100755
>> index 000..fb1abd7
>> --- /dev/null
>> +++ b/t/t0012-help.sh
>> @@ -0,0 +1,33 @@
>> +#!/bin/sh
>> +
>> +test_description='help'
>> +
>> +. ./test-lib.sh
>> +
>> +configure_help () {
>> + test_config help.format html &&
>> + test_config help.htmlpath test://html &&
>> + test_config help.browser firefox
>> +}
>
> Would replacing the last line with:
>
> test

[PATCH v2 0/3] help: make option --help open man pages only for Git commands

2016-08-26 Thread Ralf Thielow
Changes in v2 are:
- add a patch from Dscho to make config variable 'help.browser' work on Windows 
again
- rename option "--command-only" to "--exclude-guides" which is less ambiguous 
in 'help' context
- improve test script
- refactor usage of argv_array in handle_builtin

Johannes Schindelin (1):
  Revert "display HTML in default browser using Windows' shell API"

Ralf Thielow (2):
  help: introduce option --exclude-guides
  help: make option --help open man pages only for Git commands

 Documentation/git-help.txt | 11 ++---
 builtin/help.c | 37 ++
 compat/mingw.c | 42 --
 compat/mingw.h |  3 ---
 contrib/completion/git-completion.bash |  2 +-
 git.c  | 15 +++-
 t/t0012-help.sh| 41 +
 7 files changed, 87 insertions(+), 64 deletions(-)
 create mode 100755 t/t0012-help.sh

-- 
2.9.2.912.gd0c0e83

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 1/3] Revert "display HTML in default browser using Windows' shell API"

2016-08-26 Thread Ralf Thielow
From: Johannes Schindelin <johannes.schinde...@gmx.de>

Since 4804aab (help (Windows): Display HTML in default browser using
Windows' shell API, 2008-07-13), Git for Windows used to call
`ShellExecute()` to launch the default Windows handler for `.html`
files.

The idea was to avoid going through a shell script, for performance
reasons.

However, this change ignores the `help.browser` config setting. Together
with browsing help not being a performance-critical operation, let's
just revert that patch.

Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 builtin/help.c |  7 ---
 compat/mingw.c | 42 --
 compat/mingw.h |  3 ---
 3 files changed, 52 deletions(-)

diff --git a/builtin/help.c b/builtin/help.c
index 8848013..e8f79d7 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -379,17 +379,10 @@ static void get_html_page_path(struct strbuf *page_path, 
const char *page)
free(to_free);
 }
 
-/*
- * If open_html is not defined in a platform-specific way (see for
- * example compat/mingw.h), we use the script web--browse to display
- * HTML.
- */
-#ifndef open_html
 static void open_html(const char *path)
 {
execl_git_cmd("web--browse", "-c", "help.browser", path, (char *)NULL);
 }
-#endif
 
 static void show_html_page(const char *git_cmd)
 {
diff --git a/compat/mingw.c b/compat/mingw.c
index 2b5467d..3fbfda5 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1930,48 +1930,6 @@ int mingw_raise(int sig)
}
 }
 
-
-static const char *make_backslash_path(const char *path)
-{
-   static char buf[PATH_MAX + 1];
-   char *c;
-
-   if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX)
-   die("Too long path: %.*s", 60, path);
-
-   for (c = buf; *c; c++) {
-   if (*c == '/')
-   *c = '\\';
-   }
-   return buf;
-}
-
-void mingw_open_html(const char *unixpath)
-{
-   const char *htmlpath = make_backslash_path(unixpath);
-   typedef HINSTANCE (WINAPI *T)(HWND, const char *,
-   const char *, const char *, const char *, INT);
-   T ShellExecute;
-   HMODULE shell32;
-   int r;
-
-   shell32 = LoadLibrary("shell32.dll");
-   if (!shell32)
-   die("cannot load shell32.dll");
-   ShellExecute = (T)GetProcAddress(shell32, "ShellExecuteA");
-   if (!ShellExecute)
-   die("cannot run browser");
-
-   printf("Launching default browser to display HTML ...\n");
-   r = HCAST(int, ShellExecute(NULL, "open", htmlpath,
-   NULL, "\\", SW_SHOWNORMAL));
-   FreeLibrary(shell32);
-   /* see the MSDN documentation referring to the result codes here */
-   if (r <= 32) {
-   die("failed to launch browser for %.*s", MAX_PATH, unixpath);
-   }
-}
-
 int link(const char *oldpath, const char *newpath)
 {
typedef BOOL (WINAPI *T)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
diff --git a/compat/mingw.h b/compat/mingw.h
index 95e128f..2cadb81 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -417,9 +417,6 @@ int mingw_offset_1st_component(const char *path);
 #include 
 #endif
 
-void mingw_open_html(const char *path);
-#define open_html mingw_open_html
-
 /**
  * Converts UTF-8 encoded string to UTF-16LE.
  *
-- 
2.9.2.912.gd0c0e83

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 3/3] help: make option --help open man pages only for Git commands

2016-08-26 Thread Ralf Thielow
If option --help is passed to a Git command, we try to open
the man page of that command.  However, we do it for both commands
and concepts.  Make sure it is an actual command.

This makes "git  --help" not working anymore, while
"git help " still works.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 Documentation/git-help.txt |  5 +++--
 git.c  | 15 ++-
 t/t0012-help.sh|  8 
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index eeb1950..8d21e9f 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -29,8 +29,9 @@ guide is brought up. The 'man' program is used by default for 
this
 purpose, but this can be overridden by other options or configuration
 variables.
 
-Note that `git --help ...` is identical to `git help ...` because the
-former is internally converted into the latter.
+Note that `git --help ...` is almost identical to `git help ...` because
+the former is internally converted into the latter with option --exclude-guides
+being added.
 
 To display the linkgit:git[1] man page, use `git help git`.
 
diff --git a/git.c b/git.c
index 0f1937f..1c61151 100644
--- a/git.c
+++ b/git.c
@@ -522,21 +522,34 @@ static void strip_extension(const char **argv)
 
 static void handle_builtin(int argc, const char **argv)
 {
+   struct argv_array args = ARGV_ARRAY_INIT;
const char *cmd;
struct cmd_struct *builtin;
 
strip_extension(argv);
cmd = argv[0];
 
-   /* Turn "git cmd --help" into "git help cmd" */
+   /* Turn "git cmd --help" into "git help --exclude-guides cmd" */
if (argc > 1 && !strcmp(argv[1], "--help")) {
+   int i;
+
argv[1] = argv[0];
argv[0] = cmd = "help";
+
+   for (i = 0; i < argc; i++) {
+   argv_array_push(, argv[i]);
+   if (!i)
+   argv_array_push(, "--exclude-guides");
+   }
+
+   argc++;
+   argv = args.argv;
}
 
builtin = get_builtin(cmd);
if (builtin)
exit(run_builtin(builtin, argc, argv));
+   argv_array_clear();
 }
 
 static void execv_dashed_external(const char **argv)
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
index fb1abd7..2b90947 100755
--- a/t/t0012-help.sh
+++ b/t/t0012-help.sh
@@ -30,4 +30,12 @@ test_expect_success "--exclude-guides does not work for 
guides" "
test_i18ncmp expected actual
 "
 
+test_expect_success "--help does not work for guides" "
+   cat <<-EOF >expected &&
+   git: 'revisions' is not a git command. See 'git --help'.
+   EOF
+   test_must_fail git revisions --help 2>actual &&
+   test_i18ncmp expected actual
+"
+
 test_done
-- 
2.9.2.912.gd0c0e83

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 2/3] help: introduce option --exclude-guides

2016-08-26 Thread Ralf Thielow
Introduce option --exclude-guides to the help command.  With this option
being passed, "git help" will open man pages only for actual commands.

Since we know it is a command, we can use function help_unknown_command
to give the user advice on typos.

Helped-by: Johannes Schindelin <johannes.schinde...@gmx.de>
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
In the test script we do two things I'd like to point out:

> +   test_config help.htmlpath test://html &&

As we pass a URL, Git won't check if the given path looks like
a documentation directory.  Another solution would be to create
a directory, add a file "git.html" to it and just use this path.

> +   test_config help.browser firefox

Git checks if the browser is known, so the "test-browser" needs to
pretend it is one of them.

 Documentation/git-help.txt |  6 +-
 builtin/help.c | 30 +++---
 contrib/completion/git-completion.bash |  2 +-
 t/t0012-help.sh| 33 +
 4 files changed, 62 insertions(+), 9 deletions(-)
 create mode 100755 t/t0012-help.sh

diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 40d328a..eeb1950 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -8,7 +8,7 @@ git-help - Display help information about Git
 SYNOPSIS
 
 [verse]
-'git help' [-a|--all] [-g|--guide]
+'git help' [-a|--all] [-e|--exclude-guides] [-g|--guide]
   [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
 
 DESCRIPTION
@@ -43,6 +43,10 @@ OPTIONS
Prints all the available commands on the standard output. This
option overrides any given command or guide name.
 
+-e::
+--exclude-guides::
+   Do not show help for guides.
+
 -g::
 --guides::
Prints a list of useful guides on the standard output. This
diff --git a/builtin/help.c b/builtin/help.c
index e8f79d7..40901a9 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -37,8 +37,10 @@ static int show_all = 0;
 static int show_guides = 0;
 static unsigned int colopts;
 static enum help_format help_format = HELP_FORMAT_NONE;
+static int exclude_guides;
 static struct option builtin_help_options[] = {
OPT_BOOL('a', "all", _all, N_("print all available commands")),
+   OPT_BOOL('e', "exclude-guides", _guides, N_("exclude guides")),
OPT_BOOL('g', "guides", _guides, N_("print list of useful 
guides")),
OPT_SET_INT('m', "man", _format, N_("show man page"), 
HELP_FORMAT_MAN),
OPT_SET_INT('w', "web", _format, N_("show manual in web browser"),
@@ -426,10 +428,29 @@ static void list_common_guides_help(void)
putchar('\n');
 }
 
+static const char *check_git_cmd(const char* cmd)
+{
+   char *alias;
+
+   if (is_git_command(cmd))
+   return cmd;
+
+   alias = alias_lookup(cmd);
+   if (alias) {
+   printf_ln(_("`git %s' is aliased to `%s'"), cmd, alias);
+   free(alias);
+   exit(0);
+   }
+
+   if (exclude_guides)
+   return help_unknown_cmd(cmd);
+
+   return cmd;
+}
+
 int cmd_help(int argc, const char **argv, const char *prefix)
 {
int nongit;
-   char *alias;
enum help_format parsed_help_format;
 
argc = parse_options(argc, argv, prefix, builtin_help_options,
@@ -469,12 +490,7 @@ int cmd_help(int argc, const char **argv, const char 
*prefix)
if (help_format == HELP_FORMAT_NONE)
help_format = parse_help_format(DEFAULT_HELP_FORMAT);
 
-   alias = alias_lookup(argv[0]);
-   if (alias && !is_git_command(argv[0])) {
-   printf_ln(_("`git %s' is aliased to `%s'"), argv[0], alias);
-   free(alias);
-   return 0;
-   }
+   argv[0] = check_git_cmd(argv[0]);
 
switch (help_format) {
case HELP_FORMAT_NONE:
diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index c1b2135..b148164 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1393,7 +1393,7 @@ _git_help ()
 {
case "$cur" in
--*)
-   __gitcomp "--all --guides --info --man --web"
+   __gitcomp "--all --exclude-guides --guides --info --man --web"
return
;;
esac
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
new file mode 100755
index 000..fb1abd7
--- /dev/null
+++ b/t/t0012-help.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+test_description='help'
+
+. ./test-lib.sh
+
+configure_help () {
+   test_config help.format html &&
+   test_config help.htmlpath test://html &&
+   test_config help.browser firefox 
+}
+
+test_expect_su

Re: [PATCH 1/2] help: introduce option --command-only

2016-08-23 Thread Ralf Thielow
2016-08-19 10:32 GMT+02:00 Johannes Schindelin :

> So how about fixing that? I would suggest to do it this way:
>
> - configure help.format = html (for "man", the current code would always
>   add $(prefix)/share/man to the MANPATH when testing, not what we want,
>   and hacking this code *just* for testing is both ugly and unnecessary).
>
> - configure help.htmlpath to point to a subdirectory that is created and
>   populated in the same test script.
>
> - configure help.browser to point to a script that is created in the same
>   script and whose output we can verify, too.
>
> The last point actually requires a patch that was recently introduced into
> Git for Windows [*1*] (and that did not make it upstream yet) which
> reverts that change whereby web--browse was sidestepped. That sidestepping
> was well-intentioned but turned out to cause more harm than good.
>

So I'll pickup the patch you sent [1] to my series and prepare the test cases
the way you described to verify that the 'help' command works.

Thanks!

[1]
http://public-inbox.org/git/03ae6a9d47cb95a54960bfdc90c5392f890ff1e3.1471595956.git.johannes.schinde...@gmx.de/
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/2] help: introduce option --command-only

2016-08-23 Thread Ralf Thielow
2016-08-19 10:39 GMT+02:00 Remi Galan Alfonso
<remi.galan-alfo...@ensimag.grenoble-inp.fr>:
> Hi Ralf,
>
> Ralf Thielow <ralf.thie...@gmail.com> writes:
>> [...]
>> +test_expect_success "works for commands and guides by default" "
>> +git help status &&
>> +git help revisions
>> +"
>> +
>> +test_expect_success "--command-only does not work for guides" "
>> +git help --command-only status &&
>> +cat <<-EOF >expected &&
>> +git: 'revisions' is not a git command. See 'git --help'.
>> +EOF
>> +(git help --command-only revisions 2>actual || true) &&
>
> I think you want to use
>   `test_must_fail git help --command-only revisions 2>actual`
> here to make sure that the command does fail.
>

Thanks!

> Thanks,
> Rémi
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/2] help: make option --help open man pages only for Git commands

2016-08-23 Thread Ralf Thielow
Sorry for being late in responding. It's been busy days.

2016-08-18 21:51 GMT+02:00 Junio C Hamano <gits...@pobox.com>:
> Ralf Thielow <ralf.thie...@gmail.com> writes:
>
> The same comment applies to 1/2, too, in that the word "command"
> will be interpreted differently by different people.  For example,
> "git co --help" and "git help co" would work, with or without 1/2 in
> place when you have "[alias] co = checkout", so we are calling "Git
> subcommands that we ship, custom commands 'git-$foo' the users have
> in their $PATH, and aliases the users create" collectively "command".
>
> As long as the reader understands that definition, both the log
> messages of 1/2 and 2/2 _and_ the updated description for "git help"
> we have in 1/2 are all very clear.  I do not care too much about the
> commit log message, but we may want to think about the documentation
> a bit more.
>
> Here is what 1/2 adds to "git help" documentation:
>
> +Note that `git --help ...` is almost identical to `git help ...` because
> +the former is internally converted into the latter with option 
> --command-only
> +being added.
>
>  To display the linkgit:git[1] man page, use `git help git`.
>
> @@ -43,6 +44,10 @@ OPTIONS
> Prints all the available commands on the standard output. This
> option overrides any given command or guide name.
>
> +-c::
> +--command-only::
> +   Display help information only for commands.
> +
>
> First, I do not think a short form is unnecessary; the users are not
> expected to use that form, once they started typing "git help...".
> If we flip the polarity and call it --exclude-guides or something,
> would it make it less ambiguous?
>

Sure.  Since "command" is understood as both Git command
and guide in this context, the name --exclude-guides would describe the
behaviour of that option less ambiguous.  I'll rename it.

>> This breaks "git  --help" while "git help " still works.
>
> I wouldn't call that a breakage; "git everyday --help" shouldn't
> have worked in the first place.  It did something useful merely by
> accident ;-).
>

OK, I'll call it "doesn't work anymore".

>> diff --git a/git.c b/git.c
>> index 0f1937f..2cd2e06 100644
>> --- a/git.c
>> +++ b/git.c
>> @@ -528,10 +528,23 @@ static void handle_builtin(int argc, const char **argv)
>>   strip_extension(argv);
>>   cmd = argv[0];
>>
>> - /* Turn "git cmd --help" into "git help cmd" */
>> + /* Turn "git cmd --help" into "git help --command-only cmd" */
>>   if (argc > 1 && !strcmp(argv[1], "--help")) {
>> + struct argv_array args;
>> + int i;
>> +
>>   argv[1] = argv[0];
>>   argv[0] = cmd = "help";
>> +
>> + argv_array_init();
>> + for (i = 0; i < argc; i++) {
>> + argv_array_push(, argv[i]);
>> + if (!i)
>> + argv_array_push(, "--command-only");
>> + }
>> +
>> + argc++;
>> + argv = argv_array_detach();
>>   }
>>
>>   builtin = get_builtin(cmd);
>
> The code does this after it:
>
> if (builtin)
> exit(run_builtin(...));
>
> and returns.  If we didn't get builtin, we risk leaking args.argv
> here, but we assume argv[0] = cmd = "help" is always a builtin,
> which I think is a safe assumption, so the code is OK.  Static
> checkers that are only half intelligent may yell at you for not
> releasing the resources, though.  I wonder if it is worth doing
>
> static void handle_builtin(int argc, const char **argv)
> {
> struct argv_array args = ARGV_ARRAY_INIT;
> ...
> if (argc > 1 && !strcmp(argv[1], "--help")) {
> ...
> argv = args.argv;
> }
> builtin = get_builtin(cmd);
> if (builtin)
> exit(run_builtin(...));
> argv_array_clear();
> }
>
> to help unconfuse them.
>

I'll do it this way.

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] help: make option --help open man pages only for Git commands

2016-08-19 Thread Ralf Thielow
If option --help is passed to a Git command, we try to open
the man page of that command.  However, we do it even for commands
we don't know.  Make sure it is a Git command.

This breaks "git  --help" while "git help " still works.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 git.c   | 15 ++-
 t/t0012-help.sh |  8 
 2 files changed, 22 insertions(+), 1 deletion(-)

diff --git a/git.c b/git.c
index 0f1937f..2cd2e06 100644
--- a/git.c
+++ b/git.c
@@ -528,10 +528,23 @@ static void handle_builtin(int argc, const char **argv)
strip_extension(argv);
cmd = argv[0];
 
-   /* Turn "git cmd --help" into "git help cmd" */
+   /* Turn "git cmd --help" into "git help --command-only cmd" */
if (argc > 1 && !strcmp(argv[1], "--help")) {
+   struct argv_array args;
+   int i;
+
argv[1] = argv[0];
argv[0] = cmd = "help";
+
+   argv_array_init();
+   for (i = 0; i < argc; i++) {
+   argv_array_push(, argv[i]);
+   if (!i)
+   argv_array_push(, "--command-only");
+   }
+
+   argc++;
+   argv = argv_array_detach();
}
 
builtin = get_builtin(cmd);
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
index e20f907..81fec90 100755
--- a/t/t0012-help.sh
+++ b/t/t0012-help.sh
@@ -18,4 +18,12 @@ test_expect_success "--command-only does not work for 
guides" "
test_i18ncmp expected actual
 "
 
+test_expect_success "--help does not work for guides" "
+   cat <<-EOF >expected &&
+   git: 'revisions' is not a git command. See 'git --help'.
+   EOF
+   (git revisions --help 2>actual || true) &&
+   test_i18ncmp expected actual
+"
+
 test_done
-- 
2.9.2.912.gd0c0e83

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/2] help: make option --help open man pages only for Git commands

2016-08-18 Thread Ralf Thielow
In this version, one patch has been turned into two.  The first introduces the
option "command-only" to make 'help' only working for commands and additionally
give some nice help on typos.  The second makes option --help only work for 
actual
Git commands.

Ralf Thielow (2):
  help: introduce option --command-only
  help: make option --help open man pages only for Git commands

 Documentation/git-help.txt | 11 ---
 builtin/help.c | 30 +++---
 contrib/completion/git-completion.bash |  2 +-
 git.c  | 15 ++-
 t/t0012-help.sh| 29 +
 5 files changed, 75 insertions(+), 12 deletions(-)
 create mode 100755 t/t0012-help.sh

-- 
2.9.2.912.gd0c0e83

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] help: introduce option --command-only

2016-08-18 Thread Ralf Thielow
Introduce option --command-only to the help command.  With this option
being passed, "git help" will open man pages only for commands.

Since we know it is a command, we can use function help_unknown_command
to give the user advice on typos.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
I am not sure about the first test case, but I think it'd have
prevented me from making earlier mistakes of this change. That's
why I added it.
Just calling a git command that succeeds in a test isn't really
a check, so ... I dunno

 Documentation/git-help.txt | 11 ---
 builtin/help.c | 30 +++---
 contrib/completion/git-completion.bash |  2 +-
 t/t0012-help.sh| 21 +
 4 files changed, 53 insertions(+), 11 deletions(-)
 create mode 100755 t/t0012-help.sh

diff --git a/Documentation/git-help.txt b/Documentation/git-help.txt
index 40d328a..cf6a414 100644
--- a/Documentation/git-help.txt
+++ b/Documentation/git-help.txt
@@ -8,7 +8,7 @@ git-help - Display help information about Git
 SYNOPSIS
 
 [verse]
-'git help' [-a|--all] [-g|--guide]
+'git help' [-a|--all] [-c|--command-only] [-g|--guide]
   [-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
 
 DESCRIPTION
@@ -29,8 +29,9 @@ guide is brought up. The 'man' program is used by default for 
this
 purpose, but this can be overridden by other options or configuration
 variables.
 
-Note that `git --help ...` is identical to `git help ...` because the
-former is internally converted into the latter.
+Note that `git --help ...` is almost identical to `git help ...` because
+the former is internally converted into the latter with option --command-only
+being added.
 
 To display the linkgit:git[1] man page, use `git help git`.
 
@@ -43,6 +44,10 @@ OPTIONS
Prints all the available commands on the standard output. This
option overrides any given command or guide name.
 
+-c::
+--command-only::
+   Display help information only for commands.
+
 -g::
 --guides::
Prints a list of useful guides on the standard output. This
diff --git a/builtin/help.c b/builtin/help.c
index 8848013..2249a67 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -37,8 +37,10 @@ static int show_all = 0;
 static int show_guides = 0;
 static unsigned int colopts;
 static enum help_format help_format = HELP_FORMAT_NONE;
+static int cmd_only;
 static struct option builtin_help_options[] = {
OPT_BOOL('a', "all", _all, N_("print all available commands")),
+   OPT_BOOL('c', "command-only", _only, N_("show help only for 
commands")),
OPT_BOOL('g', "guides", _guides, N_("print list of useful 
guides")),
OPT_SET_INT('m', "man", _format, N_("show man page"), 
HELP_FORMAT_MAN),
OPT_SET_INT('w', "web", _format, N_("show manual in web browser"),
@@ -433,10 +435,29 @@ static void list_common_guides_help(void)
putchar('\n');
 }
 
+static const char *check_git_cmd(const char* cmd)
+{
+   char *alias;
+
+   if (is_git_command(cmd))
+   return cmd;
+
+   alias = alias_lookup(cmd);
+   if (alias) {
+   printf_ln(_("`git %s' is aliased to `%s'"), cmd, alias);
+   free(alias);
+   exit(0);
+   }
+
+   if (cmd_only)
+   return help_unknown_cmd(cmd);
+
+   return cmd;
+}
+
 int cmd_help(int argc, const char **argv, const char *prefix)
 {
int nongit;
-   char *alias;
enum help_format parsed_help_format;
 
argc = parse_options(argc, argv, prefix, builtin_help_options,
@@ -476,12 +497,7 @@ int cmd_help(int argc, const char **argv, const char 
*prefix)
if (help_format == HELP_FORMAT_NONE)
help_format = parse_help_format(DEFAULT_HELP_FORMAT);
 
-   alias = alias_lookup(argv[0]);
-   if (alias && !is_git_command(argv[0])) {
-   printf_ln(_("`git %s' is aliased to `%s'"), argv[0], alias);
-   free(alias);
-   return 0;
-   }
+   argv[0] = check_git_cmd(argv[0]);
 
switch (help_format) {
case HELP_FORMAT_NONE:
diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index c1b2135..354afe5 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1393,7 +1393,7 @@ _git_help ()
 {
case "$cur" in
--*)
-   __gitcomp "--all --guides --info --man --web"
+   __gitcomp "--all --command-only --guides --info --man --web"
return
;;
esac
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
new file mode 100755
index 000..e20f907
--- /dev/null
+++ b/t/t0012-help.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+test_description='help'
+
+

Re: [PATCH v3] help: make option --help open man pages only for Git commands

2016-08-16 Thread Ralf Thielow
2016-08-16 19:27 GMT+02:00 Junio C Hamano <gits...@pobox.com>:
> Ralf Thielow <ralf.thie...@gmail.com> writes:
>> +
>> + if (swapped)
>> + return help_unknown_cmd(cmd);
>
> I am guilty of suggesting "swapped"; even if we are going to mark
> this as OPT_HIDDEN, I think we should be able to think of a better
> name.  I think the meaning of this boolean is "we know that this is
> not a guide and is meant to be a command.", and I hope we can come
> up with a name that concisely expresses that (e.g. "--not-a-guide",
> "--must-be-a-command").
>

I think "--cmd-only" is a good name.  With a good name I think it's worth
to make this option visible to the user.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] help: make option --help open man pages only for Git commands

2016-08-16 Thread Ralf Thielow
2016-08-16 18:33 GMT+02:00 John Keeping <j...@keeping.me.uk>:
> On Tue, Aug 16, 2016 at 06:20:30PM +0200, Ralf Thielow wrote:
>>  static struct option builtin_help_options[] = {
>> + OPT_BOOL('s', "swapped", , "mark as being called by  
>> --help"),
>
> OPT_HIDDEN_BOOL maybe?
>

Yeah >_<

Thanks!
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3] help: make option --help open man pages only for Git commands

2016-08-16 Thread Ralf Thielow
If option --help is passed to a Git command, we try to open
the man page of that command.  However, we do it even for commands
we don't know.  Make sure it is a Git command by using "help_unknown_cmd"
which is even able to assume a command if the user made a typo.

This breaks "git  --help" while "git help " still works.

As " --help" will internally be turned into "help ",
introduce the hidden option "--swapped" in order to know which
version has been called.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
Thanks, all, for the help!

Changes since v2:
- don't check for common guides as the list is very incomplete
- only check for git commands when called via  --help (introduce
  option --swapped for that), as suggested by Junio
- change test case to check for --help being passed to a concept
  used as a git command

 builtin/help.c  | 30 +++---
 git.c   | 15 ++-
 t/t0012-help.sh | 15 +++
 3 files changed, 52 insertions(+), 8 deletions(-)
 create mode 100755 t/t0012-help.sh

diff --git a/builtin/help.c b/builtin/help.c
index 8848013..76f07c7 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -37,7 +37,9 @@ static int show_all = 0;
 static int show_guides = 0;
 static unsigned int colopts;
 static enum help_format help_format = HELP_FORMAT_NONE;
+static int swapped = 0;
 static struct option builtin_help_options[] = {
+   OPT_BOOL('s', "swapped", , "mark as being called by  
--help"),
OPT_BOOL('a', "all", _all, N_("print all available commands")),
OPT_BOOL('g', "guides", _guides, N_("print list of useful 
guides")),
OPT_SET_INT('m', "man", _format, N_("show man page"), 
HELP_FORMAT_MAN),
@@ -433,10 +435,29 @@ static void list_common_guides_help(void)
putchar('\n');
 }
 
+static const char* check_git_cmd(const char* cmd)
+{
+   char *alias;
+
+   if (is_git_command(cmd))
+   return cmd;
+
+   alias = alias_lookup(cmd);
+   if (alias) {
+   printf_ln(_("`git %s' is aliased to `%s'"), cmd, alias);
+   free(alias);
+   exit(0);
+   }
+
+   if (swapped)
+   return help_unknown_cmd(cmd);
+
+   return cmd;
+}
+
 int cmd_help(int argc, const char **argv, const char *prefix)
 {
int nongit;
-   char *alias;
enum help_format parsed_help_format;
 
argc = parse_options(argc, argv, prefix, builtin_help_options,
@@ -476,12 +497,7 @@ int cmd_help(int argc, const char **argv, const char 
*prefix)
if (help_format == HELP_FORMAT_NONE)
help_format = parse_help_format(DEFAULT_HELP_FORMAT);
 
-   alias = alias_lookup(argv[0]);
-   if (alias && !is_git_command(argv[0])) {
-   printf_ln(_("`git %s' is aliased to `%s'"), argv[0], alias);
-   free(alias);
-   return 0;
-   }
+   argv[0] = check_git_cmd(argv[0]);
 
switch (help_format) {
case HELP_FORMAT_NONE:
diff --git a/git.c b/git.c
index 0f1937f..71ea983 100644
--- a/git.c
+++ b/git.c
@@ -528,10 +528,23 @@ static void handle_builtin(int argc, const char **argv)
strip_extension(argv);
cmd = argv[0];
 
-   /* Turn "git cmd --help" into "git help cmd" */
+   /* Turn "git cmd --help" into "git help --swapped cmd" */
if (argc > 1 && !strcmp(argv[1], "--help")) {
+   struct argv_array args;
+   int i;
+
argv[1] = argv[0];
argv[0] = cmd = "help";
+
+   argv_array_init();
+   for (i = 0; i < argc; i++) {
+   argv_array_push(, argv[i]);
+   if (i == 0)
+   argv_array_push(, "--swapped");
+   }
+
+   argc++;
+   argv = argv_array_detach();
}
 
builtin = get_builtin(cmd);
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
new file mode 100755
index 000..6f700b1
--- /dev/null
+++ b/t/t0012-help.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+test_description='help'
+
+. ./test-lib.sh
+
+test_expect_success "pass --help to common guide" "
+   cat <<-EOF >expected &&
+   git: 'revisions' is not a git command. See 'git --help'.
+   EOF
+   (git revisions --help 2>actual || true) &&
+   test_i18ncmp expected actual
+"
+
+test_done
-- 
2.9.2.912.g69c5047

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] help: make option --help open man pages only for Git commands

2016-08-14 Thread Ralf Thielow
If option --help is passed to a Git command, we try to open
the man page of that command. However, we do it even for commands
we don't know.  Make sure the command is known to Git before try
to open the man page.  If we don't know the command, give the
usual advice.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
Changes in v2:
- not only check for commands but also for guides
- use the command assumed by "help_unknown_cmd"

 builtin/help.c  | 34 +++---
 t/t0012-help.sh | 15 +++
 2 files changed, 42 insertions(+), 7 deletions(-)
 create mode 100755 t/t0012-help.sh

diff --git a/builtin/help.c b/builtin/help.c
index 8848013..7d2110e 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -433,10 +433,35 @@ static void list_common_guides_help(void)
putchar('\n');
 }
 
+static int is_common_guide(const char* cmd)
+{
+   int i;
+
+   for (i = 0; i < ARRAY_SIZE(common_guides); i++)
+   if (!strcmp(cmd, common_guides[i].name))
+   return 1;
+   return 0;
+}
+
+static const char* check_git_cmd(const char* cmd)
+{
+   char *alias;
+
+   if (is_git_command(cmd) || is_common_guide(cmd))
+   return cmd;
+
+   alias = alias_lookup(cmd);
+   if (alias) {
+   printf_ln(_("`git %s' is aliased to `%s'"), cmd, alias);
+   free(alias);
+   exit(0);
+   } else
+   return help_unknown_cmd(cmd);
+}
+
 int cmd_help(int argc, const char **argv, const char *prefix)
 {
int nongit;
-   char *alias;
enum help_format parsed_help_format;
 
argc = parse_options(argc, argv, prefix, builtin_help_options,
@@ -476,12 +501,7 @@ int cmd_help(int argc, const char **argv, const char 
*prefix)
if (help_format == HELP_FORMAT_NONE)
help_format = parse_help_format(DEFAULT_HELP_FORMAT);
 
-   alias = alias_lookup(argv[0]);
-   if (alias && !is_git_command(argv[0])) {
-   printf_ln(_("`git %s' is aliased to `%s'"), argv[0], alias);
-   free(alias);
-   return 0;
-   }
+   argv[0] = check_git_cmd(argv[0]);
 
switch (help_format) {
case HELP_FORMAT_NONE:
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
new file mode 100755
index 000..0dab88d
--- /dev/null
+++ b/t/t0012-help.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+test_description='help'
+
+. ./test-lib.sh
+
+test_expect_success "pass --help to unknown command" "
+   cat <<-EOF >expected &&
+   git: '123' is not a git command. See 'git --help'.
+   EOF
+   (git 123 --help 2>actual || true) &&
+   test_i18ncmp expected actual
+"
+
+test_done
-- 
2.9.2.912.g51c4565.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] help: make option --help open man pages only for Git commands

2016-08-12 Thread Ralf Thielow
If option --help is passed to a Git command, we try to open
the man page of that command. However, we do it even for commands
we don't know.  Make sure the command is known to Git before try
to open the man page.  If we don't know the command, give the
usual advice.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 builtin/help.c  | 21 ++---
 t/t0012-help.sh | 15 +++
 2 files changed, 29 insertions(+), 7 deletions(-)
 create mode 100755 t/t0012-help.sh

diff --git a/builtin/help.c b/builtin/help.c
index 8848013..55d45de 100644
--- a/builtin/help.c
+++ b/builtin/help.c
@@ -433,10 +433,22 @@ static void list_common_guides_help(void)
putchar('\n');
 }
 
+static void check_git_cmd(const char* cmd) {
+   char *alias = alias_lookup(cmd);
+
+   if (!is_git_command(cmd)) {
+   if (alias) {
+   printf_ln(_("`git %s' is aliased to `%s'"), cmd, alias);
+   free(alias);
+   exit(0);
+   } else
+   help_unknown_cmd(cmd);
+   }
+}
+
 int cmd_help(int argc, const char **argv, const char *prefix)
 {
int nongit;
-   char *alias;
enum help_format parsed_help_format;
 
argc = parse_options(argc, argv, prefix, builtin_help_options,
@@ -476,12 +488,7 @@ int cmd_help(int argc, const char **argv, const char 
*prefix)
if (help_format == HELP_FORMAT_NONE)
help_format = parse_help_format(DEFAULT_HELP_FORMAT);
 
-   alias = alias_lookup(argv[0]);
-   if (alias && !is_git_command(argv[0])) {
-   printf_ln(_("`git %s' is aliased to `%s'"), argv[0], alias);
-   free(alias);
-   return 0;
-   }
+   check_git_cmd(argv[0]);
 
switch (help_format) {
case HELP_FORMAT_NONE:
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
new file mode 100755
index 000..0dab88d
--- /dev/null
+++ b/t/t0012-help.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+test_description='help'
+
+. ./test-lib.sh
+
+test_expect_success "pass --help to unknown command" "
+   cat <<-EOF >expected &&
+   git: '123' is not a git command. See 'git --help'.
+   EOF
+   (git 123 --help 2>actual || true) &&
+   test_i18ncmp expected actual
+"
+
+test_done
-- 
2.9.2.911.g31804cd.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] l10n: de.po: fix translation of autostash

2016-06-24 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/po/de.po b/po/de.po
index d50cb1b..fdf4d92 100644
--- a/po/de.po
+++ b/po/de.po
@@ -12408,7 +12408,7 @@ msgstr ""
 
 #: git-rebase.sh:168
 msgid "Applied autostash."
-msgstr "\"autostash\" angewendet."
+msgstr "Automatischen Stash angewendet."
 
 #: git-rebase.sh:171
 #, sh-format
@@ -12421,7 +12421,7 @@ msgid ""
 "Your changes are safe in the stash.\n"
 "You can run \"git stash pop\" or \"git stash drop\" at any time.\n"
 msgstr ""
-"Anwendung von \"autostash\" resultierte in Konflikten.\n"
+"Anwendung des automatischen Stash resultierte in Konflikten.\n"
 "Ihre Änderungen sind im Stash sicher.\n"
 "Sie können jederzeit \"git stash pop\" oder \"git stash drop\" ausführen.\n"
 
@@ -12508,12 +12508,12 @@ msgstr "fatal: Branch $branch_name nicht gefunden"
 
 #: git-rebase.sh:558
 msgid "Cannot autostash"
-msgstr "Kann \"autostash\" nicht ausführen."
+msgstr "Kann automatischen Stash nicht anwenden."
 
 #: git-rebase.sh:563
 #, sh-format
 msgid "Created autostash: $stash_abbrev"
-msgstr "\"autostash\" erzeugt: $stash_abbrev"
+msgstr "Automatischen Stash erzeugt: $stash_abbrev"
 
 #: git-rebase.sh:567
 msgid "Please commit or stash them."
-- 
2.9.0.129.g44ae68f

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] l10n: de.po: translate 104 new messages

2016-06-03 Thread Ralf Thielow
Translate 104 new messages came from git.pot update in f517e50
(l10n: git.pot: v2.9.0 round 1 (104 new, 37 removed)).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 413 ---
 1 file changed, 212 insertions(+), 201 deletions(-)

diff --git a/po/de.po b/po/de.po
index 7422a8b..d50cb1b 100644
--- a/po/de.po
+++ b/po/de.po
@@ -279,19 +279,19 @@ msgid "Not a valid branch point: '%s'."
 msgstr "Ungültiger Branchpunkt: '%s'"
 
 #: branch.c:345
 #, c-format
 msgid "'%s' is already checked out at '%s'"
 msgstr "'%s' ist bereits in '%s' ausgecheckt"
 
 #: branch.c:364
-#, fuzzy, c-format
+#, c-format
 msgid "HEAD of working tree %s is not updated"
-msgstr "Kann Zustand des Arbeitsverzeichnisses nicht aufzeichnen"
+msgstr "HEAD des Arbeitsverzeichnisses %s ist nicht aktualisiert."
 
 #: bundle.c:34
 #, c-format
 msgid "'%s' does not look like a v2 bundle file"
 msgstr "'%s' sieht nicht wie eine v2 Paketdatei aus"
 
 #: bundle.c:61
 #, c-format
@@ -440,38 +440,36 @@ msgid "bad config variable '%s' in file '%s' at line %d"
 msgstr "ungültige Konfigurationsvariable '%s' in Datei '%s' bei Zeile %d"
 
 #: config.c:1690
 #, c-format
 msgid "%s has multiple values"
 msgstr "%s hat mehrere Werte"
 
 #: config.c:2224
-#, fuzzy, c-format
+#, c-format
 msgid "could not set '%s' to '%s'"
 msgstr "Konnte '%s' nicht zu '%s' setzen."
 
 #: config.c:2226
-#, fuzzy, c-format
+#, c-format
 msgid "could not unset '%s'"
-msgstr "Konnte '%s' nicht setzen"
+msgstr "Konnte '%s' nicht aufheben."
 
 #: connected.c:69
 msgid "Could not run 'git rev-list'"
 msgstr "Konnte 'git rev-list' nicht ausführen"
 
 #: connected.c:89
-#, fuzzy
 msgid "failed write to rev-list"
-msgstr "Fehler beim Schreiben nach rev-list: %s"
+msgstr "Fehler beim Schreiben nach rev-list"
 
 #: connected.c:96
-#, fuzzy
 msgid "failed to close rev-list's stdin"
-msgstr "Fehler beim Schließen von rev-list's Standard-Eingabe: %s"
+msgstr "Fehler beim Schließen von rev-list's Standard-Eingabe"
 
 #: date.c:95
 msgid "in the future"
 msgstr "in der Zukunft"
 
 #: date.c:101
 #, c-format
 msgid "%lu second ago"
@@ -611,39 +609,39 @@ msgstr "konnte gpg nicht ausführen"
 msgid "gpg did not accept the data"
 msgstr "gpg hat die Daten nicht akzeptiert"
 
 #: gpg-interface.c:189
 msgid "gpg failed to sign the data"
 msgstr "gpg beim Signieren der Daten fehlgeschlagen"
 
 #: gpg-interface.c:222
-#, fuzzy, c-format
+#, c-format
 msgid "could not create temporary file '%s'"
-msgstr "konnte temporäre Datei '%s' nicht erstellen: %s"
+msgstr "konnte temporäre Datei '%s' nicht erstellen"
 
 #: gpg-interface.c:224
-#, fuzzy, c-format
+#, c-format
 msgid "failed writing detached signature to '%s'"
-msgstr "Fehler beim Schreiben der Signatur nach '%s': %s"
+msgstr "Fehler beim Schreiben der losgelösten Signatur nach '%s'"
 
 #: grep.c:1718
 #, c-format
 msgid "'%s': unable to read %s"
 msgstr "'%s': konnte %s nicht lesen"
 
 #: grep.c:1735 builtin/clone.c:382 builtin/diff.c:84 builtin/rm.c:155
 #, c-format
 msgid "failed to stat '%s'"
 msgstr "Konnte '%s' nicht lesen"
 
 #: grep.c:1746
-#, fuzzy, c-format
+#, c-format
 msgid "'%s': short read"
-msgstr "'%s': read() zu kurz %s"
+msgstr "'%s': read() zu kurz"
 
 #: help.c:205
 #, c-format
 msgid "available git commands in '%s'"
 msgstr "Vorhandene Git-Befehle in '%s'"
 
 #: help.c:212
 msgid "git commands available from elsewhere on your $PATH"
@@ -710,21 +708,29 @@ msgid ""
 "Unable to create '%s.lock': %s.\n"
 "\n"
 "Another git process seems to be running in this repository, e.g.\n"
 "an editor opened by 'git commit'. Please make sure all processes\n"
 "are terminated then try again. If it still fails, a git process\n"
 "may have crashed in this repository earlier:\n"
 "remove the file manually to continue."
 msgstr ""
+"Konnte '%s.lock' nicht erstellen: %s.\n"
+"\n"
+"Ein anderer Git-Prozess scheint in diesem Repository ausgeführt\n"
+"zu werden, zum Beispiel ein noch offener Editor von 'git commit'.\n"
+"Bitte stellen Sie sicher, dass alle Prozesse beendet wurden und\n"
+"versuchen Sie es erneut. Falls es immer noch fehlschlägt, könnte\n"
+"ein früherer Git-Prozess in diesem Repository abgestürzt sein:\n"
+"Löschen Sie die Datei manuell um fortzufahren."
 
 #: lockfile.c:160
-#, fuzzy, c-f

Re: [PATCH] Fixed grammar mistake in the french localization

2016-04-28 Thread Ralf Thielow
Jean-Noël AVILA  writes:

> Cherry-picked, fixed and PR to Jiang Xin
>

Thanks

> JN
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] Fixed grammar mistake in the french localization

2016-04-28 Thread Ralf Thielow
CC'ed Jean-Noël who maintains French translation.

Antonin  writes:

> "tous le dépôts distants" -> "tous les dépôts distants"
> ---
>  po/fr.po | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/po/fr.po b/po/fr.po
> index 88b0b8a7..36c7c99 100644
> --- a/po/fr.po
> +++ b/po/fr.po
> @@ -6135,7 +6135,7 @@ msgstr "git fetch --all []"
>  
>  #: builtin/fetch.c:92 builtin/pull.c:166
>  msgid "fetch from all remotes"
> -msgstr "récupérer depuis tous le dépôts distants"
> +msgstr "récupérer depuis tous les dépôts distants"
>  
>  #: builtin/fetch.c:94 builtin/pull.c:169
>  msgid "append to .git/FETCH_HEAD instead of overwriting"
>
> --
> https://github.com/git/git/pull/221
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] string_list: use string-list API in unsorted_string_list_lookup()

2016-04-25 Thread Ralf Thielow
Using the string-list API in function unsorted_string_list_lookup()
makes the code more readable.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
Changes since v1:
- remove extra curly braces

 string-list.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/string-list.c b/string-list.c
index 2a32a3f..62d2084 100644
--- a/string-list.c
+++ b/string-list.c
@@ -231,12 +231,12 @@ void string_list_sort(struct string_list *list)
 struct string_list_item *unsorted_string_list_lookup(struct string_list *list,
 const char *string)
 {
-   int i;
+   struct string_list_item *item;
compare_strings_fn cmp = list->cmp ? list->cmp : strcmp;
 
-   for (i = 0; i < list->nr; i++)
-   if (!cmp(string, list->items[i].string))
-   return list->items + i;
+   for_each_string_list_item(item, list)
+   if (!cmp(string, item->string))
+   return item;
return NULL;
 }
 
-- 
2.8.1.430.g7c694c5

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] string_list: use string-list API in unsorted_string_list_lookup()

2016-04-25 Thread Ralf Thielow
Johannes Schindelin  writes:

>>  
>> -for (i = 0; i < list->nr; i++)
>> -if (!cmp(string, list->items[i].string))
>> -return list->items + i;
>> +for_each_string_list_item(item, list) {
>> +if (!cmp(string, item->string))
>> +return item;
>> +}
>>  return NULL;
>
> If you drop the extra curly braces (thereby matching Git's coding style as
> an additional bonus), at least the patch won't increase the number of
> lines.
>

Oops. I'll send a new version of the patch without these
extra curly braces.

Thanks!

> In any case, I like the simplification of the code.
>
> Ciao,
> Dscho
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] string_list: use string-list API in unsorted_string_list_lookup()

2016-04-22 Thread Ralf Thielow
Using the string-list API in function unsorted_string_list_lookup()
makes the code more readable.  So let's do this.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 string-list.c | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/string-list.c b/string-list.c
index 2a32a3f..8127e12 100644
--- a/string-list.c
+++ b/string-list.c
@@ -231,12 +231,13 @@ void string_list_sort(struct string_list *list)
 struct string_list_item *unsorted_string_list_lookup(struct string_list *list,
 const char *string)
 {
-   int i;
+   struct string_list_item *item;
compare_strings_fn cmp = list->cmp ? list->cmp : strcmp;
 
-   for (i = 0; i < list->nr; i++)
-   if (!cmp(string, list->items[i].string))
-   return list->items + i;
+   for_each_string_list_item(item, list) {
+   if (!cmp(string, item->string))
+   return item;
+   }
return NULL;
 }
 
-- 
2.8.1.382.g1352ede

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2] rebase-i: print an abbreviated hash when stop for editing

2016-03-28 Thread Ralf Thielow
The message that is shown when rebase-i stops for editing prints
the full hash of the commit where it stopped which makes the message
overflow to the next line on smaller terminal windows.  Print an
abbreviated hash instead.

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 git-rebase--interactive.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 4cde685..9ea3075 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -548,7 +548,8 @@ do_next () {
 
mark_action_done
do_pick $sha1 "$rest"
-   warn "Stopped at $sha1... $rest"
+   sha1_abbrev=$(git rev-parse --short $sha1)
+   warn "Stopped at $sha1_abbrev... $rest"
exit_with_patch $sha1 0
;;
squash|s|fixup|f)
-- 
2.8.0.rc4.285.gc3ac548

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] rebase-i: print abbreviated hash when stop for editing

2016-03-24 Thread Ralf Thielow
2016-03-24 20:56 GMT+01:00 Junio C Hamano <gits...@pobox.com>:
> Ralf Thielow <ralf.thie...@gmail.com> writes:
>
>> Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
>> ---
>
> Hmph, the reason why this is a good thing to do is because an
> overlong $sha1 would push $rest too far to the right (possibly
> making it overflow to the next line)?
>

Yes.  Another solution would have been to remove the "..." at the
end, but I prefer to see a shorter message rather than having
the full sha1 for whatever reason.

>
>>  git-rebase--interactive.sh | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
>> index 4cde685..9ea3075 100644
>> --- a/git-rebase--interactive.sh
>> +++ b/git-rebase--interactive.sh
>> @@ -548,7 +548,8 @@ do_next () {
>>
>>   mark_action_done
>>   do_pick $sha1 "$rest"
>> - warn "Stopped at $sha1... $rest"
>> + sha1_abbrev=$(git rev-parse --short $sha1)
>> + warn "Stopped at $sha1_abbrev... $rest"
>>   exit_with_patch $sha1 0
>>   ;;
>>   squash|s|fixup|f)
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] rebase-i: print abbreviated hash when stop for editing

2016-03-24 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 git-rebase--interactive.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index 4cde685..9ea3075 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -548,7 +548,8 @@ do_next () {
 
mark_action_done
do_pick $sha1 "$rest"
-   warn "Stopped at $sha1... $rest"
+   sha1_abbrev=$(git rev-parse --short $sha1)
+   warn "Stopped at $sha1_abbrev... $rest"
exit_with_patch $sha1 0
;;
squash|s|fixup|f)
-- 
2.8.0.rc4.7.g35d7ca9.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 2/2] completion: add 'revisions' and 'everyday' to 'git help'

2016-03-24 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 contrib/completion/git-completion.bash | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index 70f4171..ffe6004 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1346,8 +1346,8 @@ _git_help ()
__git_compute_all_commands
__gitcomp "$__git_all_commands $(__git_aliases)
attributes cli core-tutorial cvs-migration
-   diffcore gitk glossary hooks ignore modules
-   namespaces repository-layout tutorial tutorial-2
+   diffcore everyday gitk glossary hooks ignore modules
+   namespaces repository-layout revisions tutorial tutorial-2
workflows
"
 }
-- 
2.8.0.rc4.7.g35d7ca9.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 0/2] completion: git-help: add missing option and params

2016-03-24 Thread Ralf Thielow
The bash completion is missing the option '--guides' for 'git-help'
and some params you see there.  Add them both.

Ralf Thielow (2):
  completion: add option '--guides' to 'git help'
  completion: add 'revisions' and 'everyday' to 'git help'

 contrib/completion/git-completion.bash | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.8.0.rc4.7.g35d7ca9.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/2] completion: add option '--guides' to 'git help'

2016-03-24 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index e3918c8..70f4171 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1339,7 +1339,7 @@ _git_help ()
 {
case "$cur" in
--*)
-   __gitcomp "--all --info --man --web"
+   __gitcomp "--all --guides --info --man --web"
return
;;
esac
-- 
2.8.0.rc4.7.g35d7ca9.dirty

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] l10n: de.po: add missing newlines

2016-03-19 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
This hotfix is already part of the pull request I sent
to git-po repository.

 po/de.po | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/po/de.po b/po/de.po
index 7093139..0eadf34 100644
--- a/po/de.po
+++ b/po/de.po
@@ -151,12 +151,13 @@ msgid ""
 "the remote tracking information by invoking\n"
 "\"git branch --set-upstream-to=%s%s%s\"."
 msgstr ""
 "\n"
 "Nachdem Sie die Fehlerursache behoben haben, können Sie\n"
-"die Tracking-Informationen mit\"git branch --set-upstream-to=%s%s%s\"erneut "
-"setzen."
+"die Tracking-Informationen mit\n"
+"\"git branch --set-upstream-to=%s%s%s\"\n"
+"erneut setzen."
 
 #: branch.c:67
 #, c-format
 msgid "Not setting branch %s as its own upstream."
 msgstr "Branch %s kann nicht sein eigener Upstream-Branch sein."
-- 
2.8.0.rc2.181.g7f8255e

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Update *.po with git.pot?

2016-03-19 Thread Ralf Thielow
When a translation round starts for a Git release, the
git.pot file will be updated and translators msgmerge
their .po-files accordingly before translating. This results
in a huge change to the .po-file as line numbers and
stuff gets updated.

Since translations are made in one commit, this commit
is messed up with the msgmerge update so when you
look at the commit later, you'll have a hard time to find
out what the actual changes in translations were.

We could improve this by making git.pot-updates update
the *.po files as well, so further updates from translators
will only contain actual translations. I think this is what the
gitk project does. It will make the history of *.po-files much
more readable.

Ralf
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] l10n: de.po: translate 22 new messages

2016-03-15 Thread Ralf Thielow
Translate 22 new messages came from git.pot update in f1522b2
(l10n: git.pot: v2.8.0 round 2 (21 new, 1 removed)) and a5a4168
(l10n: git.pot: Add one new message for Git 2.8.0).

Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/de.po | 68 
 1 file changed, 34 insertions(+), 34 deletions(-)

diff --git a/po/de.po b/po/de.po
index edee6db..7093139 100644
--- a/po/de.po
+++ b/po/de.po
@@ -1150,14 +1150,14 @@ msgid "unrecognized format: %%(%s)"
 msgstr "nicht erkanntes Format: %%(%s)"
 
 #: ref-filter.c:77
-#, fuzzy, c-format
+#, c-format
 msgid "%%(body) does not take arguments"
-msgstr "--worktrees akzeptiert keine weiteren Argumente"
+msgstr "%%(body) akzeptiert keine Argumente"
 
 #: ref-filter.c:84
-#, fuzzy, c-format
+#, c-format
 msgid "%%(subject) does not take arguments"
-msgstr "--worktrees akzeptiert keine weiteren Argumente"
+msgstr "%%(subject) akzeptiert keine Argumente"
 
 #: ref-filter.c:101
 #, c-format
@@ -1200,14 +1200,14 @@ msgid "positive width expected with the %%(align) atom"
 msgstr "Positive Breitenangabe für %%(align) erwartet"
 
 #: ref-filter.c:244
-#, fuzzy, c-format
+#, c-format
 msgid "malformed field name: %.*s"
-msgstr "Missgebildeter Objektname %s"
+msgstr "Fehlerhafter Feldname: %.*s"
 
 #: ref-filter.c:270
-#, fuzzy, c-format
+#, c-format
 msgid "unknown field name: %.*s"
-msgstr "unbekanntes Argument für Option --mirror: %s"
+msgstr "Unbekannter Feldname: %.*s"
 
 #: ref-filter.c:372
 #, c-format
@@ -1215,33 +1215,33 @@ msgid "format: %%(end) atom used without corresponding 
atom"
 msgstr "Format: %%(end) Atom ohne zugehöriges Atom verwendet"
 
 #: ref-filter.c:424
-#, fuzzy, c-format
+#, c-format
 msgid "malformed format string %s"
-msgstr "Fehlerhafter Ident-String: '%s'"
+msgstr "Fehlerhafter Formatierungsstring %s"
 
 #: ref-filter.c:878
 msgid ":strip= requires a positive integer argument"
-msgstr ""
+msgstr ":strip= erfordert eine positive Ganzzahl als Argument"
 
 #: ref-filter.c:883
-#, fuzzy, c-format
+#, c-format
 msgid "ref '%s' does not have %ld components to :strip"
-msgstr "Pfad '%s' hat nicht alle notwendigen Versionen."
+msgstr "Referenz '%s' hat keine %ld Komponenten für :strip"
 
 #: ref-filter.c:1046
-#, fuzzy, c-format
+#, c-format
 msgid "unknown %.*s format %s"
-msgstr "Unbekannter Commit %s"
+msgstr "Unbekanntes %.*s Format %s"
 
 #: ref-filter.c:1066 ref-filter.c:1097
-#, fuzzy, c-format
+#, c-format
 msgid "missing object %s for %s"
-msgstr "fehlende Objekte erlauben"
+msgstr "Objekt %s fehlt für %s"
 
 #: ref-filter.c:1069 ref-filter.c:1100
 #, c-format
 msgid "parse_object_buffer failed on %s for %s"
-msgstr ""
+msgstr "parse_object_buffer bei %s für %s fehlgeschlagen"
 
 #: ref-filter.c:1311
 #, c-format
@@ -1249,14 +1249,14 @@ msgid "malformed object at '%s'"
 msgstr "fehlerhaftes Objekt bei '%s'"
 
 #: ref-filter.c:1373
-#, fuzzy, c-format
+#, c-format
 msgid "ignoring ref with broken name %s"
-msgstr "ignoriere Vorlage %s"
+msgstr "Ignoriere Referenz mit fehlerhaftem Namen %s"
 
 #: ref-filter.c:1378
-#, fuzzy, c-format
+#, c-format
 msgid "ignoring broken ref %s"
-msgstr "ignoriere Vorlage %s"
+msgstr "Ignoriere fehlerhafte Referenz %s"
 
 #: ref-filter.c:1651
 #, c-format
@@ -1680,17 +1680,17 @@ msgstr "Fehler beim Lesen von %s"
 
 #: sha1_file.c:1080
 msgid "offset before end of packfile (broken .idx?)"
-msgstr ""
+msgstr "Offset vor Ende der Packdatei (fehlerhafte Indexdatei?)"
 
 #: sha1_file.c:2459
 #, c-format
 msgid "offset before start of pack index for %s (corrupt index?)"
-msgstr ""
+msgstr "Offset vor Beginn des Pack-Index für %s (beschädigter Index?)"
 
 #: sha1_file.c:2463
 #, c-format
 msgid "offset beyond end of pack index for %s (truncated index?)"
-msgstr ""
+msgstr "Offset hinter Ende des Pack-Index für %s (abgeschnittener Index?)"
 
 #: sha1_name.c:462
 msgid ""
@@ -1743,9 +1743,9 @@ msgid "staging updated .gitmodules failed"
 msgstr "Konnte aktualisierte .gitmodules-Datei nicht zum Commit vormerken"
 
 #: trailer.c:237
-#, fuzzy, c-format
+#, c-format
 msgid "running trailer command '%s' failed"
-msgstr "Zusammenführen der \"Tree\"-Objekte %s und %s fehlgeschlagen"
+msgstr "Ausführen des Anhang-Befehls '%s' fehlgeschlagen"
 
 #: trailer.c:492 trailer.c:496 trailer.c:500 trailer.c:554 trailer.c:558
 #: trailer.c:562
@@ -4324,9 +4324,8 @@ msgid

[PATCH] l10n: TEAMS: update Ralf Thielow's email address

2016-03-03 Thread Ralf Thielow
Signed-off-by: Ralf Thielow <ralf.thie...@gmail.com>
---
 po/TEAMS | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/po/TEAMS b/po/TEAMS
index df12b58..56274ad 100644
--- a/po/TEAMS
+++ b/po/TEAMS
@@ -11,7 +11,7 @@ Leader:   Alex Henrie <alexhenri...@gmail.com>
 
 Language:  de (German)
 Repository:https://github.com/ralfth/git-po-de
-Leader:    Ralf Thielow <ralf.thie...@googlemail.com>
+Leader:        Ralf Thielow <ralf.thie...@gmail.com>
 Members:   Thomas Rast <t...@thomasrast.ch>
Jan Krüger <j...@jk.gs>
Christian Stimming <stimm...@tuhh.de>
-- 
2.8.0.rc0.159.g391b917

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


  1   2   3   4   >