* [PATCH 17/23] unpack-trees.c: generalize verify_* functions
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:31 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
unpack-trees.c | 23 ++++++++++++++++++-----
1 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/unpack-trees.c b/unpack-trees.c
index eb1a818..5467265 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -452,8 +452,9 @@ static int same(struct cache_entry *a, struct cache_entry *b)
* When a CE gets turned into an unmerged entry, we
* want it to be up-to-date
*/
-static int verify_uptodate(struct cache_entry *ce,
- struct unpack_trees_options *o)
+static int verify_uptodate_1(struct cache_entry *ce,
+ struct unpack_trees_options *o,
+ const char *error_msg)
{
struct stat st;
@@ -478,7 +479,13 @@ static int verify_uptodate(struct cache_entry *ce,
if (errno == ENOENT)
return 0;
return o->gently ? -1 :
- error(ERRORMSG(o, not_uptodate_file), ce->name);
+ error(error_msg, ce->name);
+}
+
+static int verify_uptodate(struct cache_entry *ce,
+ struct unpack_trees_options *o)
+{
+ return verify_uptodate_1(ce, o, ERRORMSG(o, not_uptodate_file));
}
static void invalidate_ce_path(struct cache_entry *ce, struct unpack_trees_options *o)
@@ -586,8 +593,9 @@ static int icase_exists(struct unpack_trees_options *o, struct cache_entry *dst,
* We do not want to remove or overwrite a working tree file that
* is not tracked, unless it is ignored.
*/
-static int verify_absent(struct cache_entry *ce, const char *action,
- struct unpack_trees_options *o)
+static int verify_absent_1(struct cache_entry *ce, const char *action,
+ struct unpack_trees_options *o,
+ const char *error_msg)
{
struct stat st;
@@ -667,6 +675,11 @@ static int verify_absent(struct cache_entry *ce, const char *action,
}
return 0;
}
+static int verify_absent(struct cache_entry *ce, const char *action,
+ struct unpack_trees_options *o)
+{
+ return verify_absent_1(ce, action, o, ERRORMSG(o, would_lose_untracked));
+}
static int merged_entry(struct cache_entry *merge, struct cache_entry *old,
struct unpack_trees_options *o)
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 21/23] read-tree: add --no-sparse-checkout to disable sparse checkout support
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:31 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
Documentation/git-read-tree.txt | 6 +++++-
builtin-read-tree.c | 4 +++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-read-tree.txt b/Documentation/git-read-tree.txt
index fc3f08b..ea7b0b2 100644
--- a/Documentation/git-read-tree.txt
+++ b/Documentation/git-read-tree.txt
@@ -10,7 +10,7 @@ SYNOPSIS
--------
'git read-tree' [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>]
[-u [--exclude-per-directory=<gitignore>] | -i]]
- [--index-output=<file>]
+ [--index-output=<file>] [--no-sparse-checkout]
<tree-ish1> [<tree-ish2> [<tree-ish3>]]
@@ -110,6 +110,10 @@ OPTIONS
directories the index file and index output file are
located in.
+--no-sparse-checkout::
+ Disable sparse checkout support even if `core.sparseCheckout`
+ is true.
+
<tree-ish#>::
The id of the tree object(s) to be read/merged.
diff --git a/builtin-read-tree.c b/builtin-read-tree.c
index 9c2d634..f5acb1a 100644
--- a/builtin-read-tree.c
+++ b/builtin-read-tree.c
@@ -31,7 +31,7 @@ static int list_tree(unsigned char *sha1)
}
static const char * const read_tree_usage[] = {
- "git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u [--exclude-per-directory=<gitignore>] | -i]] [--index-output=<file>] <tree-ish1> [<tree-ish2> [<tree-ish3>]]",
+ "git read-tree [[-m [--trivial] [--aggressive] | --reset | --prefix=<prefix>] [-u [--exclude-per-directory=<gitignore>] | -i]] [--no-sparse-checkout] [--index-output=<file>] <tree-ish1> [<tree-ish2> [<tree-ish3>]]",
NULL
};
@@ -98,6 +98,8 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
PARSE_OPT_NONEG, exclude_per_directory_cb },
OPT_SET_INT('i', NULL, &opts.index_only,
"don't check the working tree after merging", 1),
+ OPT_SET_INT(0, "no-sparse-checkout", &opts.skip_sparse_checkout,
+ "skip applying sparse checkout filter", 1),
OPT_END()
};
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 22/23] Add tests for sparse checkout
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:31 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
t/t1011-read-tree-sparse-checkout.sh | 154 ++++++++++++++++++++++++++++++++++
1 files changed, 154 insertions(+), 0 deletions(-)
create mode 100755 t/t1011-read-tree-sparse-checkout.sh
diff --git a/t/t1011-read-tree-sparse-checkout.sh b/t/t1011-read-tree-sparse-checkout.sh
new file mode 100755
index 0000000..2192f5a
--- /dev/null
+++ b/t/t1011-read-tree-sparse-checkout.sh
@@ -0,0 +1,154 @@
+#!/bin/sh
+
+test_description='sparse checkout tests'
+
+. ./test-lib.sh
+
+cat >expected <<EOF
+100644 77f0ba1734ed79d12881f81b36ee134de6a3327b 0 init.t
+100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0 sub/added
+EOF
+test_expect_success 'setup' '
+ test_commit init &&
+ echo modified >> init.t &&
+ mkdir sub &&
+ touch sub/added &&
+ git add init.t sub/added &&
+ git commit -m "modified and added" &&
+ git tag top &&
+ git rm sub/added &&
+ git commit -m removed &&
+ git tag removed &&
+ git checkout top &&
+ git ls-files --stage > result &&
+ test_cmp expected result
+'
+
+cat >expected.swt <<EOF
+H init.t
+H sub/added
+EOF
+test_expect_success 'read-tree without .git/info/sparse-checkout' '
+ git read-tree -m -u HEAD &&
+ git ls-files --stage > result &&
+ test_cmp expected result &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result
+'
+
+test_expect_success 'read-tree with .git/info/sparse-checkout but disabled' '
+ echo > .git/info/sparse-checkout
+ git read-tree -m -u HEAD &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result &&
+ test -f init.t &&
+ test -f sub/added
+'
+
+test_expect_success 'read-tree --no-sparse-checkout with empty .git/info/sparse-checkout and enabled' '
+ git config core.sparsecheckout true &&
+ echo > .git/info/sparse-checkout &&
+ git read-tree --no-sparse-checkout -m -u HEAD &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result &&
+ test -f init.t &&
+ test -f sub/added
+'
+
+cat >expected.swt <<EOF
+S init.t
+S sub/added
+EOF
+test_expect_success 'read-tree with empty .git/info/sparse-checkout' '
+ git config core.sparsecheckout true &&
+ echo > .git/info/sparse-checkout &&
+ git read-tree -m -u HEAD &&
+ git ls-files --stage > result &&
+ test_cmp expected result &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result &&
+ test ! -f init.t &&
+ test ! -f sub/added
+'
+
+cat >expected.swt <<EOF
+S init.t
+H sub/added
+EOF
+test_expect_success 'match directories with trailing slash' '
+ echo sub/ > .git/info/sparse-checkout &&
+ git read-tree -m -u HEAD &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result &&
+ test ! -f init.t &&
+ test -f sub/added
+'
+
+cat >expected.swt <<EOF
+H init.t
+H sub/added
+EOF
+test_expect_failure 'match directories without trailing slash' '
+ echo init.t > .git/info/sparse-checkout &&
+ echo sub >> .git/info/sparse-checkout &&
+ git read-tree -m -u HEAD &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result &&
+ test ! -f init.t &&
+ test -f sub/added
+'
+
+cat >expected.swt <<EOF
+H init.t
+S sub/added
+EOF
+test_expect_success 'checkout area changes' '
+ echo init.t > .git/info/sparse-checkout &&
+ git read-tree -m -u HEAD &&
+ git ls-files -t > result &&
+ test_cmp expected.swt result &&
+ test -f init.t &&
+ test ! -f sub/added
+'
+
+test_expect_success 'read-tree updates worktree, absent case' '
+ echo sub/added > .git/info/sparse-checkout &&
+ git checkout -f top &&
+ git read-tree -m -u HEAD^ &&
+ test ! -f init.t
+'
+
+test_expect_success 'read-tree updates worktree, dirty case' '
+ echo sub/added > .git/info/sparse-checkout &&
+ git checkout -f top &&
+ echo dirty > init.t &&
+ git read-tree -m -u HEAD^ &&
+ grep -q dirty init.t &&
+ rm init.t
+'
+
+test_expect_success 'read-tree removes worktree, dirty case' '
+ echo init.t > .git/info/sparse-checkout &&
+ git checkout -f top &&
+ echo dirty > added &&
+ git read-tree -m -u HEAD^ &&
+ grep -q dirty added
+'
+
+test_expect_success 'read-tree adds to worktree, absent case' '
+ echo init.t > .git/info/sparse-checkout &&
+ git checkout -f removed &&
+ git read-tree -u -m HEAD^ &&
+ test ! -f sub/added
+'
+
+test_expect_success 'read-tree adds to worktree, dirty case' '
+ echo init.t > .git/info/sparse-checkout &&
+ git checkout -f removed &&
+ mkdir sub &&
+ echo dirty > sub/added &&
+ git read-tree -u -m HEAD^ &&
+ grep -q dirty sub/added
+'
+
+test_done
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 23/23] sparse checkout: inhibit empty worktree
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:31 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
The way sparse checkout works, users may empty their worktree
completely, because of non-matching sparse-checkout spec, or empty
spec. I believe this is not desired. This patch makes Git refuse to
produce such worktree.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
t/t1011-read-tree-sparse-checkout.sh | 10 +++-------
unpack-trees.c | 7 +++++++
2 files changed, 10 insertions(+), 7 deletions(-)
diff --git a/t/t1011-read-tree-sparse-checkout.sh b/t/t1011-read-tree-sparse-checkout.sh
index 2192f5a..62246db 100755
--- a/t/t1011-read-tree-sparse-checkout.sh
+++ b/t/t1011-read-tree-sparse-checkout.sh
@@ -55,20 +55,16 @@ test_expect_success 'read-tree --no-sparse-checkout with empty .git/info/sparse-
test -f sub/added
'
-cat >expected.swt <<EOF
-S init.t
-S sub/added
-EOF
test_expect_success 'read-tree with empty .git/info/sparse-checkout' '
git config core.sparsecheckout true &&
echo > .git/info/sparse-checkout &&
- git read-tree -m -u HEAD &&
+ test_must_fail git read-tree -m -u HEAD &&
git ls-files --stage > result &&
test_cmp expected result &&
git ls-files -t > result &&
test_cmp expected.swt result &&
- test ! -f init.t &&
- test ! -f sub/added
+ test -f init.t &&
+ test -f sub/added
'
cat >expected.swt <<EOF
diff --git a/unpack-trees.c b/unpack-trees.c
index aac9922..d33b39e 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -498,6 +498,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
}
if (!o->skip_sparse_checkout) {
+ int empty_worktree = 1;
for (i = 0;i < o->result.cache_nr;i++) {
struct cache_entry *ce = o->result.cache[i];
@@ -512,8 +513,14 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
*/
if (ce_skip_worktree(ce))
ce->ce_flags &= ~(CE_UPDATE | CE_REMOVE);
+ else
+ empty_worktree = 0;
}
+ if (o->result.cache_nr && empty_worktree) {
+ ret = unpack_failed(o, "Sparse checkout leaves no entry on working directory");
+ goto done;
+ }
}
o->src_index = NULL;
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 20/23] unpack-trees(): ignore worktree check outside checkout area
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:31 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
verify_absent() and verify_uptodate() are used to ensure worktree
is safe to be updated, then CE_REMOVE or CE_UPDATE will be set.
Finally check_updates() bases on CE_REMOVE, CE_UPDATE and the
recently added CE_WT_REMOVE to update working directory accordingly.
The entries that are checked may eventually be left out of checkout
area (done later in apply_sparse_checkout()). We don't want to update
outside checkout area. This patch teaches Git to assume "good",
skip these checks when it's sure those entries will be outside checkout
area, and clear CE_REMOVE|CE_UPDATE that could be set due to this
assumption.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
unpack-trees.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/unpack-trees.c b/unpack-trees.c
index 6288385..aac9922 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -505,6 +505,14 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options
ret = -1;
goto done;
}
+ /*
+ * Merge strategies may set CE_UPDATE|CE_REMOVE outside checkout
+ * area as a result of ce_skip_worktree() shortcuts in
+ * verify_absent() and verify_uptodate(). Clear them.
+ */
+ if (ce_skip_worktree(ce))
+ ce->ce_flags &= ~(CE_UPDATE | CE_REMOVE);
+
}
}
@@ -577,6 +585,8 @@ static int verify_uptodate_1(struct cache_entry *ce,
static int verify_uptodate(struct cache_entry *ce,
struct unpack_trees_options *o)
{
+ if (!o->skip_sparse_checkout && will_have_skip_worktree(ce, o))
+ return 0;
return verify_uptodate_1(ce, o, ERRORMSG(o, not_uptodate_file));
}
@@ -776,6 +786,8 @@ static int verify_absent_1(struct cache_entry *ce, const char *action,
static int verify_absent(struct cache_entry *ce, const char *action,
struct unpack_trees_options *o)
{
+ if (!o->skip_sparse_checkout && will_have_skip_worktree(ce, o))
+ return 0;
return verify_absent_1(ce, action, o, ERRORMSG(o, would_lose_untracked));
}
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 06/23] Teach diff machinery to respect skip-worktree bit
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:30 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
diff-lib.c | 5 +++--
diff.c | 2 +-
t/t7011-skip-worktree-reading.sh | 23 +++++++++++++++++++++++
3 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/diff-lib.c b/diff-lib.c
index 22da66e..b0b379d 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -159,7 +159,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
continue;
}
- if (ce_uptodate(ce))
+ if (ce_uptodate(ce) || ce_skip_worktree(ce))
continue;
/* If CE_VALID is set, don't look at workdir for file removal */
@@ -339,7 +339,8 @@ static void do_oneway_diff(struct unpack_trees_options *o,
int match_missing, cached;
/* if the entry is not checked out, don't examine work tree */
- cached = o->index_only || (idx && (idx->ce_flags & CE_VALID));
+ cached = o->index_only ||
+ (idx && ((idx->ce_flags & CE_VALID) || ce_skip_worktree(idx)));
/*
* Backward compatibility wart - "diff-index -m" does
* not mean "do not ignore merges", but "match_missing".
diff --git a/diff.c b/diff.c
index cd35e0c..3970df4 100644
--- a/diff.c
+++ b/diff.c
@@ -1805,7 +1805,7 @@ static int reuse_worktree_file(const char *name, const unsigned char *sha1, int
* If ce is marked as "assume unchanged", there is no
* guarantee that work tree matches what we are looking for.
*/
- if (ce->ce_flags & CE_VALID)
+ if ((ce->ce_flags & CE_VALID) || ce_skip_worktree(ce))
return 0;
/*
diff --git a/t/t7011-skip-worktree-reading.sh b/t/t7011-skip-worktree-reading.sh
index ede3ee1..5db93d0 100755
--- a/t/t7011-skip-worktree-reading.sh
+++ b/t/t7011-skip-worktree-reading.sh
@@ -111,4 +111,27 @@ test_expect_success 'ls-files --modified' '
test -z "$(git ls-files -m)"
'
+echo ":000000 100644 $ZERO_SHA1 $NULL_SHA1 A 1" > expected
+test_expect_success 'diff-index does not examine skip-worktree absent entries' '
+ setup_absent &&
+ git diff-index HEAD -- 1 > result &&
+ test_cmp expected result
+'
+
+test_expect_success 'diff-index does not examine skip-worktree dirty entries' '
+ setup_dirty &&
+ git diff-index HEAD -- 1 > result &&
+ test_cmp expected result
+'
+
+test_expect_success 'diff-files does not examine skip-worktree absent entries' '
+ setup_absent &&
+ test -z "$(git diff-files -- one)"
+'
+
+test_expect_success 'diff-files does not examine skip-worktree dirty entries' '
+ setup_dirty &&
+ test -z "$(git diff-files -- one)"
+'
+
test_done
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 04/23] update-index: ignore update request if it's skip-worktree
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:30 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
builtin-apply.c | 2 +-
cache.h | 2 ++
entry.c | 2 +-
read-cache.c | 17 ++++++++++++++---
unpack-trees.c | 6 +++---
5 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/builtin-apply.c b/builtin-apply.c
index 39dc96a..7717a66 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c
@@ -2505,7 +2505,7 @@ static int verify_index_match(struct cache_entry *ce, struct stat *st)
return -1;
return 0;
}
- return ce_match_stat(ce, st, CE_MATCH_IGNORE_VALID);
+ return ce_match_stat(ce, st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
}
static int check_preimage(struct patch *patch, struct cache_entry **ce, struct stat *st)
diff --git a/cache.h b/cache.h
index f266246..f040f24 100644
--- a/cache.h
+++ b/cache.h
@@ -462,6 +462,8 @@ extern int index_name_is_other(const struct index_state *, const char *, int);
#define CE_MATCH_IGNORE_VALID 01
/* do not check the contents but report dirty on racily-clean entries */
#define CE_MATCH_RACY_IS_DIRTY 02
+/* do stat comparison even if CE_SKIP_WORKTREE is true */
+#define CE_MATCH_IGNORE_SKIP_WORKTREE 04
extern int ie_match_stat(const struct index_state *, struct cache_entry *, struct stat *, unsigned int);
extern int ie_modified(const struct index_state *, struct cache_entry *, struct stat *, unsigned int);
diff --git a/entry.c b/entry.c
index f276cf3..efee21f 100644
--- a/entry.c
+++ b/entry.c
@@ -202,7 +202,7 @@ int checkout_entry(struct cache_entry *ce, const struct checkout *state, char *t
len += ce_namelen(ce);
if (!check_path(path, len, &st)) {
- unsigned changed = ce_match_stat(ce, &st, CE_MATCH_IGNORE_VALID);
+ unsigned changed = ce_match_stat(ce, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
if (!changed)
return 0;
if (!state->force) {
diff --git a/read-cache.c b/read-cache.c
index 4e3e272..b31861c 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -259,12 +259,17 @@ int ie_match_stat(const struct index_state *istate,
{
unsigned int changed;
int ignore_valid = options & CE_MATCH_IGNORE_VALID;
+ int ignore_skip_worktree = options & CE_MATCH_IGNORE_SKIP_WORKTREE;
int assume_racy_is_modified = options & CE_MATCH_RACY_IS_DIRTY;
/*
* If it's marked as always valid in the index, it's
* valid whatever the checked-out copy says.
+ *
+ * skip-worktree has the same effect with higher precedence
*/
+ if (!ignore_skip_worktree && ce_skip_worktree(ce))
+ return 0;
if (!ignore_valid && (ce->ce_flags & CE_VALID))
return 0;
@@ -564,7 +569,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
int size, namelen, was_same;
mode_t st_mode = st->st_mode;
struct cache_entry *ce, *alias;
- unsigned ce_option = CE_MATCH_IGNORE_VALID|CE_MATCH_RACY_IS_DIRTY;
+ unsigned ce_option = CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE|CE_MATCH_RACY_IS_DIRTY;
int verbose = flags & (ADD_CACHE_VERBOSE | ADD_CACHE_PRETEND);
int pretend = flags & ADD_CACHE_PRETEND;
int intent_only = flags & ADD_CACHE_INTENT;
@@ -1000,14 +1005,20 @@ static struct cache_entry *refresh_cache_ent(struct index_state *istate,
struct cache_entry *updated;
int changed, size;
int ignore_valid = options & CE_MATCH_IGNORE_VALID;
+ int ignore_skip_worktree = options & CE_MATCH_IGNORE_SKIP_WORKTREE;
if (ce_uptodate(ce))
return ce;
/*
- * CE_VALID means the user promised us that the change to
- * the work tree does not matter and told us not to worry.
+ * CE_VALID or CE_SKIP_WORKTREE means the user promised us
+ * that the change to the work tree does not matter and told
+ * us not to worry.
*/
+ if (!ignore_skip_worktree && ce_skip_worktree(ce)) {
+ ce_mark_uptodate(ce);
+ return ce;
+ }
if (!ignore_valid && (ce->ce_flags & CE_VALID)) {
ce_mark_uptodate(ce);
return ce;
diff --git a/unpack-trees.c b/unpack-trees.c
index 720f7a1..4870da9 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -454,7 +454,7 @@ static int verify_uptodate(struct cache_entry *ce,
return 0;
if (!lstat(ce->name, &st)) {
- unsigned changed = ie_match_stat(o->src_index, ce, &st, CE_MATCH_IGNORE_VALID);
+ unsigned changed = ie_match_stat(o->src_index, ce, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
if (!changed)
return 0;
/*
@@ -572,7 +572,7 @@ static int icase_exists(struct unpack_trees_options *o, struct cache_entry *dst,
struct cache_entry *src;
src = index_name_exists(o->src_index, dst->name, ce_namelen(dst), 1);
- return src && !ie_match_stat(o->src_index, src, st, CE_MATCH_IGNORE_VALID);
+ return src && !ie_match_stat(o->src_index, src, st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
}
/*
@@ -1007,7 +1007,7 @@ int oneway_merge(struct cache_entry **src, struct unpack_trees_options *o)
if (o->reset && !ce_uptodate(old)) {
struct stat st;
if (lstat(old->name, &st) ||
- ie_match_stat(o->src_index, old, &st, CE_MATCH_IGNORE_VALID))
+ ie_match_stat(o->src_index, old, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE))
update |= CE_UPDATE;
}
add_entry(o, old, update, 0);
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 01/23] update-index: refactor mark_valid() in preparation for new options
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:30 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
builtin-update-index.c | 24 ++++++++++--------------
1 files changed, 10 insertions(+), 14 deletions(-)
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 92beaaf..f1b6c8e 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c
@@ -24,8 +24,8 @@ static int info_only;
static int force_remove;
static int verbose;
static int mark_valid_only;
-#define MARK_VALID 1
-#define UNMARK_VALID 2
+#define MARK_FLAG 1
+#define UNMARK_FLAG 2
static void report(const char *fmt, ...)
{
@@ -40,19 +40,15 @@ static void report(const char *fmt, ...)
va_end(vp);
}
-static int mark_valid(const char *path)
+static int mark_ce_flags(const char *path, int flag, int mark)
{
int namelen = strlen(path);
int pos = cache_name_pos(path, namelen);
if (0 <= pos) {
- switch (mark_valid_only) {
- case MARK_VALID:
- active_cache[pos]->ce_flags |= CE_VALID;
- break;
- case UNMARK_VALID:
- active_cache[pos]->ce_flags &= ~CE_VALID;
- break;
- }
+ if (mark)
+ active_cache[pos]->ce_flags |= flag;
+ else
+ active_cache[pos]->ce_flags &= ~flag;
cache_tree_invalidate_path(active_cache_tree, path);
active_cache_changed = 1;
return 0;
@@ -276,7 +272,7 @@ static void update_one(const char *path, const char *prefix, int prefix_length)
goto free_return;
}
if (mark_valid_only) {
- if (mark_valid(p))
+ if (mark_ce_flags(p, CE_VALID, mark_valid_only == MARK_FLAG))
die("Unable to mark file %s", path);
goto free_return;
}
@@ -647,11 +643,11 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
continue;
}
if (!strcmp(path, "--assume-unchanged")) {
- mark_valid_only = MARK_VALID;
+ mark_valid_only = MARK_FLAG;
continue;
}
if (!strcmp(path, "--no-assume-unchanged")) {
- mark_valid_only = UNMARK_VALID;
+ mark_valid_only = UNMARK_FLAG;
continue;
}
if (!strcmp(path, "--info-only")) {
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 02/23] Add test-index-version
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 10:30 UTC (permalink / raw)
To: Junio C Hamano, git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Commit 06aaaa0bf70fe37d198893f4e25fa73b6516f8a9 may step index format
version up and down, depends on whether extended flags present in the
index. This adds a test to check for index format version.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
.gitignore | 1 +
Makefile | 1 +
test-index-version.c | 14 ++++++++++++++
3 files changed, 16 insertions(+), 0 deletions(-)
create mode 100644 test-index-version.c
diff --git a/.gitignore b/.gitignore
index 41c0b20..e3a864c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -153,6 +153,7 @@ test-date
test-delta
test-dump-cache-tree
test-genrandom
+test-index-version
test-match-trees
test-parse-options
test-path-utils
diff --git a/Makefile b/Makefile
index daf4296..3c5b890 100644
--- a/Makefile
+++ b/Makefile
@@ -1580,6 +1580,7 @@ TEST_PROGRAMS += test-parse-options$X
TEST_PROGRAMS += test-path-utils$X
TEST_PROGRAMS += test-sha1$X
TEST_PROGRAMS += test-sigchain$X
+TEST_PROGRAMS += test-index-version$X
all:: $(TEST_PROGRAMS)
diff --git a/test-index-version.c b/test-index-version.c
new file mode 100644
index 0000000..bfaad9e
--- /dev/null
+++ b/test-index-version.c
@@ -0,0 +1,14 @@
+#include "cache.h"
+
+int main(int argc, const char **argv)
+{
+ struct cache_header hdr;
+ int version;
+
+ memset(&hdr,0,sizeof(hdr));
+ if (read(0, &hdr, sizeof(hdr)) != sizeof(hdr))
+ return 0;
+ version = ntohl(hdr.hdr_version);
+ printf("%d\n", version);
+ return 0;
+}
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* Re: [PATCH 00/23] nd/sparse reroll
From: Johannes Sixt @ 2009-12-14 11:09 UTC (permalink / raw)
To: Nguyễn Thái Ngọc Duy; +Cc: Junio C Hamano, git
In-Reply-To: <1260786666-8405-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy schrieb:
> Compared to the current series in pu, ...
Obviously, you didn't notice that the series is already in next, which
means that you should have made incremental patches on top of bbbe508d77.
-- Hannes
^ permalink raw reply
* Re: [PATCH 00/23] nd/sparse reroll
From: Nguyen Thai Ngoc Duy @ 2009-12-14 11:11 UTC (permalink / raw)
To: Johannes Sixt; +Cc: Junio C Hamano, git
In-Reply-To: <4B261CF0.8090102@viscovery.net>
2009/12/14 Johannes Sixt <j.sixt@viscovery.net>:
> Nguyễn Thái Ngọc Duy schrieb:
>> Compared to the current series in pu, ...
>
> Obviously, you didn't notice that the series is already in next, which
> means that you should have made incremental patches on top of bbbe508d77.
Argh.. sorry I did not catch up with git@vger lately. Will resend.
--
Duy
^ permalink raw reply
* Re: strange error while pushing
From: Johannes Schindelin @ 2009-12-14 11:35 UTC (permalink / raw)
To: Sverre Rabbelier; +Cc: kusmabite, Jeff King, Git Mailing List
In-Reply-To: <fabb9a1e0912131601q71dcb4c4h2fafa03df14be3c1@mail.gmail.com>
Hi,
On Mon, 14 Dec 2009, Sverre Rabbelier wrote:
> On Mon, Dec 14, 2009 at 00:08, Erik Faye-Lund <kusmabite@googlemail.com>
> wrote:
> > Simple, I was pushing git from a directory with a recent git-binary,
> > when my *installed* git was v1.6.4
>
> Isn't this the reason most people don't have "." in their PATH? :P
Try removing "." from the PATH on Windows... to spare you some cycles: it
is in PATH _implicitly_. You cannot remove it from ".", even if you try
hard.
Ciao,
Dscho
^ permalink raw reply
* Re: strange error while pushing
From: Sverre Rabbelier @ 2009-12-14 11:33 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: kusmabite, Jeff King, Git Mailing List
In-Reply-To: <alpine.DEB.1.00.0912141235090.4985@pacific.mpi-cbg.de>
Heya,
On Mon, Dec 14, 2009 at 12:35, Johannes Schindelin
<Johannes.Schindelin@gmx.de> wrote:
> Try removing "." from the PATH on Windows... to spare you some cycles: it
> is in PATH _implicitly_. You cannot remove it from ".", even if you try
> hard.
It's an amazing OS, it's quirks keep surprising me day after day :).
--
Cheers,
Sverre Rabbelier
^ permalink raw reply
* Re: [BUG] Bad msysgit/egit interaction over dotfiles
From: Johannes Schindelin @ 2009-12-14 11:45 UTC (permalink / raw)
To: Erik Faye-Lund; +Cc: Yann Dirson, Marius Storm-Olsen, Ferry Huberts, GIT ml
In-Reply-To: <40aa078e0912140113w23823058h4ca691963761d3be@mail.gmail.com>
[-- Attachment #1: Type: TEXT/PLAIN, Size: 2335 bytes --]
Hi,
On Mon, 14 Dec 2009, Erik Faye-Lund wrote:
> On Thu, Dec 10, 2009 at 9:35 AM, Yann Dirson <ydirson@linagora.com> wrote:
>
> > [discussion revolving around ".*" being marked hidden on Windows]
> >
> > But maybe the situation is not so clear. That "hide dotfiles" was
> > implemented so that ".git" at first, and then ".git*" files do not
> > clutter the view of the project. But then, if a git repo has other
> > dotfiles, those are really *part of* the versionned stuff, so I do not
> > see why those should be hidden at all. After all, the .project,
> > .classpath, and other eclipse project files have that name on windows
> > too, and it will indeed *confuse* people to get them hidden.
> >
> > So should we have 2 classes of dotfiles, those "private to git", and
> > the others, one class being hidden while the others are not ? I am
> > not sure at all this would be a good idea either. Or maybe we should
> > only get .git hidden - after all, that one is the only real metadata
> > not part of the versionned stuff itself ?
> >
> > Maybe we should add some sort of "core.hidedotfiles = dotgitonly"
> > setting, and make that the default ? That one does not appear to
> > cause any problems to jgit, and eclipse itself has not business with
> > it, so it would IMHO make sense.
> >
> > Opinions ?
> >
>
> IF we were to go down this path, perhaps it would be even better to
> use some sort of file-pattern or even squeeze this into gitattributes?
> I guess something like ".* +hidden" should emulate the unix behaviour
> (given that we add a hidden attribute). I don't think we have a global
> gitattributes file though, so it'd have to be added to each repo where
> the effect is desired, I guess.
Actually, I think the original request was really for all the dot files,
not just for .git.
But I can see the reasoning behind hiding only .git, which I would not
like to make the default, though. I would like to make Eclipse users set
this explicitely in their /etc/gitconfig (possibly via the Git for Windows
installer, just like the infamous -- and still broken -- core.autocrlf
setting, if Sebastian is nice enough to make yet another page in the
installer).
So: I would definitely take a patch implementing "core.hidedotfiles =
dotgitonly", but would hesitate to make it the default.
Ciao,
Dscho
^ permalink raw reply
* RE: Undoing merges
From: Richard @ 2009-12-14 11:42 UTC (permalink / raw)
To: Matthieu Moy; +Cc: git
In-Reply-To: <vpqpr6pqrvq.fsf@bauges.imag.fr>
Hi again Matt,
Thanks for the reply.
> > Hi git list,
> >
> > I'm trying to find out how to undo a merge.
>
> When sitting on a merge commit,
>
> git reset --merge HEAD^
>
> will undo this merge commit (i.e. pretend the merge has never
> occurred, at least in your branch). Don't do that if you already
> published this merge commit.
The problem that I'm far past the merge commit.
> > I know that my branches are independent and that I can just carry on
> > working on them and merge again later, but I'm just trying to keep
> > my revision graph tidier. Should I even be undoing merges?
>
> If it's about cleaning up your history, "git rebase" is your friend,
> too (with the same limitation: don't do that on published history). By
> default, it does some kind of history flattening.
I had a look at the git-rebase man page and it showed to remove a commit
from the middle of a range of commits. I think as I am on longer on the
merge commit and cannot use "git reset --merge HEAD^", I can rebase all
the commits from the commit just after the merge onto the commit just
before the merge and that will remove the merge. Unfortunately I didn't
get a change to try that out so I don't know whether it will work or
not.
Richard
^ permalink raw reply
* [PATCH 1/2] ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 11:43 UTC (permalink / raw)
To: git, Junio C Hamano, Johannes Sixt; +Cc: Nguyễn Thái Ngọc Duy
Previously CE_MATCH_IGNORE_VALID flag is used by both valid and
skip-worktree bits. While the two bits have similar behaviour, sharing
this flag means "git update-index --really-refresh" will ignore
skip-worktree while it should not. Instead another flag is
introduced to ignore skip-worktree bit, CE_MATCH_IGNORE_VALID only
applies to valid bit.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
builtin-apply.c | 2 +-
cache.h | 4 +++-
entry.c | 2 +-
read-cache.c | 21 ++++++++++++++++++---
unpack-trees.c | 6 +++---
5 files changed, 26 insertions(+), 9 deletions(-)
diff --git a/builtin-apply.c b/builtin-apply.c
index 36e2f9d..541493e 100644
--- a/builtin-apply.c
+++ b/builtin-apply.c
@@ -2666,7 +2666,7 @@ static int verify_index_match(struct cache_entry *ce, struct stat *st)
return -1;
return 0;
}
- return ce_match_stat(ce, st, CE_MATCH_IGNORE_VALID);
+ return ce_match_stat(ce, st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
}
static int check_preimage(struct patch *patch, struct cache_entry **ce, struct stat *st)
diff --git a/cache.h b/cache.h
index 0e69384..1341475 100644
--- a/cache.h
+++ b/cache.h
@@ -469,7 +469,9 @@ extern int index_name_is_other(const struct index_state *, const char *, int);
/* do stat comparison even if CE_VALID is true */
#define CE_MATCH_IGNORE_VALID 01
/* do not check the contents but report dirty on racily-clean entries */
-#define CE_MATCH_RACY_IS_DIRTY 02
+#define CE_MATCH_RACY_IS_DIRTY 02
+/* do stat comparison even if CE_SKIP_WORKTREE is true */
+#define CE_MATCH_IGNORE_SKIP_WORKTREE 04
extern int ie_match_stat(const struct index_state *, struct cache_entry *, struct stat *, unsigned int);
extern int ie_modified(const struct index_state *, struct cache_entry *, struct stat *, unsigned int);
diff --git a/entry.c b/entry.c
index 06d24f1..9d5b232 100644
--- a/entry.c
+++ b/entry.c
@@ -206,7 +206,7 @@ int checkout_entry(struct cache_entry *ce, const struct checkout *state, char *t
len += ce_namelen(ce);
if (!check_path(path, len, &st, state->base_dir_len)) {
- unsigned changed = ce_match_stat(ce, &st, CE_MATCH_IGNORE_VALID);
+ unsigned changed = ce_match_stat(ce, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
if (!changed)
return 0;
if (!state->force) {
diff --git a/read-cache.c b/read-cache.c
index 7a2385b..b5c66f9 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -259,13 +259,18 @@ int ie_match_stat(const struct index_state *istate,
{
unsigned int changed;
int ignore_valid = options & CE_MATCH_IGNORE_VALID;
+ int ignore_skip_worktree = options & CE_MATCH_IGNORE_SKIP_WORKTREE;
int assume_racy_is_modified = options & CE_MATCH_RACY_IS_DIRTY;
/*
* If it's marked as always valid in the index, it's
* valid whatever the checked-out copy says.
+ *
+ * skip-worktree has the same effect with higher precedence
*/
- if (!ignore_valid && ((ce->ce_flags & CE_VALID) || ce_skip_worktree(ce)))
+ if (!ignore_skip_worktree && ce_skip_worktree(ce))
+ return 0;
+ if (!ignore_valid && (ce->ce_flags & CE_VALID))
return 0;
/*
@@ -564,7 +569,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
int size, namelen, was_same;
mode_t st_mode = st->st_mode;
struct cache_entry *ce, *alias;
- unsigned ce_option = CE_MATCH_IGNORE_VALID|CE_MATCH_RACY_IS_DIRTY;
+ unsigned ce_option = CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE|CE_MATCH_RACY_IS_DIRTY;
int verbose = flags & (ADD_CACHE_VERBOSE | ADD_CACHE_PRETEND);
int pretend = flags & ADD_CACHE_PRETEND;
int intent_only = flags & ADD_CACHE_INTENT;
@@ -1000,11 +1005,21 @@ static struct cache_entry *refresh_cache_ent(struct index_state *istate,
struct cache_entry *updated;
int changed, size;
int ignore_valid = options & CE_MATCH_IGNORE_VALID;
+ int ignore_skip_worktree = options & CE_MATCH_IGNORE_SKIP_WORKTREE;
if (ce_uptodate(ce))
return ce;
- if (!ignore_valid && ((ce->ce_flags & CE_VALID) || ce_skip_worktree(ce))) {
+ /*
+ * CE_VALID or CE_SKIP_WORKTREE means the user promised us
+ * that the change to the work tree does not matter and told
+ * us not to worry.
+ */
+ if (!ignore_skip_worktree && ce_skip_worktree(ce)) {
+ ce_mark_uptodate(ce);
+ return ce;
+ }
+ if (!ignore_valid && (ce->ce_flags & CE_VALID)) {
ce_mark_uptodate(ce);
return ce;
}
diff --git a/unpack-trees.c b/unpack-trees.c
index ae1de3f..7570475 100644
--- a/unpack-trees.c
+++ b/unpack-trees.c
@@ -569,7 +569,7 @@ static int verify_uptodate_1(struct cache_entry *ce,
return 0;
if (!lstat(ce->name, &st)) {
- unsigned changed = ie_match_stat(o->src_index, ce, &st, CE_MATCH_IGNORE_VALID);
+ unsigned changed = ie_match_stat(o->src_index, ce, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
if (!changed)
return 0;
/*
@@ -701,7 +701,7 @@ static int icase_exists(struct unpack_trees_options *o, struct cache_entry *dst,
struct cache_entry *src;
src = index_name_exists(o->src_index, dst->name, ce_namelen(dst), 1);
- return src && !ie_match_stat(o->src_index, src, st, CE_MATCH_IGNORE_VALID);
+ return src && !ie_match_stat(o->src_index, src, st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE);
}
/*
@@ -1152,7 +1152,7 @@ int oneway_merge(struct cache_entry **src, struct unpack_trees_options *o)
if (o->reset && !ce_uptodate(old) && !ce_skip_worktree(old)) {
struct stat st;
if (lstat(old->name, &st) ||
- ie_match_stat(o->src_index, old, &st, CE_MATCH_IGNORE_VALID))
+ ie_match_stat(o->src_index, old, &st, CE_MATCH_IGNORE_VALID|CE_MATCH_IGNORE_SKIP_WORKTREE))
update |= CE_UPDATE;
}
add_entry(o, old, update, 0);
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* [PATCH 2/2] commit: correctly respect skip-worktree bit
From: Nguyễn Thái Ngọc Duy @ 2009-12-14 11:43 UTC (permalink / raw)
To: git, Junio C Hamano, Johannes Sixt; +Cc: Nguyễn Thái Ngọc Duy
In-Reply-To: <1260791039-12316-1-git-send-email-pclouds@gmail.com>
Commit b4d1690 (Teach Git to respect skip-worktree bit (reading part))
fails to make "git commit -- a b c" respect skip-worktree
(i.e. not committing paths that are skip-worktree). This is because
when the index is reset back to HEAD, all skip-worktree information is
gone.
This patch saves skip-worktree information in the string list of
committed paths, then reuse it later on to skip skip-worktree paths.
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
builtin-commit.c | 11 +++++++----
t/t7011-skip-worktree-reading.sh | 4 ++--
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/builtin-commit.c b/builtin-commit.c
index a11e585..6e368f0 100644
--- a/builtin-commit.c
+++ b/builtin-commit.c
@@ -180,11 +180,15 @@ static int list_paths(struct string_list *list, const char *with_tree,
for (i = 0; i < active_nr; i++) {
struct cache_entry *ce = active_cache[i];
+ struct string_list_item *item;
+
if (ce->ce_flags & CE_UPDATE)
continue;
if (!match_pathspec(pattern, ce->name, ce_namelen(ce), 0, m))
continue;
- string_list_insert(ce->name, list);
+ item = string_list_insert(ce->name, list);
+ if (ce_skip_worktree(ce))
+ item->util = item; /* better a valid pointer than a fake one */
}
return report_path_error(m, pattern, prefix ? strlen(prefix) : 0);
@@ -196,10 +200,9 @@ static void add_remove_files(struct string_list *list)
for (i = 0; i < list->nr; i++) {
struct stat st;
struct string_list_item *p = &(list->items[i]);
- int pos = index_name_pos(&the_index, p->string, strlen(p->string));
- struct cache_entry *ce = pos < 0 ? NULL : active_cache[pos];
- if (ce && ce_skip_worktree(ce))
+ /* p->util is skip-worktree */
+ if (p->util)
continue;
if (!lstat(p->string, &st)) {
diff --git a/t/t7011-skip-worktree-reading.sh b/t/t7011-skip-worktree-reading.sh
index e996928..bb4066f 100755
--- a/t/t7011-skip-worktree-reading.sh
+++ b/t/t7011-skip-worktree-reading.sh
@@ -148,13 +148,13 @@ test_expect_success 'git-rm succeeds on skip-worktree absent entries' '
git rm 1
'
-test_expect_failure 'commit on skip-worktree absent entries' '
+test_expect_success 'commit on skip-worktree absent entries' '
git reset &&
setup_absent &&
test_must_fail git commit -m null 1
'
-test_expect_failure 'commit on skip-worktree dirty entries' '
+test_expect_success 'commit on skip-worktree dirty entries' '
git reset &&
setup_dirty &&
test_must_fail git commit -m null 1
--
1.6.5.2.216.g9c1ec
^ permalink raw reply related
* Re: [PATCH 2/2] Add gitk-git Hungarian translation
From: Miklos Vajna @ 2009-12-14 12:30 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Paul Mackerras, Laszlo Papp, Laszlo Papp, git
In-Reply-To: <7vskbejmrw.fsf@alter.siamese.dyndns.org>
[-- Attachment #1: Type: text/plain, Size: 524 bytes --]
On Sun, Dec 13, 2009 at 06:46:11PM -0800, Junio C Hamano <gitster@pobox.com> wrote:
> Now, I don't read _any_ Hungarian, so it could very well be that my fix-up
> is wrong and there shouldn't be any SP between two words in 'fájlon belül'
> and 'még nincsenek'; if we hear from some Hungarian capable readers that the
> fix-up below makes sense, perhaps squashing it in would be the easiest way
> to move forward?
Yeah, it make sense. Obviously Laszlo forgot to run 'make' in gitk-git
before sending the patch. ;-)
[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply
* [PATCH] help.autocorrect: do not run a command if the command given is junk
From: Johannes Sixt @ 2009-12-14 13:03 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Johannes Schindelin, Git Mailing List, Alex Riesen
From: Johannes Sixt <j6t@kdbg.org>
If a given command is not found, then help.c tries to guess which one the
user could have meant. If help.autocorrect is 0 or unset, then a list of
suggestions is given as long as the dissimilarity between the given command
and the candidates is not excessively high. But if help.autocorrect was
non-zero (i.e., a delay after which the command is run automatically), the
latter restriction on dissimilarity was not obeyed.
In my case, this happened:
$ git ..daab02
WARNING: You called a Git command named '..daab02', which does not exist.
Continuing under the assumption that you meant 'read-tree'
in 4.0 seconds automatically...
The similarity limit that this patch introduces is already used a few lines
later where the list of suggested commands is printed.
Signed-off-by: Johannes Sixt <j6t@kdbg.org>
---
help.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/help.c b/help.c
index e8db31f..db888cf 100644
--- a/help.c
+++ b/help.c
@@ -331,7 +331,7 @@ const char *help_unknown_cmd(const char *cmd)
n = 1;
while (n < main_cmds.cnt && best_similarity == main_cmds.names[n]->len)
++n;
- if (autocorrect && n == 1) {
+ if (autocorrect && n == 1 && best_similarity < 6) {
const char *assumed = main_cmds.names[0]->name;
main_cmds.names[0] = NULL;
clean_cmdnames(&main_cmds);
--
1.6.6.rc1.46.g1635
^ permalink raw reply related
* Re: How can I get full filenames from Git difftool (for Microsoft Word “Compare Documents” feature)?
From: Jeff Epler @ 2009-12-14 13:11 UTC (permalink / raw)
To: Doug Ireton; +Cc: git
In-Reply-To: <b507cb050912132225j1bdc39c2v42a3bf6bddf1cb1a@mail.gmail.com>
In the bash shell, you can convert a relative path to absolute by prepending
the directory name:
mkabs () {
case "$1" in
/*) echo "$1" ;;
*) echo "$(pwd)/$1" ;;
esac
}
Using it at the shell prompt:
$ mkabs example
/home/jepler/example
$ ls -l $(mkabs example)
-rw-r--r-- 1 jepler jepler 0 2009-12-14 07:08 /home/jepler/example
If mac has a gnu-like readlink(1), then use 'readlink -f' instead of the
mkabs shell function:
$ readlink -f example
/home/jepler/example
You should be able to write a shell script which does the conversion
from relative to absolute using one of these patterns, and then invokes
the applescript.
It may turn out that there's a way to convert a path from relative to
absolute in applescript as well, but I wouldn't know it.
Jeff
^ permalink raw reply
* [PATCH 1/2] Fix up gitk-git Hungarian translation
From: Miklos Vajna @ 2009-12-14 13:12 UTC (permalink / raw)
To: Paul Mackerras; +Cc: Laszlo Papp, Junio C Hamano, git
In-Reply-To: <cover.1260796071.git.vmiklos@frugalware.org>
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---
gitk-git/po/hu.po | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
diff --git a/gitk-git/po/hu.po b/gitk-git/po/hu.po
index d281e3c..7a4bdca 100755
--- a/gitk-git/po/hu.po
+++ b/gitk-git/po/hu.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2009-05-12 21:55+0200\n"
-"PO-Revision-Date: 2009-05-12 22:18+0200\n"
+"PO-Revision-Date: 2009-12-14 13:28+0100\n"
"Last-Translator: Laszlo Papp <djszapi@archlinux.us>\n"
"Language-Team: Hungarian\n"
"MIME-Version: 1.0\n"
@@ -37,8 +37,7 @@ msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
msgstr ""
-"Nincsen fájl kiválasztva: --merge megadva, de nincsenek unmerged fájlok a fájlon
-belül "
+"Nincsen fájl kiválasztva: --merge megadva, de nincsenek unmerged fájlok a fájlon belül "
"limit."
#: gitk:361 gitk:508
@@ -662,8 +661,7 @@ msgstr "Nem elÅd"
#: gitk:4842
msgid "Local changes checked in to index but not committed"
-msgstr "Lokális változtatások, melyek be vannak téve az indexbe, de még
-nincsenek commitolva"
+msgstr "Lokális változtatások, melyek be vannak téve az indexbe, de még nincsenek commitolva"
#: gitk:4878
msgid "Local uncommitted changes, not checked in to index"
--
1.6.5.2
^ permalink raw reply related
* [PATCH 0/2] gitk Hungarian translation updates
From: Miklos Vajna @ 2009-12-14 13:12 UTC (permalink / raw)
To: Paul Mackerras; +Cc: Laszlo Papp, Junio C Hamano, git
In-Reply-To: <20091214123057.GL25474@genesis.frugalware.org>
Hi,
These two patches are on top of Laszlo's initial translation.
The first patch is the patch from Junio, the best would be to squash it
in Laszlo's one.
The second patch updates the translation as there were numerous
untranslated and fuzzy strings.
Miklos Vajna (2):
Fix up gitk-git Hungarian translation
Update gitk-git Hungarian translation
gitk-git/po/hu.po | 772 +++++++++++++++++++++++++++++++----------------------
1 files changed, 458 insertions(+), 314 deletions(-)
^ permalink raw reply
* [PATCH 2/2] Update gitk-git Hungarian translation
From: Miklos Vajna @ 2009-12-14 13:12 UTC (permalink / raw)
To: Paul Mackerras; +Cc: Laszlo Papp, Junio C Hamano, git
In-Reply-To: <cover.1260796071.git.vmiklos@frugalware.org>
Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---
gitk-git/po/hu.po | 770 +++++++++++++++++++++++++++++++----------------------
1 files changed, 458 insertions(+), 312 deletions(-)
diff --git a/gitk-git/po/hu.po b/gitk-git/po/hu.po
index 7a4bdca..1df212e 100755
--- a/gitk-git/po/hu.po
+++ b/gitk-git/po/hu.po
@@ -8,751 +8,841 @@ msgid ""
msgstr ""
"Project-Id-Version: git-gui\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-12 21:55+0200\n"
-"PO-Revision-Date: 2009-12-14 13:28+0100\n"
+"POT-Creation-Date: 2009-12-14 13:33+0100\n"
+"PO-Revision-Date: 2009-12-14 14:04+0100\n"
"Last-Translator: Laszlo Papp <djszapi@archlinux.us>\n"
"Language-Team: Hungarian\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: gitk:113
+#: gitk:115
msgid "Couldn't get list of unmerged files:"
msgstr "Nem sikerült letölteni az unmerged fájl listát:"
-#: gitk:268
+#: gitk:271
msgid "Error parsing revisions:"
msgstr "Hiba történt értelmezés közben:"
-#: gitk:323
+#: gitk:326
msgid "Error executing --argscmd command:"
msgstr "Hiba történt a végrehajtáskor --argscmd parancs:"
-#: gitk:336
+#: gitk:339
msgid "No files selected: --merge specified but no files are unmerged."
-msgstr "Nincsen fájl kiválasztva: --merge megadve, de egyetlen fájl sem unmerged."
+msgstr ""
+"Nincsen fájl kiválasztva: --merge megadve, de egyetlen fájl sem unmerged."
-#: gitk:339
+#: gitk:342
msgid ""
"No files selected: --merge specified but no unmerged files are within file "
"limit."
msgstr ""
-"Nincsen fájl kiválasztva: --merge megadva, de nincsenek unmerged fájlok a fájlon belül "
-"limit."
+"Nincsen fájl kiválasztva: --merge megadva, de nincsenek unmerged fájlok a "
+"fájlon belül limit."
-#: gitk:361 gitk:508
+#: gitk:364 gitk:511
msgid "Error executing git log:"
msgstr "Hiba történt a git log végrehajtása közben:"
-#: gitk:379 gitk:524
+#: gitk:382 gitk:527
msgid "Reading"
msgstr "Olvasás"
-#: gitk:439 gitk:4061
+#: gitk:442 gitk:4258
msgid "Reading commits..."
msgstr "Commitok olvasása ..."
-#: gitk:442 gitk:1560 gitk:4064
+#: gitk:445 gitk:1575 gitk:4261
msgid "No commits selected"
msgstr "Nincsen commit kiválasztva"
-#: gitk:1436
+#: gitk:1451
msgid "Can't parse git log output:"
msgstr "Nem lehet értelmezni a git log kimenetét:"
-#: gitk:1656
+#: gitk:1671
msgid "No commit information available"
msgstr "Nincsen elérhetŠcommit információ"
-#: gitk:1791 gitk:1815 gitk:3854 gitk:8714 gitk:10250 gitk:10422
+#: gitk:1813
+msgid "mc"
+msgstr "mc"
+
+#: gitk:1848 gitk:4051 gitk:9029 gitk:10570 gitk:10789
msgid "OK"
msgstr "OK"
-#: gitk:1817 gitk:3856 gitk:8311 gitk:8385 gitk:8495 gitk:8544 gitk:8716
-#: gitk:10251 gitk:10423
+#: gitk:1850 gitk:4053 gitk:8629 gitk:8703 gitk:8813 gitk:8862 gitk:9031
+#: gitk:10571 gitk:10790
msgid "Cancel"
msgstr "Visszavonás"
-#: gitk:1917
+#: gitk:1972
msgid "Update"
msgstr "Frissités"
-#: gitk:1918
+#: gitk:1973
msgid "Reload"
msgstr "Ãjratöltés"
-#: gitk:1919
+#: gitk:1974
msgid "Reread references"
msgstr "Referenciák újraolvasása"
-#: gitk:1920
+#: gitk:1975
msgid "List references"
msgstr "Referenciák listázása"
-#: gitk:1922
+#: gitk:1977
msgid "Start git gui"
msgstr "Git gui indÃtása"
-#: gitk:1924
+#: gitk:1979
msgid "Quit"
msgstr "Kilépés"
-#: gitk:1916
+#: gitk:1971
msgid "File"
msgstr "Fájl"
-#: gitk:1928
+#: gitk:1983
msgid "Preferences"
msgstr "BeállÃtások"
-#: gitk:1927
+#: gitk:1982
msgid "Edit"
msgstr "Szerkesztés"
-#: gitk:1932
+#: gitk:1987
msgid "New view..."
msgstr "Ãj nézet ..."
-#: gitk:1933
+#: gitk:1988
msgid "Edit view..."
msgstr "Nézet szerkesztése ..."
-#: gitk:1934
+#: gitk:1989
msgid "Delete view"
msgstr "Nézet törlése"
-#: gitk:1936
+#: gitk:1991
msgid "All files"
msgstr "Minden fájl"
-#: gitk:1931 gitk:3666
+#: gitk:1986 gitk:3805
msgid "View"
msgstr "Nézet"
-#: gitk:1941 gitk:1951 gitk:2650
+#: gitk:1996 gitk:2006 gitk:2777
msgid "About gitk"
msgstr "Gitk névjegy"
-#: gitk:1942 gitk:1956
+#: gitk:1997 gitk:2011
msgid "Key bindings"
msgstr "Billentyűkombináció"
-#: gitk:1940 gitk:1955
+#: gitk:1995 gitk:2010
msgid "Help"
msgstr "SegÃtség"
-#: gitk:2016
+#: gitk:2088
msgid "SHA1 ID: "
msgstr "SHA1 ID: "
-#: gitk:2047
+#: gitk:2119
msgid "Row"
msgstr "Sor"
-#: gitk:2078
+#: gitk:2157
msgid "Find"
msgstr "Keresés"
-#: gitk:2079
+#: gitk:2158
msgid "next"
msgstr "következÅ"
-#: gitk:2080
+#: gitk:2159
msgid "prev"
msgstr "elÅzÅ"
-#: gitk:2081
+#: gitk:2160
msgid "commit"
msgstr "commit"
-#: gitk:2084 gitk:2086 gitk:4222 gitk:4245 gitk:4269 gitk:6210 gitk:6282
-#: gitk:6366
+#: gitk:2163 gitk:2165 gitk:4419 gitk:4442 gitk:4466 gitk:6407 gitk:6479
+#: gitk:6563
msgid "containing:"
msgstr "tartalmazás:"
-#: gitk:2087 gitk:3158 gitk:3163 gitk:4297
+#: gitk:2166 gitk:3287 gitk:3292 gitk:4494
msgid "touching paths:"
msgstr "érintendŠútvonalak:"
-#: gitk:2088 gitk:4302
+#: gitk:2167 gitk:4499
msgid "adding/removing string:"
msgstr "string hozzáadása/törlése:"
-#: gitk:2097 gitk:2099
+#: gitk:2176 gitk:2178
msgid "Exact"
msgstr "Pontos"
-#: gitk:2099 gitk:4377 gitk:6178
+#: gitk:2178 gitk:4574 gitk:6375
msgid "IgnCase"
msgstr "Kis/nagy betű nem számÃt"
-#: gitk:2099 gitk:4271 gitk:4375 gitk:6174
+#: gitk:2178 gitk:4468 gitk:4572 gitk:6371
msgid "Regexp"
msgstr "Regexp"
-#: gitk:2101 gitk:2102 gitk:4396 gitk:4426 gitk:4433 gitk:6302 gitk:6370
+#: gitk:2180 gitk:2181 gitk:4593 gitk:4623 gitk:4630 gitk:6499 gitk:6567
msgid "All fields"
msgstr "Minden mezÅ"
-#: gitk:2102 gitk:4394 gitk:4426 gitk:6241
+#: gitk:2181 gitk:4591 gitk:4623 gitk:6438
msgid "Headline"
msgstr "FÅcÃm"
-#: gitk:2103 gitk:4394 gitk:6241 gitk:6370 gitk:6804
+#: gitk:2182 gitk:4591 gitk:6438 gitk:6567 gitk:7000
msgid "Comments"
msgstr "Megjegyzések"
-#: gitk:2103 gitk:4394 gitk:4398 gitk:4433 gitk:6241 gitk:6739 gitk:7991
-#: gitk:8006
+#: gitk:2182 gitk:4591 gitk:4595 gitk:4630 gitk:6438 gitk:6935 gitk:8280
+#: gitk:8295
msgid "Author"
msgstr "SzerzÅ"
-#: gitk:2103 gitk:4394 gitk:6241 gitk:6741
+#: gitk:2182 gitk:4591 gitk:6438 gitk:6937
msgid "Committer"
msgstr "Commitoló"
-#: gitk:2132
+#: gitk:2213
msgid "Search"
msgstr "Keresés"
-#: gitk:2139
+#: gitk:2221
msgid "Diff"
msgstr "Diff"
-#: gitk:2141
+#: gitk:2223
msgid "Old version"
msgstr "Régi verzió"
-#: gitk:2143
+#: gitk:2225
msgid "New version"
msgstr "Ãj verzió"
-#: gitk:2145
+#: gitk:2227
msgid "Lines of context"
msgstr "Tartalmi sorok"
-#: gitk:2155
+#: gitk:2237
msgid "Ignore space change"
msgstr "Space váltás mellÅzése"
-#: gitk:2213
+#: gitk:2296
msgid "Patch"
msgstr "Patch"
-#: gitk:2215
+#: gitk:2298
msgid "Tree"
msgstr "Tree"
-#: gitk:2359 gitk:2376
+#: gitk:2453 gitk:2470
msgid "Diff this -> selected"
msgstr "Diff ezeket -> kiválasztott"
-#: gitk:2360 gitk:2377
+#: gitk:2454 gitk:2471
msgid "Diff selected -> this"
msgstr "Diff kiválasztottakat -> ezt"
-#: gitk:2361 gitk:2378
+#: gitk:2455 gitk:2472
msgid "Make patch"
msgstr "Patch készÃtése"
-#: gitk:2362 gitk:8369
+#: gitk:2456 gitk:8687
msgid "Create tag"
msgstr "Tag készÃtése"
-#: gitk:2363 gitk:8475
+#: gitk:2457 gitk:8793
msgid "Write commit to file"
msgstr "Commit fáljba Ãrása"
-#: gitk:2364 gitk:8532
+#: gitk:2458 gitk:8850
msgid "Create new branch"
msgstr "Ãj branch készÃtése"
-#: gitk:2365
+#: gitk:2459
msgid "Cherry-pick this commit"
msgstr "Cherry-pick erre a commitra"
-#: gitk:2366
+#: gitk:2460
msgid "Reset HEAD branch to here"
msgstr "HEAD branch újraindÃtása ide"
-#: gitk:2367
+#: gitk:2461
msgid "Mark this commit"
msgstr "Ezen commit megjelölése"
-#: gitk:2368
+#: gitk:2462
msgid "Return to mark"
msgstr "Visszatérés a megjelöléshez"
-#: gitk:2369
+#: gitk:2463
msgid "Find descendant of this and mark"
msgstr "Találd meg ezen utódokat és jelöld meg"
-#: gitk:2370
+#: gitk:2464
msgid "Compare with marked commit"
msgstr "ÃsszehasonlÃtás a megjelölt commit-tal"
-#: gitk:2384
+#: gitk:2478
msgid "Check out this branch"
msgstr "Check out ezt a branchot"
-#: gitk:2385
+#: gitk:2479
msgid "Remove this branch"
msgstr "Töröld ezt a branch-ot"
-#: gitk:2392
+#: gitk:2486
msgid "Highlight this too"
msgstr "Emeld ki ezt is"
-#: gitk:2393
+#: gitk:2487
msgid "Highlight this only"
msgstr "Csak ezt emeld ki"
-#: gitk:2394
+#: gitk:2488
msgid "External diff"
msgstr "KülsŠdiff"
-#: gitk:2395
+#: gitk:2489
msgid "Blame parent commit"
msgstr "Blame szülŠkommitra"
-#: gitk:2402
+#: gitk:2496
msgid "Show origin of this line"
msgstr "Mutasd meg ennek a sornak az eredetét"
-#: gitk:2403
+#: gitk:2497
msgid "Run git gui blame on this line"
msgstr "Futtasd a git gui blame-t ezen a soron"
-#: gitk:2652
+#: gitk:2779
msgid ""
"\n"
"Gitk - a commit viewer for git\n"
"\n"
-"Copyright © 2005-2008 Paul Mackerras\n"
+"Copyright ©9 2005-2009 Paul Mackerras\n"
"\n"
"Use and redistribute under the terms of the GNU General Public License"
msgstr ""
"\n"
"Gitk - commit nézegetŠa githez\n"
"\n"
-"SzerzÅi jog © 2005-2008 Paul Mackerras\n"
+"SzerzÅi jog ©9 2005-2009 Paul Mackerras\n"
"\n"
-"Használd és terjeszd a GNU General Public License feltételei mellett "
-"Licensz"
+"Használd és terjeszd a GNU General Public License feltételei mellett"
-#: gitk:2660 gitk:2722 gitk:8897
+#: gitk:2787 gitk:2851 gitk:9215
msgid "Close"
msgstr "Bezárás"
-#: gitk:2679
+#: gitk:2808
msgid "Gitk key bindings"
msgstr "Gitk-billentyű hozzárendelés"
-#: gitk:2682
+#: gitk:2811
msgid "Gitk key bindings:"
msgstr "Gitk-billentyű hozzaárendelés:"
-#: gitk:2684
+#: gitk:2813
#, tcl-format
msgid "<%s-Q>\t\tQuit"
msgstr "<%s-Q>\t\tKilépés"
-#: gitk:2685
+#: gitk:2814
msgid "<Home>\t\tMove to first commit"
msgstr "<Pos1>\t\tElsÅ commithoz"
-#: gitk:2686
+#: gitk:2815
msgid "<End>\t\tMove to last commit"
msgstr "<Ende>\t\tUtolsó commithoz"
-#: gitk:2687
+#: gitk:2816
msgid "<Up>, p, i\tMove up one commit"
msgstr "<Hoch>, p, i\tEgy committal feljebb"
-#: gitk:2688
+#: gitk:2817
msgid "<Down>, n, k\tMove down one commit"
msgstr "<Runter>, n, k\tEgy committal lejjebb"
-#: gitk:2689
+#: gitk:2818
msgid "<Left>, z, j\tGo back in history list"
msgstr "<Links>, z, j\tVissza a history listába"
-#: gitk:2690
+#: gitk:2819
msgid "<Right>, x, l\tGo forward in history list"
msgstr "<Rechts>, x, l\tElÅre a history listába"
-#: gitk:2691
+#: gitk:2820
msgid "<PageUp>\tMove up one page in commit list"
msgstr "<BildHoch>\tEgy lappal feljebb a commit listába"
-#: gitk:2692
+#: gitk:2821
msgid "<PageDown>\tMove down one page in commit list"
msgstr "<BildRunter>\tEgy lappal lejjebb a commit listába"
-#: gitk:2693
+#: gitk:2822
#, tcl-format
msgid "<%s-Home>\tScroll to top of commit list"
msgstr "<%s-Pos1>\tGörgetés a commit lista tetejéhez"
-#: gitk:2694
+#: gitk:2823
#, tcl-format
msgid "<%s-End>\tScroll to bottom of commit list"
msgstr "<%s-Ende>\tGörgetés a commit lista aljához"
-#: gitk:2695
+#: gitk:2824
#, tcl-format
msgid "<%s-Up>\tScroll commit list up one line"
msgstr "<%s-Hoch>\tEgy sorral feljebb görgetés a commit listában"
-#: gitk:2696
+#: gitk:2825
#, tcl-format
msgid "<%s-Down>\tScroll commit list down one line"
msgstr "<%s-Runter>\tEgy sorral lejjebb görgetés a commit listában"
-#: gitk:2697
+#: gitk:2826
#, tcl-format
msgid "<%s-PageUp>\tScroll commit list up one page"
msgstr "<%s-BildHoch>\tEgy lappal feljebb görgetés a commit listában"
-#: gitk:2698
+#: gitk:2827
#, tcl-format
msgid "<%s-PageDown>\tScroll commit list down one page"
msgstr "<%s-BildRunter>\tEgy sorral lejjebb görgetés a commit listában"
-#: gitk:2699
+#: gitk:2828
msgid "<Shift-Up>\tFind backwards (upwards, later commits)"
msgstr "<Umschalt-Hoch>\tKeresés visszafele (felfele, utolsó commitok)"
-#: gitk:2700
+#: gitk:2829
msgid "<Shift-Down>\tFind forwards (downwards, earlier commits)"
msgstr "<Umschalt-Runter>\tKeresés elÅre (lefelé; korábbi commitok)"
-#: gitk:2701
+#: gitk:2830
msgid "<Delete>, b\tScroll diff view up one page"
msgstr "<Entf>, b\t\tEgy lappal feljebb görgetés a diff nézetben"
-#: gitk:2702
+#: gitk:2831
msgid "<Backspace>\tScroll diff view up one page"
msgstr "<Löschtaste>\tEgy lappal feljebb görgetés a diff nézetben"
-#: gitk:2703
+#: gitk:2832
msgid "<Space>\t\tScroll diff view down one page"
msgstr "<Leertaste>\tEgy lappal lejjebb görgetés a diff nézetben"
-#: gitk:2704
+#: gitk:2833
msgid "u\t\tScroll diff view up 18 lines"
msgstr "u\t\t18 sorral felfelé görgetés diff nézetben"
-#: gitk:2705
+#: gitk:2834
msgid "d\t\tScroll diff view down 18 lines"
msgstr "d\t\t18 sorral lejjebb görgetés a diff nézetben"
-#: gitk:2706
+#: gitk:2835
#, tcl-format
msgid "<%s-F>\t\tFind"
msgstr "<%s-F>\t\tKeresés"
-#: gitk:2707
+#: gitk:2836
#, tcl-format
msgid "<%s-G>\t\tMove to next find hit"
msgstr "<%s-G>\t\tKövetkezŠtalálathoz"
-#: gitk:2708
+#: gitk:2837
msgid "<Return>\tMove to next find hit"
msgstr "<Eingabetaste>\tKövetkezŠtalálathoz"
-#: gitk:2709
+#: gitk:2838
msgid "/\t\tFocus the search box"
msgstr "/\t\tLépj a keresési mezÅre"
-#: gitk:2710
+#: gitk:2839
msgid "?\t\tMove to previous find hit"
msgstr "?\t\tElÅzÅ találathoz"
-#: gitk:2711
+#: gitk:2840
msgid "f\t\tScroll diff view to next file"
msgstr "f\t\tKövetkezŠfájlra görgetés diff nézetben"
-#: gitk:2712
+#: gitk:2841
#, tcl-format
msgid "<%s-S>\t\tSearch for next hit in diff view"
msgstr "<%s-S>\t\tKövetkezŠtalálatra keresés diff nézetben"
-#: gitk:2713
+#: gitk:2842
#, tcl-format
msgid "<%s-R>\t\tSearch for previous hit in diff view"
msgstr "<%s-R>\t\tElÅzÅ találatra keresés diff nézetben"
-#: gitk:2714
+#: gitk:2843
#, tcl-format
msgid "<%s-KP+>\tIncrease font size"
msgstr "<%s-Nummerblock-Plus>\tBetűméret növelése"
-#: gitk:2715
+#: gitk:2844
#, tcl-format
msgid "<%s-plus>\tIncrease font size"
msgstr "<%s-Plus>\tBetűméret növelése"
-#: gitk:2716
+#: gitk:2845
#, tcl-format
msgid "<%s-KP->\tDecrease font size"
msgstr "<%s-Nummernblock-Minus> Betűméret csökkentése"
-#: gitk:2717
+#: gitk:2846
#, tcl-format
msgid "<%s-minus>\tDecrease font size"
msgstr "<%s-Minus>\tBetűméret csökkentése"
-#: gitk:2718
+#: gitk:2847
msgid "<F5>\t\tUpdate"
msgstr "<F5>\t\tFrissÃtés"
-#: gitk:3173
-#, tcl-format
-msgid "Error getting \"%s\" from %s:"
-msgstr "Hiba történt \"%s\" letöltése közben %s-rÅl:"
-
-#: gitk:3230 gitk:3239
+#: gitk:3302 gitk:3311
#, tcl-format
msgid "Error creating temporary directory %s:"
msgstr "Hiba történt az ideiglenes könyvtár létrehozása közben %s:"
-#: gitk:3251
+#: gitk:3324
+#, tcl-format
+msgid "Error getting \"%s\" from %s:"
+msgstr "Hiba történt \"%s\" letöltése közben %s-rÅl:"
+
+#: gitk:3387
msgid "command failed:"
msgstr "parancs hiba:"
-#: gitk:3397
+#: gitk:3536
msgid "No such commit"
msgstr "Nincs ilyen commit"
-#: gitk:3411
+#: gitk:3550
msgid "git gui blame: command failed:"
msgstr "git gui blame: parancs hiba:"
-#: gitk:3442
+#: gitk:3581
#, tcl-format
msgid "Couldn't read merge head: %s"
msgstr "Nem sikerült a Merge head olvasása: %s"
-#: gitk:3450
+#: gitk:3589
#, tcl-format
msgid "Error reading index: %s"
msgstr "Hiba történt az index olvasása közben: %s"
-#: gitk:3475
+#: gitk:3614
#, tcl-format
msgid "Couldn't start git blame: %s"
msgstr "Nem sikerült a git blame indÃtása: %s"
-#: gitk:3478 gitk:6209
+#: gitk:3617 gitk:6406
msgid "Searching"
msgstr "Keresés"
-#: gitk:3510
+#: gitk:3649
#, tcl-format
msgid "Error running git blame: %s"
msgstr "Hiba történt a git blame futtatása közben: %s"
-#: gitk:3538
+#: gitk:3677
#, tcl-format
msgid "That line comes from commit %s, which is not in this view"
msgstr ""
"A %s commitból származik az a sor, amelyik nem található ebben a nézetben"
-#: gitk:3552
+#: gitk:3691
msgid "External diff viewer failed:"
msgstr "KülsŠdiff nézegetŠhiba:"
-#: gitk:3670
+#: gitk:3809
msgid "Gitk view definition"
msgstr "Gitk nézet meghatározása"
-#: gitk:3674
+#: gitk:3813
msgid "Remember this view"
msgstr "Maradj ennél a nézetnél"
-#: gitk:3675
-msgid "Commits to include (arguments to git log):"
-msgstr "BeleértendŠcommitok (Argumentok a git log-hoz):"
+#: gitk:3814
+msgid "References (space separated list):"
+msgstr "Referenciák (szóközzel tagolt lista"
-#: gitk:3676
-msgid "Use all refs"
-msgstr "Használd az összes referenciát"
+#: gitk:3815
+msgid "Branches & tags:"
+msgstr "Branch-ek & tagek:"
-#: gitk:3677
-msgid "Strictly sort by date"
-msgstr "Szigorú rendezás dátum alapján"
+#: gitk:3816
+msgid "All refs"
+msgstr "Minden ref"
-#: gitk:3678
-msgid "Mark branch sides"
-msgstr "Jelölje meg az ágakat"
+#: gitk:3817
+msgid "All (local) branches"
+msgstr "Minden (helyi) branch"
-#: gitk:3679
-msgid "Since date:"
+#: gitk:3818
+msgid "All tags"
+msgstr "Minden tag"
+
+#: gitk:3819
+msgid "All remote-tracking branches"
+msgstr "Minden távoli követŠbranch"
+
+#: gitk:3820
+msgid "Commit Info (regular expressions):"
+msgstr "Commit Infó (reguláris kifejezés):"
+
+#: gitk:3821
+msgid "Author:"
+msgstr "SzerzÅ:"
+
+#: gitk:3822
+msgid "Committer:"
+msgstr "Commitoló:"
+
+#: gitk:3823
+msgid "Commit Message:"
+msgstr "Commit üzenet:"
+
+#: gitk:3824
+msgid "Matches all Commit Info criteria"
+msgstr "Egyezik minen Commit Infó feltétellel"
+
+#: gitk:3825
+msgid "Changes to Files:"
+msgstr "Fájl változások:"
+
+#: gitk:3826
+msgid "Fixed String"
+msgstr "Fix String"
+
+#: gitk:3827
+msgid "Regular Expression"
+msgstr "Reguláris kifejezés"
+
+#: gitk:3828
+msgid "Search string:"
+msgstr "Keresés szöveg:"
+
+#: gitk:3829
+msgid ""
+"Commit Dates (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+msgstr ""
+"Commit Dátumok (\"2 weeks ago\", \"2009-03-17 15:27:38\", \"March 17, 2009 "
+"15:27:38\"):"
+
+#: gitk:3830
+msgid "Since:"
msgstr "EttÅl:"
-#: gitk:3680
-msgid "Until date:"
+#: gitk:3831
+msgid "Until:"
msgstr "Eddig:"
-#: gitk:3681
-msgid "Max count:"
-msgstr "Max. szám:"
+#: gitk:3832
+msgid "Limit and/or skip a number of revisions (positive integer):"
+msgstr "Limitálva és/vagy kihagyva egy adott számú revÃziót (pozitÃv egész):"
+
+#: gitk:3833
+msgid "Number to show:"
+msgstr "Mutatandó szám:"
-#: gitk:3682
-msgid "Skip:"
-msgstr "Kihagy:"
+#: gitk:3834
+msgid "Number to skip:"
+msgstr "Kihagyandó szám:"
-#: gitk:3683
+#: gitk:3835
+msgid "Miscellaneous options:"
+msgstr "Különféle opciók:"
+
+#: gitk:3836
+msgid "Strictly sort by date"
+msgstr "Szigorú rendezás dátum alapján"
+
+#: gitk:3837
+msgid "Mark branch sides"
+msgstr "Jelölje meg az ágakat"
+
+#: gitk:3838
msgid "Limit to first parent"
msgstr "Korlátozás az elsÅ szülÅre"
-#: gitk:3684
+#: gitk:3839
+msgid "Simple history"
+msgstr "Egyszerű history"
+
+#: gitk:3840
+msgid "Additional arguments to git log:"
+msgstr "További argumentok a git log-hoz:"
+
+#: gitk:3841
+msgid "Enter files and directories to include, one per line:"
+msgstr "Fájlok és könyvtárak bejegyzése amiket tartalmaz, soronként:"
+
+#: gitk:3842
msgid "Command to generate more commits to include:"
msgstr "Parancs több tartalmazó commit generálására:"
-#: gitk:3780
+#: gitk:3964
msgid "Gitk: edit view"
msgstr "Gitk: szerkesztés nézet"
-#: gitk:3793
-msgid "Name"
-msgstr "Név"
+#: gitk:3972
+msgid "-- criteria for selecting revisions"
+msgstr "-- kritériumok a revÃziók kiválasztásához"
-#: gitk:3841
-msgid "Enter files and directories to include, one per line:"
-msgstr "Fájlok és könyvtárak bejegyzése amiket tartalmaz, soronként:"
+#: gitk:3977
+msgid "View Name"
+msgstr "Nézet neve"
-#: gitk:3855
+#: gitk:4052
msgid "Apply (F5)"
msgstr "Alkalmaz (F5)"
-#: gitk:3893
+#: gitk:4090
msgid "Error in commit selection arguments:"
msgstr "Hiba történt a commit argumentumok kiválasztása közben:"
-#: gitk:3946 gitk:3998 gitk:4446 gitk:4460 gitk:5721 gitk:11114 gitk:11115
+#: gitk:4143 gitk:4195 gitk:4643 gitk:4657 gitk:5918 gitk:11519 gitk:11520
msgid "None"
msgstr "Keine"
-#: gitk:4394 gitk:6241 gitk:7993 gitk:8008
+#: gitk:4591 gitk:6438 gitk:8282 gitk:8297
msgid "Date"
msgstr "Dátum"
-#: gitk:4394 gitk:6241
+#: gitk:4591 gitk:6438
msgid "CDate"
msgstr "Dátum"
-#: gitk:4543 gitk:4548
+#: gitk:4740 gitk:4745
msgid "Descendant"
msgstr "Leszármazott"
-#: gitk:4544
+#: gitk:4741
msgid "Not descendant"
msgstr "Nem leszármazott"
-#: gitk:4551 gitk:4556
+#: gitk:4748 gitk:4753
msgid "Ancestor"
msgstr "ElÅd"
-#: gitk:4552
+#: gitk:4749
msgid "Not ancestor"
msgstr "Nem elÅd"
-#: gitk:4842
+#: gitk:5039
msgid "Local changes checked in to index but not committed"
-msgstr "Lokális változtatások, melyek be vannak téve az indexbe, de még nincsenek commitolva"
+msgstr ""
+"Lokális változtatások, melyek be vannak téve az indexbe, de még nincsenek "
+"commitolva"
-#: gitk:4878
+#: gitk:5075
msgid "Local uncommitted changes, not checked in to index"
msgstr "Lokális nem commitolt változások, nincsenek betéve az indexbe"
-#: gitk:6559
+#: gitk:6756
msgid "many"
msgstr "sok"
-#: gitk:6743
+#: gitk:6939
msgid "Tags:"
msgstr "Tagek:"
-#: gitk:6760 gitk:6766 gitk:7986
+#: gitk:6956 gitk:6962 gitk:8275
msgid "Parent"
msgstr "Eltern"
-#: gitk:6771
+#: gitk:6967
msgid "Child"
msgstr "Gyerek"
-#: gitk:6780
+#: gitk:6976
msgid "Branch"
msgstr "Ãg"
-#: gitk:6783
+#: gitk:6979
msgid "Follows"
msgstr "KövetkezÅk"
-#: gitk:6786
+#: gitk:6982
msgid "Precedes"
msgstr "MegelÅzÅk"
-#: gitk:7279
+#: gitk:7519
#, tcl-format
msgid "Error getting diffs: %s"
msgstr "Hiba történt a diff-ek letöltése közben: %s"
-#: gitk:7819
+#: gitk:8103
msgid "Goto:"
msgstr "Menj:"
-#: gitk:7821
+#: gitk:8105
msgid "SHA1 ID:"
msgstr "SHA1 ID:"
-#: gitk:7840
+#: gitk:8124
#, tcl-format
msgid "Short SHA1 id %s is ambiguous"
msgstr "Rövid SHA1 id %s félreérthetÅ"
-#: gitk:7852
+#: gitk:8131
+msgid "Revision %s is not known"
+msgstr "A(z) %s revÃzió nem ismert"
+
+#: gitk:8141
#, tcl-format
msgid "SHA1 id %s is not known"
msgstr "SHA1 id %s nem ismert"
-#: gitk:7854
+#: gitk:8143
#, tcl-format
-msgid "Tag/Head %s is not known"
-msgstr "Tag/Head %s nem ismert"
+msgid "Revision %s is not in the current view"
+msgstr "A(z) %s revÃzió nincs a jelenlegi nézetben"
-#: gitk:7996
+#: gitk:8285
msgid "Children"
msgstr "Gyerekek"
-#: gitk:8053
+#: gitk:8343
#, tcl-format
msgid "Reset %s branch to here"
msgstr "ÃllÃtsd vissza a %s branch-ot ide"
-#: gitk:8055
+#: gitk:8345
msgid "Detached head: can't reset"
msgstr "ElkülönÃtett head: nem lehet visszaállÃtani"
-#: gitk:8164 gitk:8170
+#: gitk:8454 gitk:8460
msgid "Skipping merge commit "
msgstr "Merge commit kihagyása "
-#: gitk:8179 gitk:8184
+#: gitk:8469 gitk:8474
msgid "Error getting patch ID for "
msgstr "Hiba történt a patch ID megszerzése közben a következÅnél "
-#: gitk:8180 gitk:8185
+#: gitk:8470 gitk:8475
msgid " - stopping\n"
msgstr " - abbahagyás\n"
-#: gitk:8190 gitk:8193 gitk:8201 gitk:8211 gitk:8220
+#: gitk:8480 gitk:8483 gitk:8491 gitk:8505 gitk:8514
msgid "Commit "
msgstr "Commit "
-#: gitk:8194
+#: gitk:8484
msgid ""
" is the same patch as\n"
" "
@@ -760,7 +850,7 @@ msgstr ""
" Ugyanaz a patch mint\n"
" "
-#: gitk:8202
+#: gitk:8492
msgid ""
" differs from\n"
" "
@@ -768,126 +858,139 @@ msgstr ""
" különbözik innentÅl\n"
" "
-#: gitk:8204
-msgid "- stopping\n"
-msgstr "- abbahagyás.\n"
+#: gitk:8494
+msgid ""
+"Diff of commits:\n"
+"\n"
+msgstr ""
+"A commitok diffje:\n"
+"\n"
-#: gitk:8212 gitk:8221
+#: gitk:8506 gitk:8515
#, tcl-format
msgid " has %s children - stopping\n"
msgstr " %s gyereke van. abbahagyás\n"
-#: gitk:8252
+#: gitk:8534
+msgid "Error writing commit to file: %s"
+msgstr "Hiba történt a commit fájlba Ãrása közben: %s"
+
+#: gitk:8540
+msgid "Error diffing commits: %s"
+msgstr "Hiba történt a commitok diffelése közben: %s"
+
+#: gitk:8570
msgid "Top"
msgstr "Teteje"
-#: gitk:8253
+#: gitk:8571
msgid "From"
msgstr "Innen"
-#: gitk:8258
+#: gitk:8576
msgid "To"
msgstr "Ide"
-#: gitk:8282
+#: gitk:8600
msgid "Generate patch"
msgstr "Patch generálása"
-#: gitk:8284
+#: gitk:8602
msgid "From:"
msgstr "Innen:"
-#: gitk:8293
+#: gitk:8611
msgid "To:"
msgstr "Ide:"
-#: gitk:8302
+#: gitk:8620
msgid "Reverse"
msgstr "Visszafele"
-#: gitk:8304 gitk:8489
+#: gitk:8622 gitk:8807
msgid "Output file:"
msgstr "Kimeneti fájl:"
-#: gitk:8310
+#: gitk:8628
msgid "Generate"
msgstr "Generálás"
-#: gitk:8348
+#: gitk:8666
msgid "Error creating patch:"
msgstr "Hiba törtét a patch készÃtése közben:"
-#: gitk:8371 gitk:8477 gitk:8534
+#: gitk:8689 gitk:8795 gitk:8852
msgid "ID:"
msgstr "ID:"
-#: gitk:8380
+#: gitk:8698
msgid "Tag name:"
msgstr "Tag név:"
-#: gitk:8384 gitk:8543
+#: gitk:8702 gitk:8861
msgid "Create"
msgstr "Létrehozás"
-#: gitk:8401
+#: gitk:8719
msgid "No tag name specified"
msgstr "A tag neve nincsen megadva"
-#: gitk:8405
+#: gitk:8723
#, tcl-format
msgid "Tag \"%s\" already exists"
msgstr "%s Tag már létezik"
-#: gitk:8411
+#: gitk:8729
msgid "Error creating tag:"
msgstr "Hiba történt a tag létrehozása közben:"
-#: gitk:8486
+#: gitk:8804
msgid "Command:"
msgstr "Parancs:"
-#: gitk:8494
+#: gitk:8812
msgid "Write"
msgstr "Ãrás"
-#: gitk:8512
+#: gitk:8830
msgid "Error writing commit:"
msgstr "Hiba történt a commit Ãrása közben:"
-#: gitk:8539
+#: gitk:8857
msgid "Name:"
msgstr "Név:"
-#: gitk:8562
+#: gitk:8880
msgid "Please specify a name for the new branch"
msgstr "Kérem adja meg a nevét az új branchhoz"
-#: gitk:8567
+#: gitk:8885
#, tcl-format
msgid "Branch '%s' already exists. Overwrite?"
msgstr "%s branch már létezik. FelülÃrja?"
-#: gitk:8633
+#: gitk:8951
#, tcl-format
msgid "Commit %s is already included in branch %s -- really re-apply it?"
msgstr ""
"%s commit már benne van a %s branchban -- biztos hogy újra csinálja ?"
"eintragen?"
-#: gitk:8638
+#: gitk:8956
msgid "Cherry-picking"
msgstr "Cherry-picking"
-#: gitk:8647
+#: gitk:8965
#, tcl-format
msgid ""
"Cherry-pick failed because of local changes to file '%s'.\n"
"Please commit, reset or stash your changes and try again."
msgstr ""
"Cherry-pick hiba történt lokális váltotások miatt a '%s' fájlban.\n"
-"Kérem commitolja, indÃtsa újra vagy rejtse el a változtatásait és próbálja újra."
+"Kérem commitolja, indÃtsa újra vagy rejtse el a változtatásait és próbálja "
+"újra."
-#: gitk:8653
+#: gitk:8971
msgid ""
"Cherry-pick failed because of merge conflict.\n"
"Do you wish to run git citool to resolve it?"
@@ -895,33 +998,32 @@ msgstr ""
"Cherry-pick hiba történt merge konfliktus miatt.\n"
"KÃvánja futtatni a git citool-t a probléma megoldásához?"
-#: gitk:8669
+#: gitk:8987
msgid "No changes committed"
msgstr "Nincsen változás commitolva"
-#: gitk:8695
+#: gitk:9013
msgid "Confirm reset"
msgstr "ÃjraindÃtás megerÅsÃtése"
-#: gitk:8697
+#: gitk:9015
#, tcl-format
msgid "Reset branch %s to %s?"
msgstr "ÃjraindÃtja a %s branchot %s-ig?"
-#: gitk:8701
+#: gitk:9017
msgid "Reset type:"
msgstr "ÃjraindÃtás tÃpusa:"
-#: gitk:8705
+#: gitk:9020
msgid "Soft: Leave working tree and index untouched"
msgstr "Soft: Hagyd a working tree-t és az indexet érintetlenül"
-#: gitk:8708
+#: gitk:9023
msgid "Mixed: Leave working tree untouched, reset index"
-msgstr ""
-"Kevert: Hagyd a working tree-t érintetlenül, töröld az indexet"
+msgstr "Kevert: Hagyd a working tree-t érintetlenül, töröld az indexet"
-#: gitk:8711
+#: gitk:9026
msgid ""
"Hard: Reset working tree and index\n"
"(discard ALL local changes)"
@@ -929,20 +1031,19 @@ msgstr ""
"Hard: IndÃtsd újra a working tree-t és az indexet\n"
"(MINDEN lokális változás eldobása)"
-#: gitk:8728
+#: gitk:9043
msgid "Resetting"
msgstr "ÃjraindÃtás"
-#: gitk:8785
+#: gitk:9103
msgid "Checking out"
msgstr "Kivesz"
-#: gitk:8838
+#: gitk:9156
msgid "Cannot delete the currently checked-out branch"
-msgstr ""
-"Nem lehet a jelenleg kivett branch-ot törölni"
+msgstr "Nem lehet a jelenleg kivett branch-ot törölni"
-#: gitk:8844
+#: gitk:9162
#, tcl-format
msgid ""
"The commits on branch %s aren't on any other branch.\n"
@@ -951,199 +1052,244 @@ msgstr ""
"A %s branchon található commit nem található meg semelyik másik branchon.\n"
"Tényleg törli a %s branchot?"
-#: gitk:8875
+#: gitk:9193
#, tcl-format
msgid "Tags and heads: %s"
msgstr "Tagek és headek: %s"
-#: gitk:8890
+#: gitk:9208
msgid "Filter"
msgstr "SzűrÅ"
-#: gitk:9185
+#: gitk:9503
msgid ""
"Error reading commit topology information; branch and preceding/following "
"tag information will be incomplete."
msgstr ""
-"Hiba történt a commit topológiai információ olvasása közben; branch és"
-"a megelÅzÅ/következÅ információ nem lesz teljes."
+"Hiba történt a commit topológiai információ olvasása közben; branch ésa "
+"megelÅzÅ/következÅ információ nem lesz teljes."
-#: gitk:10171
+#: gitk:10489
msgid "Tag"
msgstr "Tag"
-#: gitk:10171
+#: gitk:10489
msgid "Id"
msgstr "Id"
-#: gitk:10219
+#: gitk:10539
msgid "Gitk font chooser"
msgstr "Gitk-betű kiválasztó"
-#: gitk:10236
+#: gitk:10556
msgid "B"
msgstr "F"
-#: gitk:10239
+#: gitk:10559
msgid "I"
msgstr "K"
-#: gitk:10334
+#: gitk:10677
msgid "Gitk preferences"
msgstr "Gitk beállÃtások"
-#: gitk:10336
+#: gitk:10679
msgid "Commit list display options"
msgstr "Commit lista kijelzési opciók"
-#: gitk:10339
+#: gitk:10682
msgid "Maximum graph width (lines)"
msgstr "Maximális grafikon szélesség (sorok)"
-#: gitk:10343
+#: gitk:10685
#, tcl-format
msgid "Maximum graph width (% of pane)"
msgstr "Maximális grafikon szélesség (táble %-je)"
-#: gitk:10347
+#: gitk:10688
msgid "Show local changes"
msgstr "Mutasd a lokális változtatásokat"
-#: gitk:10350
+#: gitk:10691
msgid "Auto-select SHA1"
msgstr "SHA1 Automatikus kiválasztása"
-#: gitk:10354
+#: gitk:10694
+msgid "Hide remote refs"
+msgstr "A távoli refek elrejtése"
+
+#: gitk:10698
msgid "Diff display options"
msgstr "Diff kijelzŠopciók"
-#: gitk:10356
+#: gitk:10700
msgid "Tab spacing"
msgstr "Tab sorköz"
-#: gitk:10359
+#: gitk:10703
msgid "Display nearby tags"
msgstr "Szomszédos tagek kijelzése"
-#: gitk:10362
+#: gitk:10706
msgid "Limit diffs to listed paths"
msgstr "Korlátozott diffek a kilistázott útvonalakhoz"
-#: gitk:10365
+#: gitk:10709
msgid "Support per-file encodings"
msgstr "Fájlonkénti kódolás támgatása"
-#: gitk:10371 gitk:10436
+#: gitk:10715 gitk:10804
msgid "External diff tool"
msgstr "KülsŠdiff alkalmazás"
-#: gitk:10373
+#: gitk:10716
msgid "Choose..."
msgstr "Válaszd ..."
-#: gitk:10378
+#: gitk:10721
+msgid "General options"
+msgstr "Ãltalános opciók"
+
+#: gitk:10724
+msgid "Use themed widgets"
+msgstr "Témázott vezérlÅk használata"
+
+#: gitk:10726
+msgid "(change requires restart)"
+msgstr "(a változás újraindÃtást igényel)"
+
+#: gitk:10728
+msgid "(currently unavailable)"
+msgstr "(jelenleg nem elérhetÅ)"
+
+#: gitk:10732
msgid "Colors: press to choose"
msgstr "SzÃnek: nyomja meg a kiválasztáshoz"
-#: gitk:10381
+#: gitk:10735
+msgid "Interface"
+msgstr "Interfész"
+
+#: gitk:10736
+msgid "interface"
+msgstr "interfész"
+
+#: gitk:10739
msgid "Background"
msgstr "Háttér"
-#: gitk:10382 gitk:10412
+#: gitk:10740 gitk:10770
msgid "background"
msgstr "háttér"
-#: gitk:10385
+#: gitk:10743
msgid "Foreground"
msgstr "ElÅtér"
-#: gitk:10386
+#: gitk:10744
msgid "foreground"
msgstr "elÅtér"
-#: gitk:10389
+#: gitk:10747
msgid "Diff: old lines"
msgstr "Diff: régi sorok"
-#: gitk:10390
+#: gitk:10748
msgid "diff old lines"
msgstr "diff régi sorok"
-#: gitk:10394
+#: gitk:10752
msgid "Diff: new lines"
msgstr "Diff: új sorok"
-#: gitk:10395
+#: gitk:10753
msgid "diff new lines"
msgstr "diff - új sorok"
-#: gitk:10399
+#: gitk:10757
msgid "Diff: hunk header"
msgstr "Diff: nagy headerök"
-#: gitk:10401
+#: gitk:10759
msgid "diff hunk header"
msgstr "diff - nagy headerök"
-#: gitk:10405
+#: gitk:10763
msgid "Marked line bg"
msgstr "Megjelölt sor háttér"
-#: gitk:10407
+#: gitk:10765
msgid "marked line background"
msgstr "megjelölt sor háttér"
-#: gitk:10411
+#: gitk:10769
msgid "Select bg"
msgstr "Válasszon hátteret"
-#: gitk:10415
+#: gitk:10773
msgid "Fonts: press to choose"
msgstr "Betű: nyomja meg a kiválasztáshoz"
-#: gitk:10417
+#: gitk:10775
msgid "Main font"
msgstr "FŠbetű"
-#: gitk:10418
+#: gitk:10776
msgid "Diff display font"
msgstr "Diff kijelzŠbetű"
-#: gitk:10419
+#: gitk:10777
msgid "User interface font"
msgstr "Felhasználói interfész betű"
-#: gitk:10446
+#: gitk:10814
#, tcl-format
msgid "Gitk: choose color for %s"
msgstr "Gitk: válasszon szÃnt a %s-ra"
-#: gitk:10893
-msgid ""
-"Sorry, gitk cannot run with this version of Tcl/Tk.\n"
-" Gitk requires at least Tcl/Tk 8.4."
-msgstr ""
-"Sajnáljuk, de a gitk nem futtatható ezzel a Tcl/Tk verzióval.\n"
-"Gitk futtatásához legalább Tcl/Tk 8.4 szükséges."
-
-#: gitk:11020
+#: gitk:11418
msgid "Cannot find a git repository here."
msgstr "Nem találhatü git repository itt."
-#: gitk:11024
+#: gitk:11422
#, tcl-format
msgid "Cannot find the git directory \"%s\"."
msgstr "Nem található a \"%s\" könyvtár."
-#: gitk:11071
+#: gitk:11469
#, tcl-format
msgid "Ambiguous argument '%s': both revision and filename"
msgstr "FélreérthetÅ argumentum '%s': revÃzió és fájlnév is"
-#: gitk:11083
+#: gitk:11481
msgid "Bad arguments to gitk:"
msgstr "Rossz gitk argumentumok:"
-#: gitk:11167
+#: gitk:11572
msgid "Command line"
msgstr "Parancs sor"
+
+#~ msgid "Use all refs"
+#~ msgstr "Használd az összes referenciát"
+
+#~ msgid "Max count:"
+#~ msgstr "Max. szám:"
+
+#~ msgid "Skip:"
+#~ msgstr "Kihagy:"
+
+#~ msgid "Name"
+#~ msgstr "Név"
+
+#~ msgid "Tag/Head %s is not known"
+#~ msgstr "Tag/Head %s nem ismert"
+
+#~ msgid "- stopping\n"
+#~ msgstr "- abbahagyás.\n"
+
+#~ msgid ""
+#~ "Sorry, gitk cannot run with this version of Tcl/Tk.\n"
+#~ " Gitk requires at least Tcl/Tk 8.4."
+#~ msgstr ""
+#~ "Sajnáljuk, de a gitk nem futtatható ezzel a Tcl/Tk verzióval.\n"
+#~ "Gitk futtatásához legalább Tcl/Tk 8.4 szükséges."
--
1.6.5.2
^ permalink raw reply related
* Re: [PATCH] help.autocorrect: do not run a command if the command given is junk
From: Alex Riesen @ 2009-12-14 13:29 UTC (permalink / raw)
To: Johannes Sixt; +Cc: Junio C Hamano, Johannes Schindelin, Git Mailing List
In-Reply-To: <4B263797.5070808@viscovery.net>
On Mon, Dec 14, 2009 at 14:03, Johannes Sixt <j.sixt@viscovery.net> wrote:
> From: Johannes Sixt <j6t@kdbg.org>
>
> If a given command is not found, then help.c tries to guess which one the
> user could have meant. If help.autocorrect is 0 or unset, then a list of
> suggestions is given as long as the dissimilarity between the given command
> and the candidates is not excessively high. But if help.autocorrect was
> non-zero (i.e., a delay after which the command is run automatically), the
> latter restriction on dissimilarity was not obeyed.
>
> In my case, this happened:
>
> $ git ..daab02
> WARNING: You called a Git command named '..daab02', which does not exist.
> Continuing under the assumption that you meant 'read-tree'
> in 4.0 seconds automatically...
>
> The similarity limit that this patch introduces is already used a few lines
> later where the list of suggested commands is printed.
Yes, sure. We probably just missed that (I don't use autocorrect myself
apart from the testing. I assume Johannes doesn't, too)
^ permalink raw reply
* Re: [PATCH] help.autocorrect: do not run a command if the command given is junk
From: Johannes Schindelin @ 2009-12-14 14:16 UTC (permalink / raw)
To: Johannes Sixt; +Cc: Junio C Hamano, Git Mailing List, Alex Riesen
In-Reply-To: <4B263797.5070808@viscovery.net>
Hi,
On Mon, 14 Dec 2009, Johannes Sixt wrote:
> From: Johannes Sixt <j6t@kdbg.org>
>
> If a given command is not found, then help.c tries to guess which one the
> user could have meant. If help.autocorrect is 0 or unset, then a list of
> suggestions is given as long as the dissimilarity between the given command
> and the candidates is not excessively high. But if help.autocorrect was
> non-zero (i.e., a delay after which the command is run automatically), the
> latter restriction on dissimilarity was not obeyed.
>
> In my case, this happened:
>
> $ git ..daab02
> WARNING: You called a Git command named '..daab02', which does not exist.
> Continuing under the assumption that you meant 'read-tree'
> in 4.0 seconds automatically...
>
> The similarity limit that this patch introduces is already used a few lines
> later where the list of suggested commands is printed.
>
> Signed-off-by: Johannes Sixt <j6t@kdbg.org>
> ---
Obvious ACK from me.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox