Merge branch 'master' of git://repo.or.cz/alt-git

This commit is contained in:
Johannes Sixt
2007-12-07 22:55:49 +01:00
45 changed files with 1995 additions and 1435 deletions

View File

@@ -6,6 +6,7 @@
#
Aneesh Kumar K.V <aneesh.kumar@gmail.com>
Brian M. Carlson <sandals@crustytoothpaste.ath.cx>
Chris Shoemaker <c.shoemaker@cox.net>
Dana L. How <danahow@gmail.com>
Dana L. How <how@deathvalley.cswitch.com>

View File

@@ -45,6 +45,9 @@ infodir?=$(prefix)/share/info
MAKEINFO=makeinfo
INSTALL_INFO=install-info
DOCBOOK2X_TEXI=docbook2x-texi
ifndef PERL_PATH
PERL_PATH = /usr/bin/perl
endif
-include ../config.mak.autogen
-include ../config.mak
@@ -105,7 +108,7 @@ install-info: info
#
doc.dep : $(wildcard *.txt) build-docdep.perl
$(RM) $@+ $@
perl ./build-docdep.perl >$@+
$(PERL_PATH) ./build-docdep.perl >$@+
mv $@+ $@
-include doc.dep
@@ -124,7 +127,7 @@ $(cmds_txt): cmd-list.made
cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
$(RM) $@
perl ./cmd-list.perl ../command-list.txt
$(PERL_PATH) ./cmd-list.perl ../command-list.txt
date >$@
git.7 git.html: git.txt
@@ -161,7 +164,7 @@ user-manual.html: user-manual.xml
git.info: user-manual.xml
$(RM) $@ $*.texi $*.texi+
$(DOCBOOK2X_TEXI) user-manual.xml --to-stdout >$*.texi+
perl fix-texi.perl <$*.texi+ >$*.texi
$(PERL_PATH) fix-texi.perl <$*.texi+ >$*.texi
$(MAKEINFO) --no-split $*.texi
$(RM) $*.texi $*.texi+

View File

@@ -155,6 +155,9 @@ Updates since v1.5.3
* "git cvsserver" can be run via "git shell".
* "git cvsserver" acts more like receive-pack by running post-receive
and post-update hooks.
* "git am" and "git rebase" are far less verbose.
* "git pull" learned to pass --[no-]ff option to underlying "git
@@ -166,6 +169,13 @@ Updates since v1.5.3
* "git fast-export" produces datastream that can be fed to fast-import
to reproduce the history recorded in a git repository.
* "git add -i" takes pathspecs to limit the set of files to work on.
* "git add -p" is a short-hand to go directly to the selective patch
subcommand in the interactive command loop and to exit when done.
* "git add -i" UI has been colorized.
* "git commit --allow-empty" allows you to create a single-parent
commit that records the same tree as its parent, overriding the usual
safety valve.
@@ -173,6 +183,8 @@ Updates since v1.5.3
* "git commit --amend" can amend a merge that does not change the tree
from its first parent.
* "git commit" has been rewritten in C.
* "git stash random-text" does not create a new stash anymore. It was
a UI mistake. Use "git stash save random-text", or "git stash"
(without extra args) for that.
@@ -249,8 +261,11 @@ series.
* "git svn" talking with the SVN over http will correctly quote branch
and project names.
* "git config" did not work correctly on platforms that define
REG_NOMATCH to an even number.
--
exec >/var/tmp/1
O=v1.5.3.7-1003-gf38ca7c
O=v1.5.3.7-1111-gd9f4059
echo O=`git describe refs/heads/master`
git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint

View File

@@ -10,7 +10,7 @@ Checklist (and a short version for the impatient):
- the first line of the commit message should be a short
description and should skip the full stop
- if you want your work included in git.git, add a
"Signed-off-by: Your Name <your@email.com>" line to the
"Signed-off-by: Your Name <you@example.com>" line to the
commit message (or just use the option "-s" when
committing) to confirm that you agree to the Developer's
Certificate of Origin

View File

@@ -359,8 +359,8 @@ clean.requireForce::
color.branch::
A boolean to enable/disable color in the output of
gitlink:git-branch[1]. May be set to `true` (or `always`),
`false` (or `never`) or `auto`, in which case colors are used
gitlink:git-branch[1]. May be set to `always`,
`false` (or `never`) or `auto` (or `true`), in which case colors are used
only when the output is to a terminal. Defaults to false.
color.branch.<slot>::
@@ -378,9 +378,9 @@ second is the background. The position of the attribute, if any,
doesn't matter.
color.diff::
When true (or `always`), always use colors in patch.
When false (or `never`), never. When set to `auto`, use
colors only when the output is to the terminal.
When set to `always`, always use colors in patch.
When false (or `never`), never. When set to `true` or `auto`, use
colors only when the output is to the terminal. Defaults to false.
color.diff.<slot>::
Use customized color for diff colorization. `<slot>` specifies
@@ -391,14 +391,26 @@ color.diff.<slot>::
whitespace). The values of these variables may be specified as
in color.branch.<slot>.
color.interactive::
When set to `always`, always use colors in `git add --interactive`.
When false (or `never`), never. When set to `true` or `auto`, use
colors only when the output is to the terminal. Defaults to false.
color.interactive.<slot>::
Use customized color for `git add --interactive`
output. `<slot>` may be `prompt`, `header`, or `help`, for
three distinct types of normal output from interactive
programs. The values of these variables may be specified as
in color.branch.<slot>.
color.pager::
A boolean to enable/disable colored output when the pager is in
use (default is true).
color.status::
A boolean to enable/disable color in the output of
gitlink:git-status[1]. May be set to `true` (or `always`),
`false` (or `never`) or `auto`, in which case colors are used
gitlink:git-status[1]. May be set to `always`,
`false` (or `never`) or `auto` (or `true`), in which case colors are used
only when the output is to a terminal. Defaults to false.
color.status.<slot>::

View File

@@ -83,161 +83,4 @@ Note that 'combined diff' lists only files which were modified from
all parents.
Generating patches with -p
--------------------------
When "git-diff-index", "git-diff-tree", or "git-diff-files" are run
with a '-p' option, or "git diff" without the '--raw' option, they
do not produce the output described above; instead they produce a
patch file. You can customize the creation of such patches via the
GIT_EXTERNAL_DIFF and the GIT_DIFF_OPTS environment variables.
What the -p option produces is slightly different from the traditional
diff format.
1. It is preceded with a "git diff" header, that looks like
this:
diff --git a/file1 b/file2
+
The `a/` and `b/` filenames are the same unless rename/copy is
involved. Especially, even for a creation or a deletion,
`/dev/null` is _not_ used in place of `a/` or `b/` filenames.
+
When rename/copy is involved, `file1` and `file2` show the
name of the source file of the rename/copy and the name of
the file that rename/copy produces, respectively.
2. It is followed by one or more extended header lines:
old mode <mode>
new mode <mode>
deleted file mode <mode>
new file mode <mode>
copy from <path>
copy to <path>
rename from <path>
rename to <path>
similarity index <number>
dissimilarity index <number>
index <hash>..<hash> <mode>
3. TAB, LF, double quote and backslash characters in pathnames
are represented as `\t`, `\n`, `\"` and `\\`, respectively.
If there is need for such substitution then the whole
pathname is put in double quotes.
The similarity index is the percentage of unchanged lines, and
the dissimilarity index is the percentage of changed lines. It
is a rounded down integer, followed by a percent sign. The
similarity index value of 100% is thus reserved for two equal
files, while 100% dissimilarity means that no line from the old
file made it into the new one.
combined diff format
--------------------
"git-diff-tree", "git-diff-files" and "git-diff" can take '-c' or
'--cc' option to produce 'combined diff', which looks like this:
------------
diff --combined describe.c
index fabadb8,cc95eb0..4866510
--- a/describe.c
+++ b/describe.c
@@@ -98,20 -98,12 +98,20 @@@
return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
}
- static void describe(char *arg)
-static void describe(struct commit *cmit, int last_one)
++static void describe(char *arg, int last_one)
{
+ unsigned char sha1[20];
+ struct commit *cmit;
struct commit_list *list;
static int initialized = 0;
struct commit_name *n;
+ if (get_sha1(arg, sha1) < 0)
+ usage(describe_usage);
+ cmit = lookup_commit_reference(sha1);
+ if (!cmit)
+ usage(describe_usage);
+
if (!initialized) {
initialized = 1;
for_each_ref(get_name);
------------
1. It is preceded with a "git diff" header, that looks like
this (when '-c' option is used):
diff --combined file
+
or like this (when '--cc' option is used):
diff --c file
2. It is followed by one or more extended header lines
(this example shows a merge with two parents):
index <hash>,<hash>..<hash>
mode <mode>,<mode>..<mode>
new file mode <mode>
deleted file mode <mode>,<mode>
+
The `mode <mode>,<mode>..<mode>` line appears only if at least one of
the <mode> is different from the rest. Extended headers with
information about detected contents movement (renames and
copying detection) are designed to work with diff of two
<tree-ish> and are not used by combined diff format.
3. It is followed by two-line from-file/to-file header
--- a/file
+++ b/file
+
Similar to two-line header for traditional 'unified' diff
format, `/dev/null` is used to signal created or deleted
files.
4. Chunk header format is modified to prevent people from
accidentally feeding it to `patch -p1`. Combined diff format
was created for review of merge commit changes, and was not
meant for apply. The change is similar to the change in the
extended 'index' header:
@@@ <from-file-range> <from-file-range> <to-file-range> @@@
+
There are (number of parents + 1) `@` characters in the chunk
header for combined diff format.
Unlike the traditional 'unified' diff format, which shows two
files A and B with a single column that has `-` (minus --
appears in A but removed in B), `+` (plus -- missing in A but
added to B), or `" "` (space -- unchanged) prefix, this format
compares two or more files file1, file2,... with one file X, and
shows how X differs from each of fileN. One column for each of
fileN is prepended to the output line to note how X's line is
different from it.
A `-` character in the column N means that the line appears in
fileN but it does not appear in the result. A `+` character
in the column N means that the line appears in the last file,
and fileN does not have that line (in other words, the line was
added, from the point of view of that parent).
In the above example output, the function signature was changed
from both files (hence two `-` removals from both file1 and
file2, plus `++` to mean one line that was added does not appear
in either file1 nor file2). Also two other lines are the same
from file1 but do not appear in file2 (hence prefixed with ` +`).
When shown by `git diff-tree -c`, it compares the parents of a
merge commit with the merge result (i.e. file1..fileN are the
parents). When shown by `git diff-files -c`, it compares the
two unresolved merge parents with the working tree file
(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka
"their version").
include::diff-generate-patch.txt[]

View File

@@ -0,0 +1,161 @@
Generating patches with -p
--------------------------
When "git-diff-index", "git-diff-tree", or "git-diff-files" are run
with a '-p' option, "git diff" without the '--raw' option, or
"git log" with the "-p" option, they
do not produce the output described above; instead they produce a
patch file. You can customize the creation of such patches via the
GIT_EXTERNAL_DIFF and the GIT_DIFF_OPTS environment variables.
What the -p option produces is slightly different from the traditional
diff format.
1. It is preceded with a "git diff" header, that looks like
this:
diff --git a/file1 b/file2
+
The `a/` and `b/` filenames are the same unless rename/copy is
involved. Especially, even for a creation or a deletion,
`/dev/null` is _not_ used in place of `a/` or `b/` filenames.
+
When rename/copy is involved, `file1` and `file2` show the
name of the source file of the rename/copy and the name of
the file that rename/copy produces, respectively.
2. It is followed by one or more extended header lines:
old mode <mode>
new mode <mode>
deleted file mode <mode>
new file mode <mode>
copy from <path>
copy to <path>
rename from <path>
rename to <path>
similarity index <number>
dissimilarity index <number>
index <hash>..<hash> <mode>
3. TAB, LF, double quote and backslash characters in pathnames
are represented as `\t`, `\n`, `\"` and `\\`, respectively.
If there is need for such substitution then the whole
pathname is put in double quotes.
The similarity index is the percentage of unchanged lines, and
the dissimilarity index is the percentage of changed lines. It
is a rounded down integer, followed by a percent sign. The
similarity index value of 100% is thus reserved for two equal
files, while 100% dissimilarity means that no line from the old
file made it into the new one.
combined diff format
--------------------
"git-diff-tree", "git-diff-files" and "git-diff" can take '-c' or
'--cc' option to produce 'combined diff'. For showing a merge commit
with "git log -p", this is the default format.
A 'combined diff' format looks like this:
------------
diff --combined describe.c
index fabadb8,cc95eb0..4866510
--- a/describe.c
+++ b/describe.c
@@@ -98,20 -98,12 +98,20 @@@
return (a_date > b_date) ? -1 : (a_date == b_date) ? 0 : 1;
}
- static void describe(char *arg)
-static void describe(struct commit *cmit, int last_one)
++static void describe(char *arg, int last_one)
{
+ unsigned char sha1[20];
+ struct commit *cmit;
struct commit_list *list;
static int initialized = 0;
struct commit_name *n;
+ if (get_sha1(arg, sha1) < 0)
+ usage(describe_usage);
+ cmit = lookup_commit_reference(sha1);
+ if (!cmit)
+ usage(describe_usage);
+
if (!initialized) {
initialized = 1;
for_each_ref(get_name);
------------
1. It is preceded with a "git diff" header, that looks like
this (when '-c' option is used):
diff --combined file
+
or like this (when '--cc' option is used):
diff --c file
2. It is followed by one or more extended header lines
(this example shows a merge with two parents):
index <hash>,<hash>..<hash>
mode <mode>,<mode>..<mode>
new file mode <mode>
deleted file mode <mode>,<mode>
+
The `mode <mode>,<mode>..<mode>` line appears only if at least one of
the <mode> is different from the rest. Extended headers with
information about detected contents movement (renames and
copying detection) are designed to work with diff of two
<tree-ish> and are not used by combined diff format.
3. It is followed by two-line from-file/to-file header
--- a/file
+++ b/file
+
Similar to two-line header for traditional 'unified' diff
format, `/dev/null` is used to signal created or deleted
files.
4. Chunk header format is modified to prevent people from
accidentally feeding it to `patch -p1`. Combined diff format
was created for review of merge commit changes, and was not
meant for apply. The change is similar to the change in the
extended 'index' header:
@@@ <from-file-range> <from-file-range> <to-file-range> @@@
+
There are (number of parents + 1) `@` characters in the chunk
header for combined diff format.
Unlike the traditional 'unified' diff format, which shows two
files A and B with a single column that has `-` (minus --
appears in A but removed in B), `+` (plus -- missing in A but
added to B), or `" "` (space -- unchanged) prefix, this format
compares two or more files file1, file2,... with one file X, and
shows how X differs from each of fileN. One column for each of
fileN is prepended to the output line to note how X's line is
different from it.
A `-` character in the column N means that the line appears in
fileN but it does not appear in the result. A `+` character
in the column N means that the line appears in the last file,
and fileN does not have that line (in other words, the line was
added, from the point of view of that parent).
In the above example output, the function signature was changed
from both files (hence two `-` removals from both file1 and
file2, plus `++` to mean one line that was added does not appear
in either file1 nor file2). Also two other lines are the same
from file1 but do not appear in file2 (hence prefixed with ` +`).
When shown by `git diff-tree -c`, it compares the parents of a
merge commit with the merge result (i.e. file1..fileN are the
parents). When shown by `git diff-files -c`, it compares the
two unresolved merge parents with the working tree file
(i.e. file1 is stage 2 aka "our version", file2 is stage 3 aka
"their version").

View File

@@ -6,7 +6,9 @@
ifndef::git-format-patch[]
ifndef::git-diff[]
ifndef::git-log[]
:git-diff-core: 1
endif::git-log[]
endif::git-diff[]
endif::git-format-patch[]

View File

@@ -8,7 +8,7 @@ git-add - Add file contents to the index
SYNOPSIS
--------
[verse]
'git-add' [-n] [-v] [-f] [--interactive | -i] [-u] [--refresh]
'git-add' [-n] [-v] [-f] [--interactive | -i] [--patch | -p] [-u] [--refresh]
[--] <filepattern>...
DESCRIPTION

View File

@@ -21,6 +21,7 @@ SYNOPSIS
'git-config' [<file-option>] --remove-section name
'git-config' [<file-option>] [-z|--null] -l | --list
'git-config' [<file-option>] --get-color name [default]
'git-config' [<file-option>] --get-colorbool name [stdout-is-tty]
DESCRIPTION
-----------
@@ -135,6 +136,15 @@ See also <<FILES>>.
output without getting confused e.g. by values that
contain line breaks.
--get-colorbool name [stdout-is-tty]::
Find the color setting for `name` (e.g. `color.diff`) and output
"true" or "false". `stdout-is-tty` should be either "true" or
"false", and is taken into account when configuration says
"auto". If `stdout-is-tty` is missing, then checks the standard
output of the command itself, and exits with status 0 if color
is to be used, or exits with status 1 otherwise.
--get-color name default::
Find the color configured for `name` (e.g. `color.diff.new`) and

View File

@@ -27,6 +27,9 @@ OPTIONS
include::pretty-options.txt[]
:git-log: 1
include::diff-options.txt[]
-<n>::
Limits the number of commits to show.
@@ -43,9 +46,6 @@ include::pretty-options.txt[]
commit. This option gives a better overview of the
evolution of a particular branch.
-p::
Show the change the commit introduces in a patch form.
-g, \--walk-reflogs::
Show commits as they were recorded in the reflog. The log contains
a record about how the tip of a reference was changed.
@@ -78,6 +78,7 @@ include::pretty-options.txt[]
include::pretty-formats.txt[]
include::diff-generate-patch.txt[]
Examples
--------

View File

@@ -40,6 +40,10 @@ OUTPUT
The output from this command is designed to be used as a commit
template comments, and all the output lines are prefixed with '#'.
The paths mentioned in the output, unlike many other git commands, are
made relative to the current directory, if you are working in a
subdirectory (this is on purpose, to help cutting and pasting).
CONFIGURATION
-------------

View File

@@ -405,7 +405,9 @@ endif
ifeq ($(uname_S),Darwin)
NEEDS_SSL_WITH_CRYPTO = YesPlease
NEEDS_LIBICONV = YesPlease
OLD_ICONV = UnfortunatelyYes
ifneq ($(shell expr "$(uname_R)" : '9\.'),2)
OLD_ICONV = UnfortunatelyYes
endif
NO_STRLCPY = YesPlease
NO_MEMMEM = YesPlease
endif

View File

@@ -65,7 +65,7 @@ static int parse_branch_color_slot(const char *var, int ofs)
static int git_branch_config(const char *var, const char *value)
{
if (!strcmp(var, "color.branch")) {
branch_use_color = git_config_colorbool(var, value);
branch_use_color = git_config_colorbool(var, value, -1);
return 0;
}
if (!prefixcmp(var, "color.branch.")) {

View File

@@ -27,13 +27,14 @@ static int git_clean_config(const char *var, const char *value)
int cmd_clean(int argc, const char **argv, const char *prefix)
{
int j;
int i;
int show_only = 0, remove_directories = 0, quiet = 0, ignored = 0;
int ignored_only = 0, baselen = 0, config_set = 0;
struct strbuf directory;
struct dir_struct dir;
const char *path, *base;
static const char **pathspec;
char *seen = NULL;
struct option options[] = {
OPT__QUIET(&quiet),
OPT__DRY_RUN(&show_only),
@@ -85,12 +86,14 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
read_directory(&dir, path, base, baselen, pathspec);
strbuf_init(&directory, 0);
for (j = 0; j < dir.nr; ++j) {
struct dir_entry *ent = dir.entries[j];
int len, pos, specs;
if (pathspec)
seen = xmalloc(argc);
for (i = 0; i < dir.nr; i++) {
struct dir_entry *ent = dir.entries[i];
int len, pos, matches;
struct cache_entry *ce;
struct stat st;
char *seen;
/*
* Remove the '/' at the end that directory
@@ -110,25 +113,29 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
continue; /* Yup, this one exists unmerged */
}
if (!lstat(ent->name, &st) && (S_ISDIR(st.st_mode))) {
int matched_path = 0;
/*
* we might have removed this as part of earlier
* recursive directory removal, so lstat() here could
* fail with ENOENT.
*/
if (lstat(ent->name, &st))
continue;
if (pathspec) {
memset(seen, 0, argc);
matches = match_pathspec(pathspec, ent->name, ent->len,
baselen, seen);
} else {
matches = 0;
}
if (S_ISDIR(st.st_mode)) {
strbuf_addstr(&directory, ent->name);
if (pathspec) {
for (specs =0; pathspec[specs]; ++specs)
/* nothing */;
seen = xcalloc(specs, 1);
/* Check if directory was explictly passed as
* pathspec. If so we want to remove it */
if (match_pathspec(pathspec, ent->name, ent->len,
baselen, seen))
matched_path = 1;
free(seen);
}
if (show_only && (remove_directories || matched_path)) {
if (show_only && (remove_directories || matches)) {
printf("Would remove %s\n", directory.buf);
} else if (quiet && (remove_directories || matched_path)) {
} else if (quiet && (remove_directories || matches)) {
remove_dir_recursively(&directory, 0);
} else if (remove_directories || matched_path) {
} else if (remove_directories || matches) {
printf("Removing %s\n", directory.buf);
remove_dir_recursively(&directory, 0);
} else if (show_only) {
@@ -138,6 +145,8 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
}
strbuf_reset(&directory);
} else {
if (pathspec && !matches)
continue;
if (show_only) {
printf("Would remove %s\n", ent->name);
continue;
@@ -147,6 +156,7 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
unlink(ent->name);
}
}
free(seen);
strbuf_release(&directory);
return 0;

View File

@@ -3,7 +3,7 @@
#include "color.h"
static const char git_config_set_usage[] =
"git-config [ --global | --system | [ -f | --file ] config-file ] [ --bool | --int ] [ -z | --null ] [--get | --get-all | --get-regexp | --replace-all | --add | --unset | --unset-all] name [value [value_regex]] | --rename-section old_name new_name | --remove-section name | --list | --get-color var [default]";
"git-config [ --global | --system | [ -f | --file ] config-file ] [ --bool | --int ] [ -z | --null ] [--get | --get-all | --get-regexp | --replace-all | --add | --unset | --unset-all] name [value [value_regex]] | --rename-section old_name new_name | --remove-section name | --list | --get-color var [default] | --get-colorbool name [stdout-is-tty]";
static char *key;
static regex_t *key_regexp;
@@ -38,8 +38,7 @@ static int show_config(const char* key_, const char* value_)
if (use_key_regexp && regexec(key_regexp, key_, 0, NULL, 0))
return 0;
if (regexp != NULL &&
(do_not_match ^
regexec(regexp, (value_?value_:""), 0, NULL, 0)))
(do_not_match ^ !!regexec(regexp, (value_?value_:""), 0, NULL, 0)))
return 0;
if (show_keys) {
@@ -209,6 +208,57 @@ static int get_color(int argc, const char **argv)
return 0;
}
static int stdout_is_tty;
static int get_colorbool_found;
static int get_diff_color_found;
static int git_get_colorbool_config(const char *var, const char *value)
{
if (!strcmp(var, get_color_slot)) {
get_colorbool_found =
git_config_colorbool(var, value, stdout_is_tty);
}
if (!strcmp(var, "diff.color")) {
get_diff_color_found =
git_config_colorbool(var, value, stdout_is_tty);
}
return 0;
}
static int get_colorbool(int argc, const char **argv)
{
/*
* git config --get-colorbool <slot> [<stdout-is-tty>]
*
* returns "true" or "false" depending on how <slot>
* is configured.
*/
if (argc == 2)
stdout_is_tty = git_config_bool("command line", argv[1]);
else if (argc == 1)
stdout_is_tty = isatty(1);
else
usage(git_config_set_usage);
get_colorbool_found = -1;
get_diff_color_found = -1;
get_color_slot = argv[0];
git_config(git_get_colorbool_config);
if (get_colorbool_found < 0) {
if (!strcmp(get_color_slot, "color.diff"))
get_colorbool_found = get_diff_color_found;
if (get_colorbool_found < 0)
get_colorbool_found = 0;
}
if (argc == 1) {
return get_colorbool_found ? 0 : 1;
} else {
printf("%s\n", get_colorbool_found ? "true" : "false");
return 0;
}
}
int cmd_config(int argc, const char **argv, const char *prefix)
{
int nongit = 0;
@@ -284,6 +334,8 @@ int cmd_config(int argc, const char **argv, const char *prefix)
return 0;
} else if (!strcmp(argv[1], "--get-color")) {
return get_color(argc-2, argv+2);
} else if (!strcmp(argv[1], "--get-colorbool")) {
return get_colorbool(argc-2, argv+2);
} else
break;
argc--;

View File

@@ -9,14 +9,45 @@
#include "remote.h"
#include "transport.h"
#include "run-command.h"
#include "parse-options.h"
static const char fetch_usage[] = "git-fetch [-a | --append] [--upload-pack <upload-pack>] [-f | --force] [--no-tags] [-t | --tags] [-k | --keep] [-u | --update-head-ok] [--depth <depth>] [-v | --verbose] [<repository> <refspec>...]";
static const char * const builtin_fetch_usage[] = {
"git-fetch [options] [<repository> <refspec>...]",
NULL
};
static int append, force, tags, no_tags, update_head_ok, verbose, quiet;
enum {
TAGS_UNSET = 0,
TAGS_DEFAULT = 1,
TAGS_SET = 2
};
static int append, force, keep, update_head_ok, verbose, quiet;
static int tags = TAGS_DEFAULT;
static const char *depth;
static const char *upload_pack;
static struct strbuf default_rla = STRBUF_INIT;
static struct transport *transport;
static struct option builtin_fetch_options[] = {
OPT__QUIET(&quiet),
OPT__VERBOSE(&verbose),
OPT_BOOLEAN('a', "append", &append,
"append to .git/FETCH_HEAD instead of overwriting"),
OPT_STRING(0, "upload-pack", &upload_pack, "PATH",
"path to upload pack on remote end"),
OPT_BOOLEAN('f', "force", &force,
"force overwrite of local branch"),
OPT_SET_INT('t', "tags", &tags,
"fetch all tags and associated objects", TAGS_SET),
OPT_BOOLEAN('k', "keep", &keep, "keep downloaded pack"),
OPT_BOOLEAN('u', "update-head-ok", &update_head_ok,
"allow updating of HEAD ref"),
OPT_STRING(0, "depth", &depth, "DEPTH",
"deepen history of shallow clone"),
OPT_END()
};
static void unlock_pack(void)
{
if (transport)
@@ -81,7 +112,7 @@ static struct ref *get_ref_map(struct transport *transport,
const struct ref *remote_refs = transport_get_remote_refs(transport);
if (ref_count || tags) {
if (ref_count || tags == TAGS_SET) {
for (i = 0; i < ref_count; i++) {
get_fetch_map(remote_refs, &refs[i], &tail, 0);
if (refs[i].dst && refs[i].dst[0])
@@ -90,7 +121,7 @@ static struct ref *get_ref_map(struct transport *transport,
/* Merge everything on the command line, but not --tags */
for (rm = ref_map; rm; rm = rm->next)
rm->merge = 1;
if (tags) {
if (tags == TAGS_SET) {
struct refspec refspec;
refspec.src = "refs/tags/";
refspec.dst = "refs/tags/";
@@ -482,10 +513,10 @@ static int do_fetch(struct transport *transport,
struct ref *ref_map, *fetch_map;
struct ref *rm;
int autotags = (transport->remote->fetch_tags == 1);
if (transport->remote->fetch_tags == 2 && !no_tags)
tags = 1;
if (transport->remote->fetch_tags == 2 && tags != TAGS_UNSET)
tags = TAGS_SET;
if (transport->remote->fetch_tags == -1)
no_tags = 1;
tags = TAGS_UNSET;
if (!transport->get_refs_list || !transport->fetch)
die("Don't know how to fetch from %s", transport->url);
@@ -515,7 +546,7 @@ static int do_fetch(struct transport *transport,
/* if neither --no-tags nor --tags was specified, do automated tag
* following ... */
if (!(tags || no_tags) && autotags) {
if (tags == TAGS_DEFAULT && autotags) {
ref_map = find_non_local_tags(transport, fetch_map);
if (ref_map) {
transport_set_option(transport, TRANS_OPT_DEPTH, "0");
@@ -546,80 +577,19 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
int i;
static const char **refs = NULL;
int ref_nr = 0;
const char *upload_pack = NULL;
int keep = 0;
/* Record the command line for the reflog */
strbuf_addstr(&default_rla, "fetch");
for (i = 1; i < argc; i++)
strbuf_addf(&default_rla, " %s", argv[i]);
for (i = 1; i < argc; i++) {
const char *arg = argv[i];
argc = parse_options(argc, argv,
builtin_fetch_options, builtin_fetch_usage, 0);
if (arg[0] != '-')
break;
if (!strcmp(arg, "--append") || !strcmp(arg, "-a")) {
append = 1;
continue;
}
if (!prefixcmp(arg, "--upload-pack=")) {
upload_pack = arg + 14;
continue;
}
if (!strcmp(arg, "--upload-pack")) {
i++;
if (i == argc)
usage(fetch_usage);
upload_pack = argv[i];
continue;
}
if (!strcmp(arg, "--force") || !strcmp(arg, "-f")) {
force = 1;
continue;
}
if (!strcmp(arg, "--no-tags")) {
no_tags = 1;
continue;
}
if (!strcmp(arg, "--tags") || !strcmp(arg, "-t")) {
tags = 1;
continue;
}
if (!strcmp(arg, "--keep") || !strcmp(arg, "-k")) {
keep = 1;
continue;
}
if (!strcmp(arg, "--update-head-ok") || !strcmp(arg, "-u")) {
update_head_ok = 1;
continue;
}
if (!prefixcmp(arg, "--depth=")) {
depth = arg + 8;
continue;
}
if (!strcmp(arg, "--depth")) {
i++;
if (i == argc)
usage(fetch_usage);
depth = argv[i];
continue;
}
if (!strcmp(arg, "--quiet") || !strcmp(arg, "-q")) {
quiet = 1;
continue;
}
if (!strcmp(arg, "--verbose") || !strcmp(arg, "-v")) {
verbose++;
continue;
}
usage(fetch_usage);
}
if (i == argc)
if (argc == 0)
remote = remote_get(NULL);
else
remote = remote_get(argv[i++]);
remote = remote_get(argv[0]);
transport = transport_get(remote, remote->url[0]);
if (verbose >= 2)
@@ -636,10 +606,10 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
if (!transport->url)
die("Where do you want to fetch from today?");
if (i < argc) {
if (argc > 1) {
int j = 0;
refs = xcalloc(argc - i + 1, sizeof(const char *));
while (i < argc) {
refs = xcalloc(argc + 1, sizeof(const char *));
for (i = 1; i < argc; i++) {
if (!strcmp(argv[i], "tag")) {
char *ref;
i++;
@@ -651,7 +621,6 @@ int cmd_fetch(int argc, const char **argv, const char *prefix)
refs[j++] = ref;
} else
refs[j++] = argv[i];
i++;
}
refs[j] = NULL;
ref_nr = j;

View File

@@ -13,8 +13,8 @@
#define QUOTE_NONE 0
#define QUOTE_SHELL 1
#define QUOTE_PERL 2
#define QUOTE_PYTHON 3
#define QUOTE_TCL 4
#define QUOTE_PYTHON 4
#define QUOTE_TCL 8
typedef enum { FIELD_STR, FIELD_ULONG, FIELD_TIME } cmp_type;
@@ -861,7 +861,7 @@ int cmd_for_each_ref(int argc, const char **argv, const char *prefix)
usage_with_options(for_each_ref_usage, opts);
}
if (HAS_MULTI_BITS(quote_style)) {
error("more than one quoting style ?");
error("more than one quoting style?");
usage_with_options(for_each_ref_usage, opts);
}
if (verify_format(format))

View File

@@ -343,12 +343,12 @@ static int external_grep(struct grep_opt *opt, const char **paths, int cached)
memcpy(name + 2, ce->name, len + 1);
}
argv[argc++] = name;
if (argc < MAXARGS)
continue;
status = flush_grep(opt, argc, nr, argv, &kept);
if (0 < status)
hit = 1;
argc = nr + kept;
if (MAXARGS <= argc) {
status = flush_grep(opt, argc, nr, argv, &kept);
if (0 < status)
hit = 1;
argc = nr + kept;
}
if (ce_stage(ce)) {
do {
i++;

View File

@@ -116,7 +116,7 @@ bad:
die("bad config value '%s' for variable '%s'", value, var);
}
int git_config_colorbool(const char *var, const char *value)
int git_config_colorbool(const char *var, const char *value, int stdout_is_tty)
{
if (value) {
if (!strcasecmp(value, "never"))
@@ -133,7 +133,9 @@ int git_config_colorbool(const char *var, const char *value)
/* any normal truth value defaults to 'auto' */
auto_color:
if (isatty(1) || (pager_in_use && pager_use_color)) {
if (stdout_is_tty < 0)
stdout_is_tty = isatty(1);
if (stdout_is_tty || (pager_in_use && pager_use_color)) {
char *term = getenv("TERM");
if (term && strcmp(term, "dumb"))
return 1;

View File

@@ -4,7 +4,7 @@
/* "\033[1;38;5;2xx;48;5;2xxm\0" is 23 bytes */
#define COLOR_MAXLEN 24
int git_config_colorbool(const char *var, const char *value);
int git_config_colorbool(const char *var, const char *value, int stdout_is_tty);
void color_parse(const char *var, const char *value, char *dst);
int color_fprintf(FILE *fp, const char *color, const char *fmt, ...);
int color_fprintf_ln(FILE *fp, const char *color, const char *fmt, ...);

View File

@@ -41,4 +41,5 @@ NO_STRTOUMAX=@NO_STRTOUMAX@
NO_SETENV=@NO_SETENV@
NO_MKDTEMP=@NO_MKDTEMP@
NO_ICONV=@NO_ICONV@
OLD_ICONV=@OLD_ICONV@
NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@

View File

@@ -212,6 +212,28 @@ test -n "$NEEDS_SOCKET" && LIBS="$LIBS -lsocket"
## Checks for header files.
AC_MSG_NOTICE([CHECKS for header files])
#
# Define OLD_ICONV if your library has an old iconv(), where the second
# (input buffer pointer) parameter is declared with type (const char **).
AC_DEFUN([OLDICONVTEST_SRC], [[
#include <iconv.h>
extern size_t iconv(iconv_t cd,
char **inbuf, size_t *inbytesleft,
char **outbuf, size_t *outbytesleft);
int main(void)
{
return 0;
}
]])
AC_MSG_CHECKING([for old iconv()])
AC_COMPILE_IFELSE(OLDICONVTEST_SRC,
[AC_MSG_RESULT([no])],
[AC_MSG_RESULT([yes])
OLD_ICONV=UnfortunatelyYes])
AC_SUBST(OLD_ICONV)
## Checks for typedefs, structures, and compiler characteristics.

View File

@@ -211,7 +211,7 @@ for cset in range(int(tip) + 1):
os.system('git-ls-files -x .hg --deleted | git-update-index --remove --stdin')
# commit
os.system(getgitenv(user, date) + 'git-commit -a -F %s' % filecomment)
os.system(getgitenv(user, date) + 'git commit --allow-empty -a -F %s' % filecomment)
os.unlink(filecomment)
# tag

2
diff.c
View File

@@ -146,7 +146,7 @@ int git_diff_ui_config(const char *var, const char *value)
return 0;
}
if (!strcmp(var, "diff.color") || !strcmp(var, "color.diff")) {
diff_use_color_default = git_config_colorbool(var, value);
diff_use_color_default = git_config_colorbool(var, value, -1);
return 0;
}
if (!strcmp(var, "diff.renames")) {

View File

@@ -1,6 +1,55 @@
#!/usr/bin/perl -w
use strict;
use Git;
# Prompt colors:
my ($prompt_color, $header_color, $help_color, $normal_color);
# Diff colors:
my ($new_color, $old_color, $fraginfo_color, $metainfo_color, $whitespace_color);
my ($use_color, $diff_use_color);
my $repo = Git->repository();
$use_color = $repo->get_colorbool('color.interactive');
if ($use_color) {
# Set interactive colors:
# Grab the 3 main colors in git color string format, with sane
# (visible) defaults:
$prompt_color = $repo->get_color("color.interactive.prompt", "bold blue");
$header_color = $repo->get_color("color.interactive.header", "bold");
$help_color = $repo->get_color("color.interactive.help", "red bold");
$normal_color = $repo->get_color("", "reset");
# Do we also set diff colors?
$diff_use_color = $repo->get_colorbool('color.diff');
if ($diff_use_color) {
$new_color = $repo->get_color("color.diff.new", "green");
$old_color = $repo->get_color("color.diff.old", "red");
$fraginfo_color = $repo->get_color("color.diff.frag", "cyan");
$metainfo_color = $repo->get_color("color.diff.meta", "bold");
$whitespace_color = $repo->get_color("color.diff.whitespace", "normal red");
}
}
sub colored {
my $color = shift;
my $string = join("", @_);
if ($use_color) {
# Put a color code at the beginning of each line, a reset at the end
# color after newlines that are not at the end of the string
$string =~ s/(\n+)(.)/$1$color$2/g;
# reset before newlines
$string =~ s/(\n+)/$normal_color$1/g;
# codes at beginning and end (if necessary):
$string =~ s/^/$color/;
$string =~ s/$/$normal_color/ unless $string =~ /\n$/;
}
return $string;
}
# command line options
my $patch_mode;
@@ -246,10 +295,20 @@ sub is_valid_prefix {
sub highlight_prefix {
my $prefix = shift;
my $remainder = shift;
return $remainder unless defined $prefix;
return is_valid_prefix($prefix) ?
"[$prefix]$remainder" :
"$prefix$remainder";
if (!defined $prefix) {
return $remainder;
}
if (!is_valid_prefix($prefix)) {
return "$prefix$remainder";
}
if (!$use_color) {
return "[$prefix]$remainder";
}
return "$prompt_color$prefix$normal_color$remainder";
}
sub list_and_choose {
@@ -266,7 +325,7 @@ sub list_and_choose {
if (!$opts->{LIST_FLAT}) {
print " ";
}
print "$opts->{HEADER}\n";
print colored $header_color, "$opts->{HEADER}\n";
}
for ($i = 0; $i < @stuff; $i++) {
my $chosen = $chosen[$i] ? '*' : ' ';
@@ -304,7 +363,7 @@ sub list_and_choose {
return if ($opts->{LIST_ONLY});
print $opts->{PROMPT};
print colored $prompt_color, $opts->{PROMPT};
if ($opts->{SINGLETON}) {
print "> ";
}
@@ -371,7 +430,7 @@ sub list_and_choose {
}
sub singleton_prompt_help_cmd {
print <<\EOF ;
print colored $help_color, <<\EOF ;
Prompt help:
1 - select a numbered item
foo - select item based on unique prefix
@@ -380,7 +439,7 @@ EOF
}
sub prompt_help_cmd {
print <<\EOF ;
print colored $help_color, <<\EOF ;
Prompt help:
1 - select a single item
3-5 - select a range of items
@@ -477,6 +536,31 @@ sub parse_diff {
return @hunk;
}
sub colored_diff_hunk {
my ($text) = @_;
# return the text, so that it can be passed to print()
my @ret;
for (@$text) {
if (!$diff_use_color) {
push @ret, $_;
next;
}
if (/^\+/) {
push @ret, colored($new_color, $_);
} elsif (/^\-/) {
push @ret, colored($old_color, $_);
} elsif (/^\@/) {
push @ret, colored($fraginfo_color, $_);
} elsif (/^ /) {
push @ret, colored($normal_color, $_);
} else {
push @ret, colored($metainfo_color, $_);
}
}
return @ret;
}
sub hunk_splittable {
my ($text) = @_;
@@ -671,7 +755,7 @@ sub coalesce_overlapping_hunks {
}
sub help_patch_cmd {
print <<\EOF ;
print colored $help_color, <<\EOF ;
y - stage this hunk
n - do not stage this hunk
a - stage this and all the remaining hunks in the file
@@ -710,9 +794,7 @@ sub patch_update_file {
my ($ix, $num);
my $path = shift;
my ($head, @hunk) = parse_diff($path);
for (@{$head->{TEXT}}) {
print;
}
print colored_diff_hunk($head->{TEXT});
$num = scalar @hunk;
$ix = 0;
@@ -754,10 +836,8 @@ sub patch_update_file {
if (hunk_splittable($hunk[$ix]{TEXT})) {
$other .= '/s';
}
for (@{$hunk[$ix]{TEXT}}) {
print;
}
print "Stage this hunk [y/n/a/d$other/?]? ";
print colored_diff_hunk($hunk[$ix]{TEXT});
print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
my $line = <STDIN>;
if ($line) {
if ($line =~ /^y/i) {
@@ -811,7 +891,7 @@ sub patch_update_file {
elsif ($other =~ /s/ && $line =~ /^s/) {
my @split = split_hunk($hunk[$ix]{TEXT});
if (1 < @split) {
print "Split into ",
print colored $header_color, "Split into ",
scalar(@split), " hunks.\n";
}
splice(@hunk, $ix, 1,
@@ -894,8 +974,7 @@ sub diff_cmd {
HEADER => $status_head, },
@mods);
return if (!@them);
system(qw(git diff-index -p --cached HEAD --),
map { $_->{VALUE} } @them);
system(qw(git diff -p --cached HEAD --), map { $_->{VALUE} } @them);
}
sub quit_cmd {
@@ -904,7 +983,7 @@ sub quit_cmd {
}
sub help_cmd {
print <<\EOF ;
print colored $help_color, <<\EOF ;
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

View File

@@ -117,6 +117,10 @@ It does not apply to blobs recorded in its index."
unset GITHEAD_$his_tree
}
reread_subject () {
git stripspace <"$1" | sed -e 1q
}
prec=4
dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary=
resolvemsg= resume=
@@ -307,9 +311,9 @@ do
GIT_AUTHOR_EMAIL="$(sed -n '/^Email/ s/Email: //p' "$dotest/info")"
GIT_AUTHOR_DATE="$(sed -n '/^Date/ s/Date: //p' "$dotest/info")"
if test -z "$GIT_AUTHOR_EMAIL" || test -z "$GIT_AUTHOR_DATE"
if test -z "$GIT_AUTHOR_EMAIL"
then
echo "Patch does not have valid authorship information."
echo "Patch does not have a valid e-mail address."
stop_here $this
fi
@@ -376,6 +380,7 @@ do
[aA]*) action=yes interactive= ;;
[nN]*) action=skip ;;
[eE]*) git_editor "$dotest/final-commit"
SUBJECT=$(reread_subject "$dotest/final-commit")
action=again ;;
[vV]*) action=again
LESS=-S ${PAGER:-less} "$dotest/patch" ;;

View File

@@ -1211,13 +1211,13 @@ sub req_ci
chdir $tmpdir;
# populate the temporary index based
# populate the temporary index
system("git-read-tree", $parenthash);
unless ($? == 0)
{
die "Error running git-read-tree $state->{module} $file_index $!";
}
$log->info("Created index '$file_index' with for head $state->{module} - exit status $?");
$log->info("Created index '$file_index' for head $state->{module} - exit status $?");
my @committedfiles = ();
my %oldmeta;
@@ -1237,7 +1237,7 @@ sub req_ci
my ( $filepart, $dirpart ) = filenamesplit($filename);
# do a checkout of the file if it part of this tree
# do a checkout of the file if it is part of this tree
if ($wrev) {
system('git-checkout-index', '-f', '-u', $filename);
unless ($? == 0) {
@@ -1324,11 +1324,11 @@ sub req_ci
exit;
}
# Check that this is allowed, just as we would with a receive-pack
my @cmd = ( $ENV{GIT_DIR}.'hooks/update', "refs/heads/$state->{module}",
### Emulate git-receive-pack by running hooks/update
my @hook = ( $ENV{GIT_DIR}.'hooks/update', "refs/heads/$state->{module}",
$parenthash, $commithash );
if( -x $cmd[0] ) {
unless( system( @cmd ) == 0 )
if( -x $hook[0] ) {
unless( system( @hook ) == 0 )
{
$log->warn("Commit failed (update hook declined to update ref)");
print "error 1 Commit failed (update hook declined)\n";
@@ -1337,6 +1337,7 @@ sub req_ci
}
}
### Update the ref
if (system(qw(git update-ref -m), "cvsserver ci",
"refs/heads/$state->{module}", $commithash, $parenthash)) {
$log->warn("update-ref for $state->{module} failed.");
@@ -1344,6 +1345,24 @@ sub req_ci
exit;
}
### Emulate git-receive-pack by running hooks/post-receive
my $hook = $ENV{GIT_DIR}.'hooks/post-receive';
if( -x $hook ) {
open(my $pipe, "| $hook") || die "can't fork $!";
local $SIG{PIPE} = sub { die 'pipe broke' };
print $pipe "$parenthash $commithash refs/heads/$state->{module}\n";
close $pipe || die "bad pipe: $! $?";
}
### Then hooks/post-update
$hook = $ENV{GIT_DIR}.'hooks/post-update';
if (-x $hook) {
system($hook, "refs/heads/$state->{module}");
}
$updater->update();
# foreach file specified on the command line ...

View File

@@ -43,11 +43,11 @@ endif
RM_RF ?= rm -rf
RMDIR ?= rmdir
INSTALL_D0 = $(INSTALL) -d -m755 # space is required here
INSTALL_D0 = $(INSTALL) -d -m 755 # space is required here
INSTALL_D1 =
INSTALL_R0 = $(INSTALL) -m644 # space is required here
INSTALL_R0 = $(INSTALL) -m 644 # space is required here
INSTALL_R1 =
INSTALL_X0 = $(INSTALL) -m755 # space is required here
INSTALL_X0 = $(INSTALL) -m 755 # space is required here
INSTALL_X1 =
INSTALL_A0 = find # space is required here
INSTALL_A1 = | cpio -pud
@@ -71,11 +71,11 @@ ifndef V
QUIET_2DEVNULL = 2>/dev/null
INSTALL_D0 = dir=
INSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m755 "$$dir"
INSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m 755 "$$dir"
INSTALL_R0 = src=
INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(INSTALL) -m644 $$src
INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(INSTALL) -m 644 $$src
INSTALL_X0 = src=
INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(INSTALL) -m755 $$src
INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(INSTALL) -m 755 $$src
INSTALL_A0 = src=
INSTALL_A1 = && echo ' ' INSTALL ' ' `basename "$$src"` && find "$$src" | cpio -pud
@@ -212,7 +212,7 @@ $(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES)
update-po:: $(PO_TEMPLATE)
$(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; )
$(ALL_MSGFILES): %.msg : %.po
$(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) $(QUIET_MSGFMT1)
$(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1)
lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VARS
$(QUIET_INDEX)if echo \

View File

@@ -184,7 +184,7 @@ You must stage at least 1 file before you can commit.
A good commit message has the following format:
- First line: Describe in one sentance what you did.
- First line: Describe in one sentence what you did.
- Second line: Blank
- Remaining lines: Describe why this change is good.
"]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -7,41 +7,41 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-10-19 21:10+0200\n"
"PO-Revision-Date: 2007-10-20 15:28+0200\n"
"POT-Creation-Date: 2007-11-24 10:36+0100\n"
"PO-Revision-Date: 2007-11-24 10:55+0100\n"
"Last-Translator: Christian Stimming <stimming@tuhh.de>\n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: git-gui.sh:41 git-gui.sh:590 git-gui.sh:604 git-gui.sh:617 git-gui.sh:700
#: git-gui.sh:719
#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714
#: git-gui.sh:733
msgid "git-gui: fatal error"
msgstr "git-gui: Programmfehler"
#: git-gui.sh:551
#: git-gui.sh:565
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr "Ungültige Zeichensatz-Angabe in %s:"
#: git-gui.sh:576
#: git-gui.sh:590
msgid "Main Font"
msgstr "Programmschriftart"
#: git-gui.sh:577
#: git-gui.sh:591
msgid "Diff/Console Font"
msgstr "Vergleich-Schriftart"
#: git-gui.sh:591
#: git-gui.sh:605
msgid "Cannot find git in PATH."
msgstr "Git kann im PATH nicht gefunden werden."
#: git-gui.sh:618
#: git-gui.sh:632
msgid "Cannot parse Git version string:"
msgstr "Git Versionsangabe kann nicht erkannt werden:"
#: git-gui.sh:636
#: git-gui.sh:650
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@@ -60,81 +60,81 @@ msgstr ""
"\n"
"Soll angenommen werden, »%s« sei Version 1.5.0?\n"
#: git-gui.sh:874
#: git-gui.sh:888
msgid "Git directory not found:"
msgstr "Git-Verzeichnis nicht gefunden:"
#: git-gui.sh:881
#: git-gui.sh:895
msgid "Cannot move to top of working directory:"
msgstr ""
"Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt "
"werden:"
#: git-gui.sh:888
#: git-gui.sh:902
msgid "Cannot use funny .git directory:"
msgstr "Unerwartete Struktur des .git Verzeichnis:"
#: git-gui.sh:893
#: git-gui.sh:907
msgid "No working directory"
msgstr "Kein Arbeitsverzeichnis"
#: git-gui.sh:1040
#: git-gui.sh:1054
msgid "Refreshing file status..."
msgstr "Dateistatus aktualisieren..."
#: git-gui.sh:1105
#: git-gui.sh:1119
msgid "Scanning for modified files ..."
msgstr "Nach geänderten Dateien suchen..."
#: git-gui.sh:1280 lib/browser.tcl:245
#: git-gui.sh:1294 lib/browser.tcl:245
msgid "Ready."
msgstr "Bereit."
#: git-gui.sh:1546
#: git-gui.sh:1560
msgid "Unmodified"
msgstr "Unverändert"
#: git-gui.sh:1548
#: git-gui.sh:1562
msgid "Modified, not staged"
msgstr "Verändert, nicht bereitgestellt"
#: git-gui.sh:1549 git-gui.sh:1554
#: git-gui.sh:1563 git-gui.sh:1568
msgid "Staged for commit"
msgstr "Bereitgestellt zum Eintragen"
#: git-gui.sh:1550 git-gui.sh:1555
#: git-gui.sh:1564 git-gui.sh:1569
msgid "Portions staged for commit"
msgstr "Teilweise bereitgestellt zum Eintragen"
#: git-gui.sh:1551 git-gui.sh:1556
#: git-gui.sh:1565 git-gui.sh:1570
msgid "Staged for commit, missing"
msgstr "Bereitgestellt zum Eintragen, fehlend"
#: git-gui.sh:1553
#: git-gui.sh:1567
msgid "Untracked, not staged"
msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt"
#: git-gui.sh:1558
#: git-gui.sh:1572
msgid "Missing"
msgstr "Fehlend"
#: git-gui.sh:1559
#: git-gui.sh:1573
msgid "Staged for removal"
msgstr "Bereitgestellt zum Löschen"
#: git-gui.sh:1560
#: git-gui.sh:1574
msgid "Staged for removal, still present"
msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden"
#: git-gui.sh:1562 git-gui.sh:1563 git-gui.sh:1564 git-gui.sh:1565
#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579
msgid "Requires merge resolution"
msgstr "Konfliktauflösung nötig"
#: git-gui.sh:1600
#: git-gui.sh:1614
msgid "Starting gitk... please wait..."
msgstr "Gitk wird gestartet... bitte warten."
#: git-gui.sh:1609
#: git-gui.sh:1623
#, tcl-format
msgid ""
"Unable to start gitk:\n"
@@ -145,295 +145,295 @@ msgstr ""
"\n"
"%s existiert nicht"
#: git-gui.sh:1809 lib/choose_repository.tcl:35
#: git-gui.sh:1823 lib/choose_repository.tcl:35
msgid "Repository"
msgstr "Projektarchiv"
#: git-gui.sh:1810
#: git-gui.sh:1824
msgid "Edit"
msgstr "Bearbeiten"
#: git-gui.sh:1812 lib/choose_rev.tcl:560
#: git-gui.sh:1826 lib/choose_rev.tcl:560
msgid "Branch"
msgstr "Zweig"
#: git-gui.sh:1815 lib/choose_rev.tcl:547
#: git-gui.sh:1829 lib/choose_rev.tcl:547
msgid "Commit@@noun"
msgstr "Version"
#: git-gui.sh:1818 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
msgid "Merge"
msgstr "Zusammenführen"
#: git-gui.sh:1819 lib/choose_rev.tcl:556
#: git-gui.sh:1833 lib/choose_rev.tcl:556
msgid "Remote"
msgstr "Andere Archive"
#: git-gui.sh:1828
#: git-gui.sh:1842
msgid "Browse Current Branch's Files"
msgstr "Aktuellen Zweig durchblättern"
#: git-gui.sh:1832
#: git-gui.sh:1846
msgid "Browse Branch Files..."
msgstr "Einen Zweig durchblättern..."
#: git-gui.sh:1837
#: git-gui.sh:1851
msgid "Visualize Current Branch's History"
msgstr "Aktuellen Zweig darstellen"
#: git-gui.sh:1841
#: git-gui.sh:1855
msgid "Visualize All Branch History"
msgstr "Alle Zweige darstellen"
#: git-gui.sh:1848
#: git-gui.sh:1862
#, tcl-format
msgid "Browse %s's Files"
msgstr "Zweig »%s« durchblättern"
#: git-gui.sh:1850
#: git-gui.sh:1864
#, tcl-format
msgid "Visualize %s's History"
msgstr "Historie von »%s« darstellen"
#: git-gui.sh:1855 lib/database.tcl:27 lib/database.tcl:67
#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
msgstr "Datenbankstatistik"
#: git-gui.sh:1858 lib/database.tcl:34
#: git-gui.sh:1872 lib/database.tcl:34
msgid "Compress Database"
msgstr "Datenbank komprimieren"
#: git-gui.sh:1861
#: git-gui.sh:1875
msgid "Verify Database"
msgstr "Datenbank überprüfen"
#: git-gui.sh:1868 git-gui.sh:1872 git-gui.sh:1876 lib/shortcut.tcl:7
#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7
#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
msgid "Create Desktop Icon"
msgstr "Desktop-Icon erstellen"
#: git-gui.sh:1881 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184
#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184
msgid "Quit"
msgstr "Beenden"
#: git-gui.sh:1888
#: git-gui.sh:1902
msgid "Undo"
msgstr "Rückgängig"
#: git-gui.sh:1891
#: git-gui.sh:1905
msgid "Redo"
msgstr "Wiederholen"
#: git-gui.sh:1895 git-gui.sh:2388
#: git-gui.sh:1909 git-gui.sh:2403
msgid "Cut"
msgstr "Ausschneiden"
#: git-gui.sh:1898 git-gui.sh:2391 git-gui.sh:2462 git-gui.sh:2534
#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549
#: lib/console.tcl:67
msgid "Copy"
msgstr "Kopieren"
#: git-gui.sh:1901 git-gui.sh:2394
#: git-gui.sh:1915 git-gui.sh:2409
msgid "Paste"
msgstr "Einfügen"
#: git-gui.sh:1904 git-gui.sh:2397 lib/branch_delete.tcl:26
#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26
#: lib/remote_branch_delete.tcl:38
msgid "Delete"
msgstr "Löschen"
#: git-gui.sh:1908 git-gui.sh:2401 git-gui.sh:2538 lib/console.tcl:69
#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69
msgid "Select All"
msgstr "Alle auswählen"
#: git-gui.sh:1917
#: git-gui.sh:1931
msgid "Create..."
msgstr "Erstellen..."
#: git-gui.sh:1923
#: git-gui.sh:1937
msgid "Checkout..."
msgstr "Umstellen..."
#: git-gui.sh:1929
#: git-gui.sh:1943
msgid "Rename..."
msgstr "Umbenennen..."
#: git-gui.sh:1934 git-gui.sh:2033
#: git-gui.sh:1948 git-gui.sh:2048
msgid "Delete..."
msgstr "Löschen..."
#: git-gui.sh:1939
#: git-gui.sh:1953
msgid "Reset..."
msgstr "Zurücksetzen..."
#: git-gui.sh:1951 git-gui.sh:2335
#: git-gui.sh:1965 git-gui.sh:2350
msgid "New Commit"
msgstr "Neue Version"
#: git-gui.sh:1959 git-gui.sh:2342
#: git-gui.sh:1973 git-gui.sh:2357
msgid "Amend Last Commit"
msgstr "Letzte Version nachbessern"
#: git-gui.sh:1968 git-gui.sh:2302 lib/remote_branch_delete.tcl:99
#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr "Neu laden"
#: git-gui.sh:1974
#: git-gui.sh:1988
msgid "Stage To Commit"
msgstr "Zum Eintragen bereitstellen"
#: git-gui.sh:1979
#: git-gui.sh:1994
msgid "Stage Changed Files To Commit"
msgstr "Geänderte Dateien zum Eintragen bereitstellen"
#: git-gui.sh:1985
#: git-gui.sh:2000
msgid "Unstage From Commit"
msgstr "Aus der Bereitstellung herausnehmen"
#: git-gui.sh:1990 lib/index.tcl:352
#: git-gui.sh:2005 lib/index.tcl:393
msgid "Revert Changes"
msgstr "Änderungen revidieren"
#: git-gui.sh:1997 git-gui.sh:2314 git-gui.sh:2412
#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427
msgid "Sign Off"
msgstr "Abzeichnen"
#: git-gui.sh:2001 git-gui.sh:2318
#: git-gui.sh:2016 git-gui.sh:2333
msgid "Commit@@verb"
msgstr "Eintragen"
#: git-gui.sh:2012
#: git-gui.sh:2027
msgid "Local Merge..."
msgstr "Lokales Zusammenführen..."
#: git-gui.sh:2017
#: git-gui.sh:2032
msgid "Abort Merge..."
msgstr "Zusammenführen abbrechen..."
#: git-gui.sh:2029
#: git-gui.sh:2044
msgid "Push..."
msgstr "Versenden..."
#: git-gui.sh:2040 lib/choose_repository.tcl:40
#: git-gui.sh:2055 lib/choose_repository.tcl:40
msgid "Apple"
msgstr "Apple"
#: git-gui.sh:2043 git-gui.sh:2065 lib/about.tcl:13
#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13
#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49
#, tcl-format
msgid "About %s"
msgstr "Über %s"
#: git-gui.sh:2047
#: git-gui.sh:2062
msgid "Preferences..."
msgstr "Einstellungen..."
#: git-gui.sh:2055 git-gui.sh:2580
#: git-gui.sh:2070 git-gui.sh:2595
msgid "Options..."
msgstr "Optionen..."
#: git-gui.sh:2061 lib/choose_repository.tcl:46
#: git-gui.sh:2076 lib/choose_repository.tcl:46
msgid "Help"
msgstr "Hilfe"
#: git-gui.sh:2102
#: git-gui.sh:2117
msgid "Online Documentation"
msgstr "Online-Dokumentation"
#: git-gui.sh:2186
#: git-gui.sh:2201
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
msgstr ""
msgstr "Fehler: Verzeichnis »%s« kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden"
#: git-gui.sh:2219
#: git-gui.sh:2234
msgid "Current Branch:"
msgstr "Aktueller Zweig:"
#: git-gui.sh:2240
#: git-gui.sh:2255
msgid "Staged Changes (Will Commit)"
msgstr "Bereitgestellte Änderungen (zum Eintragen)"
#: git-gui.sh:2259
#: git-gui.sh:2274
msgid "Unstaged Changes"
msgstr "Nicht bereitgestellte Änderungen"
#: git-gui.sh:2308
#: git-gui.sh:2323
msgid "Stage Changed"
msgstr "Alles bereitstellen"
#: git-gui.sh:2324 lib/transport.tcl:93 lib/transport.tcl:182
#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182
msgid "Push"
msgstr "Versenden"
#: git-gui.sh:2354
#: git-gui.sh:2369
msgid "Initial Commit Message:"
msgstr "Erste Versionsbeschreibung:"
#: git-gui.sh:2355
#: git-gui.sh:2370
msgid "Amended Commit Message:"
msgstr "Nachgebesserte Versionsbeschreibung:"
#: git-gui.sh:2356
#: git-gui.sh:2371
msgid "Amended Initial Commit Message:"
msgstr "Nachgebesserte erste Versionsbeschreibung:"
#: git-gui.sh:2357
#: git-gui.sh:2372
msgid "Amended Merge Commit Message:"
msgstr "Nachgebesserte Zusammenführungs-Versionsbeschreibung:"
#: git-gui.sh:2358
#: git-gui.sh:2373
msgid "Merge Commit Message:"
msgstr "Zusammenführungs-Versionsbeschreibung:"
#: git-gui.sh:2359
#: git-gui.sh:2374
msgid "Commit Message:"
msgstr "Versionsbeschreibung:"
#: git-gui.sh:2404 git-gui.sh:2542 lib/console.tcl:71
#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71
msgid "Copy All"
msgstr "Alle kopieren"
#: git-gui.sh:2428 lib/blame.tcl:104
#: git-gui.sh:2443 lib/blame.tcl:104
msgid "File:"
msgstr "Datei:"
#: git-gui.sh:2530
#: git-gui.sh:2545
msgid "Refresh"
msgstr "Aktualisieren"
#: git-gui.sh:2551
#: git-gui.sh:2566
msgid "Apply/Reverse Hunk"
msgstr "Änderung anwenden/umkehren"
#: git-gui.sh:2557
#: git-gui.sh:2572
msgid "Decrease Font Size"
msgstr "Schriftgröße verkleinern"
#: git-gui.sh:2561
#: git-gui.sh:2576
msgid "Increase Font Size"
msgstr "Schriftgröße vergrößern"
#: git-gui.sh:2566
#: git-gui.sh:2581
msgid "Show Less Context"
msgstr "Weniger Kontext anzeigen"
#: git-gui.sh:2573
#: git-gui.sh:2588
msgid "Show More Context"
msgstr "Mehr Kontext anzeigen"
#: git-gui.sh:2587
#: git-gui.sh:2602
msgid "Unstage Hunk From Commit"
msgstr "Aus der Bereitstellung herausnehmen"
#: git-gui.sh:2589
#: git-gui.sh:2604
msgid "Stage Hunk For Commit"
msgstr "In die Bereitstellung hinzufügen"
#: git-gui.sh:2608
#: git-gui.sh:2623
msgid "Initializing..."
msgstr "Initialisieren..."
#: git-gui.sh:2699
#: git-gui.sh:2718
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@@ -443,15 +443,23 @@ msgid ""
"by %s:\n"
"\n"
msgstr ""
"Möglicherweise gibt es Probleme mit manchen Umgebungsvariablen.\n"
"\n"
"Die folgenden Umgebungsvariablen können vermutlich nicht \n"
"von %s an Git weitergegeben werden:\n"
"\n"
#: git-gui.sh:2729
#: git-gui.sh:2748
msgid ""
"\n"
"This is due to a known issue with the\n"
"Tcl binary distributed by Cygwin."
msgstr ""
"\n"
"Dies ist ein bekanntes Problem der Tcl-Version, die\n"
"in Cygwin mitgeliefert wird."
#: git-gui.sh:2734
#: git-gui.sh:2753
#, tcl-format
msgid ""
"\n"
@@ -461,6 +469,11 @@ msgid ""
"user.email settings into your personal\n"
"~/.gitconfig file.\n"
msgstr ""
"\n"
"\n"
"Um den Namen »%s« zu ändern, sollten Sie die \n"
"gewünschten Werte für die Einstellung user.name und \n"
"user.email in Ihre Datei ~/.gitconfig einfügen.\n"
#: lib/about.tcl:25
msgid "git-gui - a graphical user interface for Git."
@@ -485,19 +498,19 @@ msgstr "%s lesen..."
#: lib/blame.tcl:473
msgid "Loading copy/move tracking annotations..."
msgstr ""
msgstr "Annotierungen für Kopieren/Verschieben werden geladen..."
#: lib/blame.tcl:493
msgid "lines annotated"
msgstr ""
msgstr "Zeilen annotiert"
#: lib/blame.tcl:674
msgid "Loading original location annotations..."
msgstr ""
msgstr "Annotierungen für ursprünglichen Ort werden geladen..."
#: lib/blame.tcl:677
msgid "Annotation complete."
msgstr ""
msgstr "Annotierung vollständig."
#: lib/blame.tcl:731
msgid "Loading annotation..."
@@ -733,7 +746,7 @@ msgstr "Änderungen »%s« von »%s« anfordern"
#: lib/checkout_op.tcl:127
#, tcl-format
msgid "fatal: Cannot resolve %s"
msgstr ""
msgstr "Fehler: »%s« kann nicht als Zweig oder Version erkannt werden"
#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31
msgid "Close"
@@ -994,20 +1007,20 @@ msgstr "Verknüpft ist nur für lokale Projektarchive verfügbar."
#: lib/choose_repository.tcl:617
msgid "Failed to configure origin"
msgstr ""
msgstr "Der Ursprungsort konnte nicht eingerichtet werden"
#: lib/choose_repository.tcl:629
msgid "Counting objects"
msgstr ""
msgstr "Objekte werden gezählt"
#: lib/choose_repository.tcl:630
msgid "buckets"
msgstr ""
msgstr "Buckets"
#: lib/choose_repository.tcl:654
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
msgstr ""
msgstr "Kopien von Objekten/Info/Alternates konnten nicht erstellt werden: %s"
#: lib/choose_repository.tcl:690
#, tcl-format
@@ -1017,11 +1030,11 @@ msgstr "Von »%s« konnte nichts kopiert werden."
#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906
#: lib/choose_repository.tcl:918
msgid "The 'master' branch has not been initialized."
msgstr ""
msgstr "Der »master«-Zweig wurde noch nicht initialisiert."
#: lib/choose_repository.tcl:705
msgid "Hardlinks are unavailable. Falling back to copying."
msgstr ""
msgstr "Hardlinks nicht verfügbar. Stattdessen wird kopiert."
#: lib/choose_repository.tcl:717
#, tcl-format
@@ -1052,24 +1065,24 @@ msgstr "Objekte"
#: lib/choose_repository.tcl:792
#, tcl-format
msgid "Unable to hardlink object: %s"
msgstr "Objekt kann nicht hartverlinkt werden: %s"
msgstr "Für Objekt konnte kein Hardlink erstellt werden: %s"
#: lib/choose_repository.tcl:847
msgid "Cannot fetch branches and objects. See console output for details."
msgstr ""
msgstr "Zweige und Objekte konnten nicht angefordert werden. Kontrollieren Sie die Ausgaben auf der Konsole für weitere Angaben."
#: lib/choose_repository.tcl:858
msgid "Cannot fetch tags. See console output for details."
msgstr ""
msgstr "Markierungen konnten nicht angefordert werden. Kontrollieren Sie die Ausgaben auf der Konsole für weitere Angaben."
#: lib/choose_repository.tcl:882
msgid "Cannot determine HEAD. See console output for details."
msgstr ""
msgstr "Die Zweigspitze (HEAD) konnte nicht gefunden werden. Kontrollieren Sie die Ausgaben auf der Konsole für weitere Angaben."
#: lib/choose_repository.tcl:891
#, tcl-format
msgid "Unable to cleanup %s"
msgstr ""
msgstr "Verzeichnis »%s« kann nicht aufgeräumt werden."
#: lib/choose_repository.tcl:897
msgid "Clone failed."
@@ -1077,25 +1090,25 @@ msgstr "Kopieren fehlgeschlagen."
#: lib/choose_repository.tcl:904
msgid "No default branch obtained."
msgstr ""
msgstr "Kein voreingestellter Zweig gefunden."
#: lib/choose_repository.tcl:915
#, tcl-format
msgid "Cannot resolve %s as a commit."
msgstr ""
msgstr "»%s« wurde nicht als Version gefunden."
#: lib/choose_repository.tcl:927
msgid "Creating working directory"
msgstr "Arbeitskopie erstellen"
#: lib/choose_repository.tcl:928 lib/index.tcl:15 lib/index.tcl:80
#: lib/index.tcl:149
#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127
#: lib/index.tcl:193
msgid "files"
msgstr "Dateien"
#: lib/choose_repository.tcl:957
msgid "Initial file checkout failed."
msgstr ""
msgstr "Erstellen der Arbeitskopie fehlgeschlagen."
#: lib/choose_repository.tcl:973
msgid "Open"
@@ -1246,7 +1259,7 @@ msgid ""
"\n"
"A good commit message has the following format:\n"
"\n"
"- First line: Describe in one sentance what you did.\n"
"- First line: Describe in one sentence what you did.\n"
"- Second line: Blank\n"
"- Remaining lines: Describe why this change is good.\n"
msgstr ""
@@ -1291,7 +1304,7 @@ msgstr "Keine Änderungen, die eingetragen werden können."
#: lib/commit.tcl:303
#, tcl-format
msgid "warning: Tcl does not support encoding '%s'."
msgstr ""
msgstr "Warning: Tcl/Tk unterstützt die Zeichencodierung »%s« nicht."
#: lib/commit.tcl:317
msgid "commit-tree failed:"
@@ -1446,32 +1459,54 @@ msgid "You must correct the above errors before committing."
msgstr ""
"Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können."
#: lib/index.tcl:241
#: lib/index.tcl:6
msgid "Unable to unlock the index."
msgstr "Bereitstellung kann nicht wieder freigegeben werden."
#: lib/index.tcl:15
msgid "Index Error"
msgstr "Fehler in Bereitstellung"
#: lib/index.tcl:21
msgid ""
"Updating the Git index failed. A rescan will be automatically started to "
"resynchronize git-gui."
msgstr "Das Aktualisieren der Git-Bereitstellung ist fehlgeschlagen. Eine allgemeine Git-Aktualisierung wird jetzt gestartet, um git-gui wieder mit git zu synchronisieren."
#: lib/index.tcl:27
msgid "Continue"
msgstr "Fortsetzen"
#: lib/index.tcl:31
msgid "Unlock Index"
msgstr "Bereitstellung freigeben"
#: lib/index.tcl:282
#, tcl-format
msgid "Unstaging %s from commit"
msgstr "Datei »%s« aus der Bereitstellung herausnehmen"
#: lib/index.tcl:285
#: lib/index.tcl:326
#, tcl-format
msgid "Adding %s"
msgstr "»%s« hinzufügen..."
#: lib/index.tcl:340
#: lib/index.tcl:381
#, tcl-format
msgid "Revert changes in file %s?"
msgstr "Änderungen in Datei »%s« revidieren?"
#: lib/index.tcl:342
#: lib/index.tcl:383
#, tcl-format
msgid "Revert changes in these %i files?"
msgstr "Änderungen in den gewählten %i Dateien revidieren?"
#: lib/index.tcl:348
#: lib/index.tcl:389
msgid "Any unstaged changes will be permanently lost by the revert."
msgstr ""
"Alle nicht bereitgestellten Änderungen werden beim Revidieren verloren gehen."
#: lib/index.tcl:351
#: lib/index.tcl:392
msgid "Do Nothing"
msgstr "Nichts tun"
@@ -1867,12 +1902,3 @@ msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)"
#: lib/transport.tcl:168
msgid "Include tags"
msgstr "Mit Markierungen übertragen"
#~ msgid "Next >"
#~ msgstr "Weiter >"
#~ msgid "Fetch"
#~ msgstr "Anfordern"
#~ msgid "Unstaged Changes (Will Not Be Committed)"
#~ msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)"

View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-10-10 04:04-0400\n"
"POT-Creation-Date: 2007-11-24 10:36+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,33 +16,33 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744
#: git-gui.sh:763
#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714
#: git-gui.sh:733
msgid "git-gui: fatal error"
msgstr ""
#: git-gui.sh:595
#: git-gui.sh:565
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr ""
#: git-gui.sh:620
#: git-gui.sh:590
msgid "Main Font"
msgstr ""
#: git-gui.sh:621
#: git-gui.sh:591
msgid "Diff/Console Font"
msgstr ""
#: git-gui.sh:635
#: git-gui.sh:605
msgid "Cannot find git in PATH."
msgstr ""
#: git-gui.sh:662
#: git-gui.sh:632
msgid "Cannot parse Git version string:"
msgstr ""
#: git-gui.sh:680
#: git-gui.sh:650
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@@ -54,79 +54,79 @@ msgid ""
"Assume '%s' is version 1.5.0?\n"
msgstr ""
#: git-gui.sh:853
#: git-gui.sh:888
msgid "Git directory not found:"
msgstr ""
#: git-gui.sh:860
#: git-gui.sh:895
msgid "Cannot move to top of working directory:"
msgstr ""
#: git-gui.sh:867
#: git-gui.sh:902
msgid "Cannot use funny .git directory:"
msgstr ""
#: git-gui.sh:872
#: git-gui.sh:907
msgid "No working directory"
msgstr ""
#: git-gui.sh:1019
#: git-gui.sh:1054
msgid "Refreshing file status..."
msgstr ""
#: git-gui.sh:1084
#: git-gui.sh:1119
msgid "Scanning for modified files ..."
msgstr ""
#: git-gui.sh:1259 lib/browser.tcl:245
#: git-gui.sh:1294 lib/browser.tcl:245
msgid "Ready."
msgstr ""
#: git-gui.sh:1525
#: git-gui.sh:1560
msgid "Unmodified"
msgstr ""
#: git-gui.sh:1527
#: git-gui.sh:1562
msgid "Modified, not staged"
msgstr ""
#: git-gui.sh:1528 git-gui.sh:1533
#: git-gui.sh:1563 git-gui.sh:1568
msgid "Staged for commit"
msgstr ""
#: git-gui.sh:1529 git-gui.sh:1534
#: git-gui.sh:1564 git-gui.sh:1569
msgid "Portions staged for commit"
msgstr ""
#: git-gui.sh:1530 git-gui.sh:1535
#: git-gui.sh:1565 git-gui.sh:1570
msgid "Staged for commit, missing"
msgstr ""
#: git-gui.sh:1532
#: git-gui.sh:1567
msgid "Untracked, not staged"
msgstr ""
#: git-gui.sh:1537
#: git-gui.sh:1572
msgid "Missing"
msgstr ""
#: git-gui.sh:1538
#: git-gui.sh:1573
msgid "Staged for removal"
msgstr ""
#: git-gui.sh:1539
#: git-gui.sh:1574
msgid "Staged for removal, still present"
msgstr ""
#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544
#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579
msgid "Requires merge resolution"
msgstr ""
#: git-gui.sh:1579
#: git-gui.sh:1614
msgid "Starting gitk... please wait..."
msgstr ""
#: git-gui.sh:1588
#: git-gui.sh:1623
#, tcl-format
msgid ""
"Unable to start gitk:\n"
@@ -134,295 +134,295 @@ msgid ""
"%s does not exist"
msgstr ""
#: git-gui.sh:1788 lib/choose_repository.tcl:32
#: git-gui.sh:1823 lib/choose_repository.tcl:35
msgid "Repository"
msgstr ""
#: git-gui.sh:1789
#: git-gui.sh:1824
msgid "Edit"
msgstr ""
#: git-gui.sh:1791 lib/choose_rev.tcl:560
#: git-gui.sh:1826 lib/choose_rev.tcl:560
msgid "Branch"
msgstr ""
#: git-gui.sh:1794 lib/choose_rev.tcl:547
#: git-gui.sh:1829 lib/choose_rev.tcl:547
msgid "Commit@@noun"
msgstr ""
#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
msgid "Merge"
msgstr ""
#: git-gui.sh:1798 lib/choose_rev.tcl:556
#: git-gui.sh:1833 lib/choose_rev.tcl:556
msgid "Remote"
msgstr ""
#: git-gui.sh:1807
#: git-gui.sh:1842
msgid "Browse Current Branch's Files"
msgstr ""
#: git-gui.sh:1811
#: git-gui.sh:1846
msgid "Browse Branch Files..."
msgstr ""
#: git-gui.sh:1816
#: git-gui.sh:1851
msgid "Visualize Current Branch's History"
msgstr ""
#: git-gui.sh:1820
#: git-gui.sh:1855
msgid "Visualize All Branch History"
msgstr ""
#: git-gui.sh:1827
#: git-gui.sh:1862
#, tcl-format
msgid "Browse %s's Files"
msgstr ""
#: git-gui.sh:1829
#: git-gui.sh:1864
#, tcl-format
msgid "Visualize %s's History"
msgstr ""
#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67
#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
msgstr ""
#: git-gui.sh:1837 lib/database.tcl:34
#: git-gui.sh:1872 lib/database.tcl:34
msgid "Compress Database"
msgstr ""
#: git-gui.sh:1840
#: git-gui.sh:1875
msgid "Verify Database"
msgstr ""
#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9
#: lib/shortcut.tcl:45 lib/shortcut.tcl:84
#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7
#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
msgid "Create Desktop Icon"
msgstr ""
#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95
#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184
msgid "Quit"
msgstr ""
#: git-gui.sh:1867
#: git-gui.sh:1902
msgid "Undo"
msgstr ""
#: git-gui.sh:1870
#: git-gui.sh:1905
msgid "Redo"
msgstr ""
#: git-gui.sh:1874 git-gui.sh:2366
#: git-gui.sh:1909 git-gui.sh:2403
msgid "Cut"
msgstr ""
#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512
#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549
#: lib/console.tcl:67
msgid "Copy"
msgstr ""
#: git-gui.sh:1880 git-gui.sh:2372
#: git-gui.sh:1915 git-gui.sh:2409
msgid "Paste"
msgstr ""
#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26
#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26
#: lib/remote_branch_delete.tcl:38
msgid "Delete"
msgstr ""
#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69
#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69
msgid "Select All"
msgstr ""
#: git-gui.sh:1896
#: git-gui.sh:1931
msgid "Create..."
msgstr ""
#: git-gui.sh:1902
#: git-gui.sh:1937
msgid "Checkout..."
msgstr ""
#: git-gui.sh:1908
#: git-gui.sh:1943
msgid "Rename..."
msgstr ""
#: git-gui.sh:1913 git-gui.sh:2012
#: git-gui.sh:1948 git-gui.sh:2048
msgid "Delete..."
msgstr ""
#: git-gui.sh:1918
#: git-gui.sh:1953
msgid "Reset..."
msgstr ""
#: git-gui.sh:1930 git-gui.sh:2313
#: git-gui.sh:1965 git-gui.sh:2350
msgid "New Commit"
msgstr ""
#: git-gui.sh:1938 git-gui.sh:2320
#: git-gui.sh:1973 git-gui.sh:2357
msgid "Amend Last Commit"
msgstr ""
#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99
#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr ""
#: git-gui.sh:1953
#: git-gui.sh:1988
msgid "Stage To Commit"
msgstr ""
#: git-gui.sh:1958
#: git-gui.sh:1994
msgid "Stage Changed Files To Commit"
msgstr ""
#: git-gui.sh:1964
#: git-gui.sh:2000
msgid "Unstage From Commit"
msgstr ""
#: git-gui.sh:1969 lib/index.tcl:352
#: git-gui.sh:2005 lib/index.tcl:393
msgid "Revert Changes"
msgstr ""
#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390
#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427
msgid "Sign Off"
msgstr ""
#: git-gui.sh:1980 git-gui.sh:2296
#: git-gui.sh:2016 git-gui.sh:2333
msgid "Commit@@verb"
msgstr ""
#: git-gui.sh:1991
#: git-gui.sh:2027
msgid "Local Merge..."
msgstr ""
#: git-gui.sh:1996
#: git-gui.sh:2032
msgid "Abort Merge..."
msgstr ""
#: git-gui.sh:2008
#: git-gui.sh:2044
msgid "Push..."
msgstr ""
#: git-gui.sh:2019 lib/choose_repository.tcl:41
#: git-gui.sh:2055 lib/choose_repository.tcl:40
msgid "Apple"
msgstr ""
#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13
#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50
#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13
#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49
#, tcl-format
msgid "About %s"
msgstr ""
#: git-gui.sh:2026
#: git-gui.sh:2062
msgid "Preferences..."
msgstr ""
#: git-gui.sh:2034 git-gui.sh:2558
#: git-gui.sh:2070 git-gui.sh:2595
msgid "Options..."
msgstr ""
#: git-gui.sh:2040 lib/choose_repository.tcl:47
#: git-gui.sh:2076 lib/choose_repository.tcl:46
msgid "Help"
msgstr ""
#: git-gui.sh:2081
#: git-gui.sh:2117
msgid "Online Documentation"
msgstr ""
#: git-gui.sh:2165
#: git-gui.sh:2201
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
msgstr ""
#: git-gui.sh:2198
#: git-gui.sh:2234
msgid "Current Branch:"
msgstr ""
#: git-gui.sh:2219
#: git-gui.sh:2255
msgid "Staged Changes (Will Commit)"
msgstr ""
#: git-gui.sh:2239
#: git-gui.sh:2274
msgid "Unstaged Changes"
msgstr ""
#: git-gui.sh:2286
#: git-gui.sh:2323
msgid "Stage Changed"
msgstr ""
#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182
#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182
msgid "Push"
msgstr ""
#: git-gui.sh:2332
#: git-gui.sh:2369
msgid "Initial Commit Message:"
msgstr ""
#: git-gui.sh:2333
#: git-gui.sh:2370
msgid "Amended Commit Message:"
msgstr ""
#: git-gui.sh:2334
#: git-gui.sh:2371
msgid "Amended Initial Commit Message:"
msgstr ""
#: git-gui.sh:2335
#: git-gui.sh:2372
msgid "Amended Merge Commit Message:"
msgstr ""
#: git-gui.sh:2336
#: git-gui.sh:2373
msgid "Merge Commit Message:"
msgstr ""
#: git-gui.sh:2337
#: git-gui.sh:2374
msgid "Commit Message:"
msgstr ""
#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71
#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71
msgid "Copy All"
msgstr ""
#: git-gui.sh:2406 lib/blame.tcl:104
#: git-gui.sh:2443 lib/blame.tcl:104
msgid "File:"
msgstr ""
#: git-gui.sh:2508
#: git-gui.sh:2545
msgid "Refresh"
msgstr ""
#: git-gui.sh:2529
#: git-gui.sh:2566
msgid "Apply/Reverse Hunk"
msgstr ""
#: git-gui.sh:2535
#: git-gui.sh:2572
msgid "Decrease Font Size"
msgstr ""
#: git-gui.sh:2539
#: git-gui.sh:2576
msgid "Increase Font Size"
msgstr ""
#: git-gui.sh:2544
#: git-gui.sh:2581
msgid "Show Less Context"
msgstr ""
#: git-gui.sh:2551
#: git-gui.sh:2588
msgid "Show More Context"
msgstr ""
#: git-gui.sh:2565
#: git-gui.sh:2602
msgid "Unstage Hunk From Commit"
msgstr ""
#: git-gui.sh:2567
#: git-gui.sh:2604
msgid "Stage Hunk For Commit"
msgstr ""
#: git-gui.sh:2586
#: git-gui.sh:2623
msgid "Initializing..."
msgstr ""
#: git-gui.sh:2677
#: git-gui.sh:2718
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@@ -433,14 +433,14 @@ msgid ""
"\n"
msgstr ""
#: git-gui.sh:2707
#: git-gui.sh:2748
msgid ""
"\n"
"This is due to a known issue with the\n"
"Tcl binary distributed by Cygwin."
msgstr ""
#: git-gui.sh:2712
#: git-gui.sh:2753
#, tcl-format
msgid ""
"\n"
@@ -555,7 +555,7 @@ msgstr ""
msgid "Create New Branch"
msgstr ""
#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199
#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375
msgid "Create"
msgstr ""
@@ -703,9 +703,9 @@ msgstr ""
msgid "Browse Branch Files"
msgstr ""
#: lib/browser.tcl:277 lib/choose_repository.tcl:215
#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315
#: lib/choose_repository.tcl:811
#: lib/browser.tcl:277 lib/choose_repository.tcl:391
#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492
#: lib/choose_repository.tcl:989
msgid "Browse"
msgstr ""
@@ -844,209 +844,225 @@ msgid ""
"If you like this text, it can be your font."
msgstr ""
#: lib/choose_repository.tcl:25
#: lib/choose_repository.tcl:27
msgid "Git Gui"
msgstr ""
#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204
#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380
msgid "Create New Repository"
msgstr ""
#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291
#: lib/choose_repository.tcl:86
msgid "New..."
msgstr ""
#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468
msgid "Clone Existing Repository"
msgstr ""
#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800
#: lib/choose_repository.tcl:99
msgid "Clone..."
msgstr ""
#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978
msgid "Open Existing Repository"
msgstr ""
#: lib/choose_repository.tcl:91
msgid "Next >"
#: lib/choose_repository.tcl:112
msgid "Open..."
msgstr ""
#: lib/choose_repository.tcl:152
#: lib/choose_repository.tcl:125
msgid "Recent Repositories"
msgstr ""
#: lib/choose_repository.tcl:131
msgid "Open Recent Repository:"
msgstr ""
#: lib/choose_repository.tcl:294
#, tcl-format
msgid "Location %s already exists."
msgstr ""
#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165
#: lib/choose_repository.tcl:172
#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307
#: lib/choose_repository.tcl:314
#, tcl-format
msgid "Failed to create repository %s:"
msgstr ""
#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309
#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486
msgid "Directory:"
msgstr ""
#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363
#: lib/choose_repository.tcl:834
#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544
#: lib/choose_repository.tcl:1013
msgid "Git Repository"
msgstr ""
#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260
#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437
#, tcl-format
msgid "Directory %s already exists."
msgstr ""
#: lib/choose_repository.tcl:265
#: lib/choose_repository.tcl:442
#, tcl-format
msgid "File %s already exists."
msgstr ""
#: lib/choose_repository.tcl:286
#: lib/choose_repository.tcl:463
msgid "Clone"
msgstr ""
#: lib/choose_repository.tcl:299
#: lib/choose_repository.tcl:476
msgid "URL:"
msgstr ""
#: lib/choose_repository.tcl:319
#: lib/choose_repository.tcl:496
msgid "Clone Type:"
msgstr ""
#: lib/choose_repository.tcl:325
#: lib/choose_repository.tcl:502
msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
msgstr ""
#: lib/choose_repository.tcl:331
#: lib/choose_repository.tcl:508
msgid "Full Copy (Slower, Redundant Backup)"
msgstr ""
#: lib/choose_repository.tcl:337
#: lib/choose_repository.tcl:514
msgid "Shared (Fastest, Not Recommended, No Backup)"
msgstr ""
#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418
#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630
#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848
#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597
#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808
#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027
#, tcl-format
msgid "Not a Git repository: %s"
msgstr ""
#: lib/choose_repository.tcl:405
#: lib/choose_repository.tcl:586
msgid "Standard only available for local repository."
msgstr ""
#: lib/choose_repository.tcl:409
#: lib/choose_repository.tcl:590
msgid "Shared only available for local repository."
msgstr ""
#: lib/choose_repository.tcl:439
#: lib/choose_repository.tcl:617
msgid "Failed to configure origin"
msgstr ""
#: lib/choose_repository.tcl:451
#: lib/choose_repository.tcl:629
msgid "Counting objects"
msgstr ""
#: lib/choose_repository.tcl:452
#: lib/choose_repository.tcl:630
msgid "buckets"
msgstr ""
#: lib/choose_repository.tcl:476
#: lib/choose_repository.tcl:654
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
msgstr ""
#: lib/choose_repository.tcl:512
#: lib/choose_repository.tcl:690
#, tcl-format
msgid "Nothing to clone from %s."
msgstr ""
#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728
#: lib/choose_repository.tcl:740
#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906
#: lib/choose_repository.tcl:918
msgid "The 'master' branch has not been initialized."
msgstr ""
#: lib/choose_repository.tcl:527
#: lib/choose_repository.tcl:705
msgid "Hardlinks are unavailable. Falling back to copying."
msgstr ""
#: lib/choose_repository.tcl:539
#: lib/choose_repository.tcl:717
#, tcl-format
msgid "Cloning from %s"
msgstr ""
#: lib/choose_repository.tcl:570
#: lib/choose_repository.tcl:748
msgid "Copying objects"
msgstr ""
#: lib/choose_repository.tcl:571
#: lib/choose_repository.tcl:749
msgid "KiB"
msgstr ""
#: lib/choose_repository.tcl:595
#: lib/choose_repository.tcl:773
#, tcl-format
msgid "Unable to copy object: %s"
msgstr ""
#: lib/choose_repository.tcl:605
#: lib/choose_repository.tcl:783
msgid "Linking objects"
msgstr ""
#: lib/choose_repository.tcl:606
#: lib/choose_repository.tcl:784
msgid "objects"
msgstr ""
#: lib/choose_repository.tcl:614
#: lib/choose_repository.tcl:792
#, tcl-format
msgid "Unable to hardlink object: %s"
msgstr ""
#: lib/choose_repository.tcl:669
#: lib/choose_repository.tcl:847
msgid "Cannot fetch branches and objects. See console output for details."
msgstr ""
#: lib/choose_repository.tcl:680
#: lib/choose_repository.tcl:858
msgid "Cannot fetch tags. See console output for details."
msgstr ""
#: lib/choose_repository.tcl:704
#: lib/choose_repository.tcl:882
msgid "Cannot determine HEAD. See console output for details."
msgstr ""
#: lib/choose_repository.tcl:713
#: lib/choose_repository.tcl:891
#, tcl-format
msgid "Unable to cleanup %s"
msgstr ""
#: lib/choose_repository.tcl:719
#: lib/choose_repository.tcl:897
msgid "Clone failed."
msgstr ""
#: lib/choose_repository.tcl:726
#: lib/choose_repository.tcl:904
msgid "No default branch obtained."
msgstr ""
#: lib/choose_repository.tcl:737
#: lib/choose_repository.tcl:915
#, tcl-format
msgid "Cannot resolve %s as a commit."
msgstr ""
#: lib/choose_repository.tcl:749
#: lib/choose_repository.tcl:927
msgid "Creating working directory"
msgstr ""
#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80
#: lib/index.tcl:149
#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127
#: lib/index.tcl:193
msgid "files"
msgstr ""
#: lib/choose_repository.tcl:779
#: lib/choose_repository.tcl:957
msgid "Initial file checkout failed."
msgstr ""
#: lib/choose_repository.tcl:795
#: lib/choose_repository.tcl:973
msgid "Open"
msgstr ""
#: lib/choose_repository.tcl:805
#: lib/choose_repository.tcl:983
msgid "Repository:"
msgstr ""
#: lib/choose_repository.tcl:854
#: lib/choose_repository.tcl:1033
#, tcl-format
msgid "Failed to open repository %s:"
msgstr ""
@@ -1161,7 +1177,7 @@ msgid ""
"\n"
"A good commit message has the following format:\n"
"\n"
"- First line: Describe in one sentance what you did.\n"
"- First line: Describe in one sentence what you did.\n"
"- Second line: Blank\n"
"- Remaining lines: Describe why this change is good.\n"
msgstr ""
@@ -1330,31 +1346,53 @@ msgstr ""
msgid "You must correct the above errors before committing."
msgstr ""
#: lib/index.tcl:241
#: lib/index.tcl:6
msgid "Unable to unlock the index."
msgstr ""
#: lib/index.tcl:15
msgid "Index Error"
msgstr ""
#: lib/index.tcl:21
msgid ""
"Updating the Git index failed. A rescan will be automatically started to "
"resynchronize git-gui."
msgstr ""
#: lib/index.tcl:27
msgid "Continue"
msgstr ""
#: lib/index.tcl:31
msgid "Unlock Index"
msgstr ""
#: lib/index.tcl:282
#, tcl-format
msgid "Unstaging %s from commit"
msgstr ""
#: lib/index.tcl:285
#: lib/index.tcl:326
#, tcl-format
msgid "Adding %s"
msgstr ""
#: lib/index.tcl:340
#: lib/index.tcl:381
#, tcl-format
msgid "Revert changes in file %s?"
msgstr ""
#: lib/index.tcl:342
#: lib/index.tcl:383
#, tcl-format
msgid "Revert changes in these %i files?"
msgstr ""
#: lib/index.tcl:348
#: lib/index.tcl:389
msgid "Any unstaged changes will be permanently lost by the revert."
msgstr ""
#: lib/index.tcl:351
#: lib/index.tcl:392
msgid "Do Nothing"
msgstr ""
@@ -1539,18 +1577,6 @@ msgstr ""
msgid "Failed to completely save options:"
msgstr ""
#: lib/remote.tcl:165
msgid "Prune from"
msgstr ""
#: lib/remote.tcl:170
msgid "Fetch from"
msgstr ""
#: lib/remote.tcl:213
msgid "Push to"
msgstr ""
#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
msgid "Delete Remote Branch"
msgstr ""
@@ -1627,11 +1653,23 @@ msgstr ""
msgid "Scanning %s..."
msgstr ""
#: lib/shortcut.tcl:26 lib/shortcut.tcl:74
msgid "Cannot write script:"
#: lib/remote.tcl:165
msgid "Prune from"
msgstr ""
#: lib/shortcut.tcl:149
#: lib/remote.tcl:170
msgid "Fetch from"
msgstr ""
#: lib/remote.tcl:213
msgid "Push to"
msgstr ""
#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
msgid "Cannot write shortcut:"
msgstr ""
#: lib/shortcut.tcl:136
msgid "Cannot write icon:"
msgstr ""

View File

@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: git-gui glossary\n"
"POT-Creation-Date: 2007-10-05 22:30+0200\n"
"POT-Creation-Date: 2007-10-19 21:43+0200\n"
"PO-Revision-Date: 2007-10-10 15:24+0200\n"
"Last-Translator: Michele Ballabio <barra_cuda@katamail.com>\n"
"Language-Team: Italian \n"
@@ -50,8 +50,8 @@ msgstr "attivazione, checkout, revisione attiva, prelievo (TortoiseCVS)?"
#. "The action of updating the working tree to a revision which was stored in the object database."
msgid "checkout [verb]"
msgstr ""
"attivare, effettuare un checkout, attivare revisione, prelevare (TortoiseCVS), "
"ritirare (TSVN)?"
"attivare, effettuare un checkout, attivare revisione, prelevare "
"(TortoiseCVS), ritirare (TSVN)?"
#. ""
msgid "clone [verb]"
@@ -99,7 +99,7 @@ msgstr "effettuare la fusione, unire, fondere, eseguire la fusione"
msgid "message"
msgstr "messaggio, commento"
#. ""
#. "Deletes all stale tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in 'remotes/<name>'."
msgid "prune"
msgstr "potatura"
@@ -117,6 +117,10 @@ msgstr "propaga"
msgid "redo"
msgstr "ripeti, rifai"
#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks."
msgid "remote"
msgstr "remoto"
#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)"
msgid "repository"
msgstr "archivio, repository, database? deposito (rapidsvn)?"
@@ -160,8 +164,8 @@ msgstr "etichettare"
#. "A regular git branch that is used to follow changes from another repository."
msgid "tracking branch"
msgstr ""
"duplicato locale di ramo remoto, ramo in 'tracking', ramo inseguitore? ramo di {inseguimento,allineamento,"
"rilevamento,puntamento}?"
"duplicato locale di ramo remoto, ramo in 'tracking', ramo inseguitore? ramo "
"di {inseguimento,allineamento,rilevamento,puntamento}?"
#. ""
msgid "undo"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,41 +8,41 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-10-10 04:04-0400\n"
"PO-Revision-Date: 2007-10-31 16:23+0900\n"
"POT-Creation-Date: 2007-11-24 10:36+0100\n"
"PO-Revision-Date: 2007-12-05 06:12+0900\n"
"Last-Translator: しらいし ななこ <nanako3@bluebottle.com>\n"
"Language-Team: Japanese\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744
#: git-gui.sh:763
#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714
#: git-gui.sh:733
msgid "git-gui: fatal error"
msgstr "git-gui: 致命的なエラー"
#: git-gui.sh:595
#: git-gui.sh:565
#, tcl-format
msgid "Invalid font specified in %s:"
msgstr "%s に無効なフォントが指定されています:"
#: git-gui.sh:620
#: git-gui.sh:590
msgid "Main Font"
msgstr "主フォント"
#: git-gui.sh:621
#: git-gui.sh:591
msgid "Diff/Console Font"
msgstr "diff/コンソール・フォント"
#: git-gui.sh:635
#: git-gui.sh:605
msgid "Cannot find git in PATH."
msgstr "PATH 中に git が見つかりません"
#: git-gui.sh:662
#: git-gui.sh:632
msgid "Cannot parse Git version string:"
msgstr "Git バージョン名が理解できません:"
#: git-gui.sh:680
#: git-gui.sh:650
#, tcl-format
msgid ""
"Git version cannot be determined.\n"
@@ -61,79 +61,79 @@ msgstr ""
"\n"
"'%s' はバージョン 1.5.0 と思って良いですか?\n"
#: git-gui.sh:853
#: git-gui.sh:888
msgid "Git directory not found:"
msgstr "Git ディレクトリが見つかりません:"
#: git-gui.sh:860
#: git-gui.sh:895
msgid "Cannot move to top of working directory:"
msgstr "作業ディレクトリの最上位に移動できません"
#: git-gui.sh:867
#: git-gui.sh:902
msgid "Cannot use funny .git directory:"
msgstr "変な .git ディレクトリは使えません"
#: git-gui.sh:872
#: git-gui.sh:907
msgid "No working directory"
msgstr "作業ディレクトリがありません"
#: git-gui.sh:1019
#: git-gui.sh:1054
msgid "Refreshing file status..."
msgstr "ファイル状態を更新しています…"
#: git-gui.sh:1084
#: git-gui.sh:1119
msgid "Scanning for modified files ..."
msgstr "変更されたファイルをスキャンしています…"
#: git-gui.sh:1259 lib/browser.tcl:245
#: git-gui.sh:1294 lib/browser.tcl:245
msgid "Ready."
msgstr "準備完了"
#: git-gui.sh:1525
#: git-gui.sh:1560
msgid "Unmodified"
msgstr "変更無し"
#: git-gui.sh:1527
#: git-gui.sh:1562
msgid "Modified, not staged"
msgstr "変更あり、コミット未予定"
#: git-gui.sh:1528 git-gui.sh:1533
#: git-gui.sh:1563 git-gui.sh:1568
msgid "Staged for commit"
msgstr "コミット予定済"
#: git-gui.sh:1529 git-gui.sh:1534
#: git-gui.sh:1564 git-gui.sh:1569
msgid "Portions staged for commit"
msgstr "部分的にコミット予定済"
#: git-gui.sh:1530 git-gui.sh:1535
#: git-gui.sh:1565 git-gui.sh:1570
msgid "Staged for commit, missing"
msgstr "コミット予定済、ファイル無し"
#: git-gui.sh:1532
#: git-gui.sh:1567
msgid "Untracked, not staged"
msgstr "管理外、コミット未予定"
#: git-gui.sh:1537
#: git-gui.sh:1572
msgid "Missing"
msgstr "ファイル無し"
#: git-gui.sh:1538
#: git-gui.sh:1573
msgid "Staged for removal"
msgstr "削除予定済"
#: git-gui.sh:1539
#: git-gui.sh:1574
msgid "Staged for removal, still present"
msgstr "削除予定済、ファイル未削除"
#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544
#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579
msgid "Requires merge resolution"
msgstr "要マージ解決"
#: git-gui.sh:1579
#: git-gui.sh:1614
msgid "Starting gitk... please wait..."
msgstr "gitk を起動中…お待ち下さい…"
#: git-gui.sh:1588
#: git-gui.sh:1623
#, tcl-format
msgid ""
"Unable to start gitk:\n"
@@ -144,295 +144,297 @@ msgstr ""
"\n"
"%s がありません"
#: git-gui.sh:1788 lib/choose_repository.tcl:32
#: git-gui.sh:1823 lib/choose_repository.tcl:35
msgid "Repository"
msgstr "リポジトリ"
#: git-gui.sh:1789
#: git-gui.sh:1824
msgid "Edit"
msgstr "編集"
#: git-gui.sh:1791 lib/choose_rev.tcl:560
#: git-gui.sh:1826 lib/choose_rev.tcl:560
msgid "Branch"
msgstr "ブランチ"
#: git-gui.sh:1794 lib/choose_rev.tcl:547
#: git-gui.sh:1829 lib/choose_rev.tcl:547
msgid "Commit@@noun"
msgstr "コミット"
#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168
msgid "Merge"
msgstr "マージ"
#: git-gui.sh:1798 lib/choose_rev.tcl:556
#: git-gui.sh:1833 lib/choose_rev.tcl:556
msgid "Remote"
msgstr "リモート"
#: git-gui.sh:1807
#: git-gui.sh:1842
msgid "Browse Current Branch's Files"
msgstr "現在のブランチのファイルを見る"
#: git-gui.sh:1811
#: git-gui.sh:1846
msgid "Browse Branch Files..."
msgstr "ブランチのファイルを見る…"
#: git-gui.sh:1816
#: git-gui.sh:1851
msgid "Visualize Current Branch's History"
msgstr "現在のブランチの履歴を見る"
#: git-gui.sh:1820
#: git-gui.sh:1855
msgid "Visualize All Branch History"
msgstr "全てのブランチの履歴を見る"
#: git-gui.sh:1827
#: git-gui.sh:1862
#, tcl-format
msgid "Browse %s's Files"
msgstr "ブランチ %s のファイルを見る"
#: git-gui.sh:1829
#: git-gui.sh:1864
#, tcl-format
msgid "Visualize %s's History"
msgstr "ブランチ %s の履歴を見る"
#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67
#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67
msgid "Database Statistics"
msgstr "データベース統計"
#: git-gui.sh:1837 lib/database.tcl:34
#: git-gui.sh:1872 lib/database.tcl:34
msgid "Compress Database"
msgstr "データベース圧縮"
#: git-gui.sh:1840
#: git-gui.sh:1875
msgid "Verify Database"
msgstr "データベース検証"
#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9
#: lib/shortcut.tcl:45 lib/shortcut.tcl:84
#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7
#: lib/shortcut.tcl:39 lib/shortcut.tcl:71
msgid "Create Desktop Icon"
msgstr "デスクトップ・アイコンを作る"
#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95
#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184
msgid "Quit"
msgstr "終了"
#: git-gui.sh:1867
#: git-gui.sh:1902
msgid "Undo"
msgstr "元に戻す"
#: git-gui.sh:1870
#: git-gui.sh:1905
msgid "Redo"
msgstr "やり直し"
#: git-gui.sh:1874 git-gui.sh:2366
#: git-gui.sh:1909 git-gui.sh:2403
msgid "Cut"
msgstr "切り取り"
#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512
#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549
#: lib/console.tcl:67
msgid "Copy"
msgstr "コピー"
#: git-gui.sh:1880 git-gui.sh:2372
#: git-gui.sh:1915 git-gui.sh:2409
msgid "Paste"
msgstr "貼り付け"
#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26
#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26
#: lib/remote_branch_delete.tcl:38
msgid "Delete"
msgstr "削除"
#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69
#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69
msgid "Select All"
msgstr "全て選択"
#: git-gui.sh:1896
#: git-gui.sh:1931
msgid "Create..."
msgstr "作成…"
#: git-gui.sh:1902
#: git-gui.sh:1937
msgid "Checkout..."
msgstr "チェックアウト"
#: git-gui.sh:1908
#: git-gui.sh:1943
msgid "Rename..."
msgstr "名前変更…"
#: git-gui.sh:1913 git-gui.sh:2012
#: git-gui.sh:1948 git-gui.sh:2048
msgid "Delete..."
msgstr "削除…"
#: git-gui.sh:1918
#: git-gui.sh:1953
msgid "Reset..."
msgstr "リセット…"
#: git-gui.sh:1930 git-gui.sh:2313
#: git-gui.sh:1965 git-gui.sh:2350
msgid "New Commit"
msgstr "新規コミット"
#: git-gui.sh:1938 git-gui.sh:2320
#: git-gui.sh:1973 git-gui.sh:2357
msgid "Amend Last Commit"
msgstr "最新コミットを訂正"
#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99
#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99
msgid "Rescan"
msgstr "再スキャン"
#: git-gui.sh:1953
#: git-gui.sh:1988
msgid "Stage To Commit"
msgstr "コミット予定する"
#: git-gui.sh:1958
#: git-gui.sh:1994
msgid "Stage Changed Files To Commit"
msgstr "変更されたファイルをコミット予定"
#: git-gui.sh:1964
#: git-gui.sh:2000
msgid "Unstage From Commit"
msgstr "コミットから降ろす"
#: git-gui.sh:1969 lib/index.tcl:352
#: git-gui.sh:2005 lib/index.tcl:393
msgid "Revert Changes"
msgstr "変更を元に戻す"
#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390
#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427
msgid "Sign Off"
msgstr "署名"
#: git-gui.sh:1980 git-gui.sh:2296
#: git-gui.sh:2016 git-gui.sh:2333
msgid "Commit@@verb"
msgstr "コミット"
#: git-gui.sh:1991
#: git-gui.sh:2027
msgid "Local Merge..."
msgstr "ローカル・マージ…"
#: git-gui.sh:1996
#: git-gui.sh:2032
msgid "Abort Merge..."
msgstr "マージ中止…"
#: git-gui.sh:2008
#: git-gui.sh:2044
msgid "Push..."
msgstr "プッシュ…"
#: git-gui.sh:2019 lib/choose_repository.tcl:41
#: git-gui.sh:2055 lib/choose_repository.tcl:40
msgid "Apple"
msgstr "りんご"
#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13
#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50
#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13
#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49
#, tcl-format
msgid "About %s"
msgstr "%s について"
#: git-gui.sh:2026
#: git-gui.sh:2062
msgid "Preferences..."
msgstr "設定…"
#: git-gui.sh:2034 git-gui.sh:2558
#: git-gui.sh:2070 git-gui.sh:2595
msgid "Options..."
msgstr "オプション…"
#: git-gui.sh:2040 lib/choose_repository.tcl:47
#: git-gui.sh:2076 lib/choose_repository.tcl:46
msgid "Help"
msgstr "ヘルプ"
#: git-gui.sh:2081
#: git-gui.sh:2117
msgid "Online Documentation"
msgstr "オンライン・ドキュメント"
#: git-gui.sh:2165
#: git-gui.sh:2201
#, tcl-format
msgid "fatal: cannot stat path %s: No such file or directory"
msgstr "致命的: パス %s が stat できません。そのようなファイルやディレクトリはありません"
msgstr ""
"致命的: パス %s が stat できません。そのようなファイルやディレクトリはありま"
"せん"
#: git-gui.sh:2198
#: git-gui.sh:2234
msgid "Current Branch:"
msgstr "現在のブランチ"
#: git-gui.sh:2219
#: git-gui.sh:2255
msgid "Staged Changes (Will Commit)"
msgstr "ステージングされた(コミット予定済の)変更"
#: git-gui.sh:2239
#: git-gui.sh:2274
msgid "Unstaged Changes"
msgstr "コミット予定に入っていない変更"
#: git-gui.sh:2286
#: git-gui.sh:2323
msgid "Stage Changed"
msgstr "変更をコミット予定に入れる"
#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182
#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182
msgid "Push"
msgstr "プッシュ"
#: git-gui.sh:2332
#: git-gui.sh:2369
msgid "Initial Commit Message:"
msgstr "最初のコミットメッセージ:"
#: git-gui.sh:2333
#: git-gui.sh:2370
msgid "Amended Commit Message:"
msgstr "訂正したコミットメッセージ:"
#: git-gui.sh:2334
#: git-gui.sh:2371
msgid "Amended Initial Commit Message:"
msgstr "訂正した最初のコミットメッセージ:"
#: git-gui.sh:2335
#: git-gui.sh:2372
msgid "Amended Merge Commit Message:"
msgstr "訂正したマージコミットメッセージ:"
#: git-gui.sh:2336
#: git-gui.sh:2373
msgid "Merge Commit Message:"
msgstr "マージコミットメッセージ:"
#: git-gui.sh:2337
#: git-gui.sh:2374
msgid "Commit Message:"
msgstr "コミットメッセージ:"
#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71
#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71
msgid "Copy All"
msgstr "全てコピー"
#: git-gui.sh:2406 lib/blame.tcl:104
#: git-gui.sh:2443 lib/blame.tcl:104
msgid "File:"
msgstr "ファイル:"
#: git-gui.sh:2508
#: git-gui.sh:2545
msgid "Refresh"
msgstr "再読み込み"
#: git-gui.sh:2529
#: git-gui.sh:2566
msgid "Apply/Reverse Hunk"
msgstr "パッチを適用/取り消す"
#: git-gui.sh:2535
#: git-gui.sh:2572
msgid "Decrease Font Size"
msgstr "フォントを小さく"
#: git-gui.sh:2539
#: git-gui.sh:2576
msgid "Increase Font Size"
msgstr "フォントを大きく"
#: git-gui.sh:2544
#: git-gui.sh:2581
msgid "Show Less Context"
msgstr "文脈を少なく"
#: git-gui.sh:2551
#: git-gui.sh:2588
msgid "Show More Context"
msgstr "文脈を多く"
#: git-gui.sh:2565
#: git-gui.sh:2602
msgid "Unstage Hunk From Commit"
msgstr "パッチをコミット予定から外す"
#: git-gui.sh:2567
#: git-gui.sh:2604
msgid "Stage Hunk For Commit"
msgstr "パッチをコミット予定に加える"
#: git-gui.sh:2586
#: git-gui.sh:2623
msgid "Initializing..."
msgstr "初期化しています…"
#: git-gui.sh:2677
#: git-gui.sh:2718
#, tcl-format
msgid ""
"Possible environment issues exist.\n"
@@ -447,7 +449,7 @@ msgstr ""
"以下の環境変数は %s が起動する Git サブプロセスによって無視されるでしょう:\n"
"\n"
#: git-gui.sh:2707
#: git-gui.sh:2748
msgid ""
"\n"
"This is due to a known issue with the\n"
@@ -457,7 +459,7 @@ msgstr ""
"これは Cygwin で配布されている Tcl バイナリに\n"
"関しての既知の問題によります"
#: git-gui.sh:2712
#: git-gui.sh:2753
#, tcl-format
msgid ""
"\n"
@@ -576,7 +578,7 @@ msgstr "ブランチを作成"
msgid "Create New Branch"
msgstr "ブランチを新規作成"
#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199
#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375
msgid "Create"
msgstr "作成"
@@ -729,9 +731,9 @@ msgstr "[上位フォルダへ]"
msgid "Browse Branch Files"
msgstr "現在のブランチのファイルを見る"
#: lib/browser.tcl:277 lib/choose_repository.tcl:215
#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315
#: lib/choose_repository.tcl:811
#: lib/browser.tcl:277 lib/choose_repository.tcl:391
#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492
#: lib/choose_repository.tcl:989
msgid "Browse"
msgstr "ブラウズ"
@@ -891,209 +893,225 @@ msgstr ""
"これはサンプル文です。\n"
"このフォントが気に入ればお使いになれます。"
#: lib/choose_repository.tcl:25
#: lib/choose_repository.tcl:27
msgid "Git Gui"
msgstr "Git GUI"
#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204
#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380
msgid "Create New Repository"
msgstr "新しいリポジトリを作る"
#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291
#: lib/choose_repository.tcl:86
msgid "New..."
msgstr "新規…"
#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468
msgid "Clone Existing Repository"
msgstr "既存リポジトリを複製する"
#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800
#: lib/choose_repository.tcl:99
msgid "Clone..."
msgstr "複製…"
#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978
msgid "Open Existing Repository"
msgstr "既存リポジトリを開く"
#: lib/choose_repository.tcl:91
msgid "Next >"
msgstr "次 >"
#: lib/choose_repository.tcl:112
msgid "Open..."
msgstr "開く…"
#: lib/choose_repository.tcl:152
#: lib/choose_repository.tcl:125
msgid "Recent Repositories"
msgstr "最近使ったリポジトリ"
#: lib/choose_repository.tcl:131
msgid "Open Recent Repository:"
msgstr "最近使ったリポジトリを開く"
#: lib/choose_repository.tcl:294
#, tcl-format
msgid "Location %s already exists."
msgstr "'%s' は既に存在します。"
#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165
#: lib/choose_repository.tcl:172
#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307
#: lib/choose_repository.tcl:314
#, tcl-format
msgid "Failed to create repository %s:"
msgstr "リポジトリ %s を作製できません:"
#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309
#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486
msgid "Directory:"
msgstr "ディレクトリ:"
#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363
#: lib/choose_repository.tcl:834
#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544
#: lib/choose_repository.tcl:1013
msgid "Git Repository"
msgstr "GIT リポジトリ"
#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260
#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437
#, tcl-format
msgid "Directory %s already exists."
msgstr "ディレクトリ '%s' は既に存在します。"
#: lib/choose_repository.tcl:265
#: lib/choose_repository.tcl:442
#, tcl-format
msgid "File %s already exists."
msgstr "ファイル '%s' は既に存在します。"
#: lib/choose_repository.tcl:286
#: lib/choose_repository.tcl:463
msgid "Clone"
msgstr "複製"
#: lib/choose_repository.tcl:299
#: lib/choose_repository.tcl:476
msgid "URL:"
msgstr "URL:"
#: lib/choose_repository.tcl:319
#: lib/choose_repository.tcl:496
msgid "Clone Type:"
msgstr "複製方式:"
#: lib/choose_repository.tcl:325
#: lib/choose_repository.tcl:502
msgid "Standard (Fast, Semi-Redundant, Hardlinks)"
msgstr "標準(高速・中冗長度・ハードリンク)"
#: lib/choose_repository.tcl:331
#: lib/choose_repository.tcl:508
msgid "Full Copy (Slower, Redundant Backup)"
msgstr "全複写(低速・冗長バックアップ)"
#: lib/choose_repository.tcl:337
#: lib/choose_repository.tcl:514
msgid "Shared (Fastest, Not Recommended, No Backup)"
msgstr "共有(最高速・非推奨・バックアップ無し)"
#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418
#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630
#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848
#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597
#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808
#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027
#, tcl-format
msgid "Not a Git repository: %s"
msgstr "Git リポジトリではありません: %s"
#: lib/choose_repository.tcl:405
#: lib/choose_repository.tcl:586
msgid "Standard only available for local repository."
msgstr "標準方式は同一計算機上のリポジトリにのみ使えます。"
#: lib/choose_repository.tcl:409
#: lib/choose_repository.tcl:590
msgid "Shared only available for local repository."
msgstr "共有方式は同一計算機上のリポジトリにのみ使えます。"
#: lib/choose_repository.tcl:439
#: lib/choose_repository.tcl:617
msgid "Failed to configure origin"
msgstr "origin を設定できませんでした"
#: lib/choose_repository.tcl:451
#: lib/choose_repository.tcl:629
msgid "Counting objects"
msgstr "オブジェクトを数えています"
#: lib/choose_repository.tcl:452
#: lib/choose_repository.tcl:630
msgid "buckets"
msgstr "バケツ"
#: lib/choose_repository.tcl:476
#: lib/choose_repository.tcl:654
#, tcl-format
msgid "Unable to copy objects/info/alternates: %s"
msgstr "objects/info/alternates を複写できません: %s"
#: lib/choose_repository.tcl:512
#: lib/choose_repository.tcl:690
#, tcl-format
msgid "Nothing to clone from %s."
msgstr "%s から複製する内容はありません"
#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728
#: lib/choose_repository.tcl:740
#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906
#: lib/choose_repository.tcl:918
msgid "The 'master' branch has not been initialized."
msgstr "'master' ブランチが初期化されていません"
#: lib/choose_repository.tcl:527
#: lib/choose_repository.tcl:705
msgid "Hardlinks are unavailable. Falling back to copying."
msgstr "ハードリンクが作れないので、コピーします"
#: lib/choose_repository.tcl:539
#: lib/choose_repository.tcl:717
#, tcl-format
msgid "Cloning from %s"
msgstr "%s から複製しています"
#: lib/choose_repository.tcl:570
#: lib/choose_repository.tcl:748
msgid "Copying objects"
msgstr "オブジェクトを複写しています"
#: lib/choose_repository.tcl:571
#: lib/choose_repository.tcl:749
msgid "KiB"
msgstr "KiB"
#: lib/choose_repository.tcl:595
#: lib/choose_repository.tcl:773
#, tcl-format
msgid "Unable to copy object: %s"
msgstr "オブジェクトを複写できません: %s"
#: lib/choose_repository.tcl:605
#: lib/choose_repository.tcl:783
msgid "Linking objects"
msgstr "オブジェクトを連結しています"
#: lib/choose_repository.tcl:606
#: lib/choose_repository.tcl:784
msgid "objects"
msgstr "オブジェクト"
#: lib/choose_repository.tcl:614
#: lib/choose_repository.tcl:792
#, tcl-format
msgid "Unable to hardlink object: %s"
msgstr "オブジェクトをハードリンクできません: %s"
#: lib/choose_repository.tcl:669
#: lib/choose_repository.tcl:847
msgid "Cannot fetch branches and objects. See console output for details."
msgstr "ブランチやオブジェクトを取得できません。コンソール出力を見て下さい"
#: lib/choose_repository.tcl:680
#: lib/choose_repository.tcl:858
msgid "Cannot fetch tags. See console output for details."
msgstr "タグを取得できません。コンソール出力を見て下さい"
#: lib/choose_repository.tcl:704
#: lib/choose_repository.tcl:882
msgid "Cannot determine HEAD. See console output for details."
msgstr "HEAD を確定できません。コンソール出力を見て下さい"
#: lib/choose_repository.tcl:713
#: lib/choose_repository.tcl:891
#, tcl-format
msgid "Unable to cleanup %s"
msgstr "%s を掃除できません"
#: lib/choose_repository.tcl:719
#: lib/choose_repository.tcl:897
msgid "Clone failed."
msgstr "複写に失敗しました。"
#: lib/choose_repository.tcl:726
#: lib/choose_repository.tcl:904
msgid "No default branch obtained."
msgstr "デフォールト・ブランチが取得されませんでした"
#: lib/choose_repository.tcl:737
#: lib/choose_repository.tcl:915
#, tcl-format
msgid "Cannot resolve %s as a commit."
msgstr "%s をコミットとして解釈できません"
#: lib/choose_repository.tcl:749
#: lib/choose_repository.tcl:927
msgid "Creating working directory"
msgstr "作業ディレクトリを作成しています"
#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80
#: lib/index.tcl:149
#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127
#: lib/index.tcl:193
msgid "files"
msgstr "ファイル"
#: lib/choose_repository.tcl:779
#: lib/choose_repository.tcl:957
msgid "Initial file checkout failed."
msgstr "初期チェックアウトに失敗しました"
#: lib/choose_repository.tcl:795
#: lib/choose_repository.tcl:973
msgid "Open"
msgstr "開く"
#: lib/choose_repository.tcl:805
#: lib/choose_repository.tcl:983
msgid "Repository:"
msgstr "リポジトリ:"
#: lib/choose_repository.tcl:854
#: lib/choose_repository.tcl:1033
#, tcl-format
msgid "Failed to open repository %s:"
msgstr "リポジトリ %s を開けません:"
@@ -1232,7 +1250,7 @@ msgid ""
"\n"
"A good commit message has the following format:\n"
"\n"
"- First line: Describe in one sentance what you did.\n"
"- First line: Describe in one sentence what you did.\n"
"- Second line: Blank\n"
"- Remaining lines: Describe why this change is good.\n"
msgstr ""
@@ -1349,7 +1367,8 @@ msgid ""
msgstr ""
"このリポジトリにはおおよそ %i 個の個別オブジェクトがあります\n"
"\n"
"最適な性能を保つために、%i 個以上の個別オブジェクトを作る毎にデータベースを圧縮することを推奨します\n"
"最適な性能を保つために、%i 個以上の個別オブジェクトを作る毎にデータベースを圧"
"縮することを推奨します\n"
"\n"
"データベースを圧縮しますか?"
@@ -1426,31 +1445,53 @@ msgstr "警告"
msgid "You must correct the above errors before committing."
msgstr "コミットする前に、以上のエラーを修正して下さい"
#: lib/index.tcl:241
#: lib/index.tcl:6
msgid "Unable to unlock the index."
msgstr "インデックスをロックできません"
#: lib/index.tcl:15
msgid "Index Error"
msgstr "索引エラー"
#: lib/index.tcl:21
msgid ""
"Updating the Git index failed. A rescan will be automatically started to "
"resynchronize git-gui."
msgstr "GIT インデックスの更新が失敗しました。git-gui と同期をとるために再スキャンします。"
#: lib/index.tcl:27
msgid "Continue"
msgstr "続行"
#: lib/index.tcl:31
msgid "Unlock Index"
msgstr "インデックスのロック解除"
#: lib/index.tcl:282
#, tcl-format
msgid "Unstaging %s from commit"
msgstr "コミットから '%s' を降ろす"
#: lib/index.tcl:285
#: lib/index.tcl:326
#, tcl-format
msgid "Adding %s"
msgstr "コミットに %s を加えています"
#: lib/index.tcl:340
#: lib/index.tcl:381
#, tcl-format
msgid "Revert changes in file %s?"
msgstr "ファイル %s にした変更を元に戻しますか?"
#: lib/index.tcl:342
#: lib/index.tcl:383
#, tcl-format
msgid "Revert changes in these %i files?"
msgstr "これら %i 個のファイルにした変更を元に戻しますか?"
#: lib/index.tcl:348
#: lib/index.tcl:389
msgid "Any unstaged changes will be permanently lost by the revert."
msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。"
#: lib/index.tcl:351
#: lib/index.tcl:392
msgid "Do Nothing"
msgstr "何もしない"
@@ -1669,18 +1710,6 @@ msgstr "設定"
msgid "Failed to completely save options:"
msgstr "完全にオプションを保存できません:"
#: lib/remote.tcl:165
msgid "Prune from"
msgstr "から刈込む…"
#: lib/remote.tcl:170
msgid "Fetch from"
msgstr "取得元"
#: lib/remote.tcl:213
msgid "Push to"
msgstr "プッシュ先"
#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34
msgid "Delete Remote Branch"
msgstr "リモート・ブランチを削除"
@@ -1765,11 +1794,23 @@ msgstr "リポジトリが選択されていません。"
msgid "Scanning %s..."
msgstr "%s をスキャンしています…"
#: lib/shortcut.tcl:26 lib/shortcut.tcl:74
msgid "Cannot write script:"
msgstr "スクリプトが書けません:"
#: lib/remote.tcl:165
msgid "Prune from"
msgstr "から刈込む…"
#: lib/shortcut.tcl:149
#: lib/remote.tcl:170
msgid "Fetch from"
msgstr "取得元"
#: lib/remote.tcl:213
msgid "Push to"
msgstr "プッシュ先"
#: lib/shortcut.tcl:20 lib/shortcut.tcl:61
msgid "Cannot write shortcut:"
msgstr "ショートカットが書けません:"
#: lib/shortcut.tcl:136
msgid "Cannot write icon:"
msgstr "アイコンが書けません:"
@@ -1840,4 +1881,3 @@ msgstr "Thin Pack を使う(遅いネットワーク接続)"
#: lib/transport.tcl:168
msgid "Include tags"
msgstr "タグを含める"

View File

@@ -175,7 +175,7 @@ static const char *env_hint =
"\n"
"Run\n"
"\n"
" git config --global user.email \"you@email.com\"\n"
" git config --global user.email \"you@example.com\"\n"
" git config --global user.name \"Your Name\"\n"
"\n"
"to set your account\'s default identity.\n"

View File

@@ -581,6 +581,41 @@ sub config_int {
};
}
=item get_colorbool ( NAME )
Finds if color should be used for NAMEd operation from the configuration,
and returns boolean (true for "use color", false for "do not use color").
=cut
sub get_colorbool {
my ($self, $var) = @_;
my $stdout_to_tty = (-t STDOUT) ? "true" : "false";
my $use_color = $self->command_oneline('config', '--get-colorbool',
$var, $stdout_to_tty);
return ($use_color eq 'true');
}
=item get_color ( SLOT, COLOR )
Finds color for SLOT from the configuration, while defaulting to COLOR,
and returns the ANSI color escape sequence:
print $repo->get_color("color.interactive.prompt", "underline blue white");
print "some text";
print $repo->get_color("", "normal");
=cut
sub get_color {
my ($self, $slot, $default) = @_;
my $color = $self->command_oneline('config', '--get-color', $slot, $default);
if (!defined $color) {
$color = "";
}
return $color;
}
=item ident ( TYPE | IDENTSTR )
=item ident_person ( TYPE | IDENTSTR | IDENTARRAY )

36
setup.c
View File

@@ -256,6 +256,22 @@ void setup_work_tree(void)
initialized = 1;
}
static int check_repository_format_gently(int *nongit_ok)
{
git_config(check_repository_format_version);
if (GIT_REPO_VERSION < repository_format_version) {
if (!nongit_ok)
die ("Expected git repo version <= %d, found %d",
GIT_REPO_VERSION, repository_format_version);
warning("Expected git repo version <= %d, found %d",
GIT_REPO_VERSION, repository_format_version);
warning("Please upgrade Git");
*nongit_ok = -1;
return -1;
}
return 0;
}
/*
* We cannot decide in this function whether we are in the work tree or
* not, since the config can only be read _after_ this function was called.
@@ -281,8 +297,15 @@ const char *setup_git_directory_gently(int *nongit_ok)
static char buffer[1024 + 1];
const char *retval;
if (!work_tree_env)
return set_work_tree(gitdirenv);
if (!work_tree_env) {
retval = set_work_tree(gitdirenv);
/* config may override worktree */
if (check_repository_format_gently(nongit_ok))
return NULL;
return retval;
}
if (check_repository_format_gently(nongit_ok))
return NULL;
retval = get_relative_cwd(buffer, sizeof(buffer) - 1,
get_git_work_tree());
if (!retval || !*retval)
@@ -325,6 +348,7 @@ const char *setup_git_directory_gently(int *nongit_ok)
if (!work_tree_env)
inside_work_tree = 0;
setenv(GIT_DIR_ENVIRONMENT, ".", 1);
check_repository_format_gently(nongit_ok);
return NULL;
}
chdir("..");
@@ -345,6 +369,8 @@ const char *setup_git_directory_gently(int *nongit_ok)
if (!work_tree_env)
inside_work_tree = 1;
git_work_tree_cfg = xstrndup(cwd, offset);
if (check_repository_format_gently(nongit_ok))
return NULL;
if (offset == len)
return NULL;
@@ -395,11 +421,7 @@ int check_repository_format_version(const char *var, const char *value)
int check_repository_format(void)
{
git_config(check_repository_format_version);
if (GIT_REPO_VERSION < repository_format_version)
die ("Expected git repo version <= %d, found %d",
GIT_REPO_VERSION, repository_format_version);
return 0;
return check_repository_format_gently(NULL);
}
const char *setup_git_directory(void)

46
t/t1302-repo-version.sh Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/sh
#
# Copyright (c) 2007 Nguyễn Thái Ngọc Duy
#
test_description='Test repository version check'
. ./test-lib.sh
cat >test.patch <<EOF
diff --git a/test.txt b/test.txt
new file mode 100644
--- /dev/null
+++ b/test.txt
@@ -0,0 +1 @@
+123
EOF
test_create_repo "test"
test_create_repo "test2"
GIT_CONFIG=test2/.git/config git config core.repositoryformatversion 99 || exit 1
test_expect_success 'gitdir selection on normal repos' '
(test "$(git config core.repositoryformatversion)" = 0 &&
cd test &&
test "$(git config core.repositoryformatversion)" = 0)'
# Make sure it would stop at test2, not trash
test_expect_success 'gitdir selection on unsupported repo' '
(cd test2 &&
test "$(git config core.repositoryformatversion)" = 99)'
test_expect_success 'gitdir not required mode' '
(git apply --stat test.patch &&
cd test && git apply --stat ../test.patch &&
cd ../test2 && git apply --stat ../test.patch)'
test_expect_success 'gitdir required mode on normal repos' '
(git apply --check --index test.patch &&
cd test && git apply --check --index ../test.patch)'
test_expect_failure 'gitdir required mode on unsupported repo' '
(cd test2 && git apply --check --index ../test.patch)'
test_done

View File

@@ -169,5 +169,44 @@ test_expect_success 'Verify descending sort' '
git diff expected actual
'
cat >expected <<\EOF
'refs/heads/master'
'refs/tags/testtag'
EOF
test_expect_success 'Quoting style: shell' '
git for-each-ref --shell --format="%(refname)" >actual &&
git diff expected actual
'
test_expect_success 'Quoting style: perl' '
git for-each-ref --perl --format="%(refname)" >actual &&
git diff expected actual
'
test_expect_success 'Quoting style: python' '
git for-each-ref --python --format="%(refname)" >actual &&
git diff expected actual
'
cat >expected <<\EOF
"refs/heads/master"
"refs/tags/testtag"
EOF
test_expect_success 'Quoting style: tcl' '
git for-each-ref --tcl --format="%(refname)" >actual &&
git diff expected actual
'
for i in "--perl --shell" "-s --python" "--python --tcl" "--tcl --perl"; do
test_expect_success "more than one quoting style: $i" "
git for-each-ref $i 2>&1 | (read line &&
case \$line in
\"error: more than one quoting style\"*) : happy;;
*) false
esac)
"
done
test_done

View File

@@ -126,6 +126,20 @@ test_expect_success 'git-clean symbolic link' '
'
test_expect_success 'git-clean with wildcard' '
touch a.clean b.clean other.c &&
git-clean "*.clean" &&
test -f Makefile &&
test -f README &&
test -f src/part1.c &&
test -f src/part2.c &&
test ! -f a.clean &&
test ! -f b.clean &&
test -f other.c
'
test_expect_success 'git-clean -n' '
mkdir -p build docs &&

View File

@@ -659,7 +659,7 @@ static int fetch_refs_via_pack(struct transport *transport,
free(heads);
free_refs(refs);
free(dest);
return 0;
return (refs ? 0 : -1);
}
static int git_transport_push(struct transport *transport, int refspec_nr, const char **refspec, int flags)

View File

@@ -391,7 +391,7 @@ void wt_status_print(struct wt_status *s)
int git_status_config(const char *k, const char *v)
{
if (!strcmp(k, "status.color") || !strcmp(k, "color.status")) {
wt_status_use_color = git_config_colorbool(k, v);
wt_status_use_color = git_config_colorbool(k, v, -1);
return 0;
}
if (!prefixcmp(k, "status.color.") || !prefixcmp(k, "color.status.")) {