Re: [PATCH v5 15/15] config: rename git_config_set_or_die to git_config_set
On Wed, Feb 17, 2016 at 12:57 PM, Michael Blume <blume.m...@gmail.com> wrote: > On Tue, Feb 16, 2016 at 4:56 AM, Patrick Steinhardt <p...@pks.im> wrote: >> Rename git_config_set_or_die functions to git_config_set, leading >> to the new default behavior of dying whenever a configuration >> error occurs. >> >> By now all callers that shall die on error have been transitioned >> to the _or_die variants, thus making this patch a simple rename >> of the functions. >> >> Signed-off-by: Patrick Steinhardt <p...@pks.im> >> --- >> builtin/branch.c| 6 +++--- >> builtin/clone.c | 8 >> builtin/init-db.c | 20 ++-- >> builtin/remote.c| 32 >> builtin/submodule--helper.c | 4 ++-- >> cache.h | 8 >> config.c| 24 >> sequencer.c | 22 +++--- >> submodule.c | 6 +++--- >> 9 files changed, 65 insertions(+), 65 deletions(-) >> >> diff --git a/builtin/branch.c b/builtin/branch.c >> index c043cfc..7b45b6b 100644 >> --- a/builtin/branch.c >> +++ b/builtin/branch.c >> @@ -594,7 +594,7 @@ static int edit_branch_description(const char >> *branch_name) >> strbuf_stripspace(, 1); >> >> strbuf_addf(, "branch.%s.description", branch_name); >> - git_config_set_or_die(name.buf, buf.len ? buf.buf : NULL); >> + git_config_set(name.buf, buf.len ? buf.buf : NULL); >> strbuf_release(); >> strbuf_release(); >> >> @@ -790,10 +790,10 @@ int cmd_branch(int argc, const char **argv, const char >> *prefix) >> die(_("Branch '%s' has no upstream information"), >> branch->name); >> >> strbuf_addf(, "branch.%s.remote", branch->name); >> - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); >> + git_config_set_multivar(buf.buf, NULL, NULL, 1); >> strbuf_reset(); >> strbuf_addf(, "branch.%s.merge", branch->name); >> - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); >> + git_config_set_multivar(buf.buf, NULL, NULL, 1); >> strbuf_release(); >> } else if (argc > 0 && argc <= 2) { >> struct branch *branch = branch_get(argv[0]); >> diff --git a/builtin/clone.c b/builtin/clone.c >> index 38094d4..b47c73f 100644 >> --- a/builtin/clone.c >> +++ b/builtin/clone.c >> @@ -786,12 +786,12 @@ static void write_refspec_config(const char >> *src_ref_prefix, >> /* Configure the remote */ >> if (value.len) { >> strbuf_addf(, "remote.%s.fetch", option_origin); >> - git_config_set_multivar_or_die(key.buf, value.buf, >> "^$", 0); >> + git_config_set_multivar(key.buf, value.buf, "^$", 0); >> strbuf_reset(); >> >> if (option_mirror) { >> strbuf_addf(, "remote.%s.mirror", >> option_origin); >> - git_config_set_or_die(key.buf, "true"); >> + git_config_set(key.buf, "true"); >> strbuf_reset(); >> } >> } >> @@ -949,14 +949,14 @@ int cmd_clone(int argc, const char **argv, const char >> *prefix) >> src_ref_prefix = "refs/"; >> strbuf_addstr(_top, src_ref_prefix); >> >> - git_config_set_or_die("core.bare", "true"); >> + git_config_set("core.bare", "true"); >> } else { >> strbuf_addf(_top, "refs/remotes/%s/", option_origin); >> } >> >> strbuf_addf(, "+%s*:%s*", src_ref_prefix, branch_top.buf); >> strbuf_addf(, "remote.%s.url", option_origin); >> - git_config_set_or_die(key.buf, repo); >> + git_config_set(key.buf, repo); >> strbuf_reset(); >> >> if (option_reference.nr) >> diff --git a/builtin/init-db.c b/builtin/init-db.c >> index ef19048..6223b7d 100644 >> --- a/builtin/init-db.c >> +++ b/builtin/init-
Re: [PATCH v5 15/15] config: rename git_config_set_or_die to git_config_set
On Tue, Feb 16, 2016 at 4:56 AM, Patrick Steinhardtwrote: > Rename git_config_set_or_die functions to git_config_set, leading > to the new default behavior of dying whenever a configuration > error occurs. > > By now all callers that shall die on error have been transitioned > to the _or_die variants, thus making this patch a simple rename > of the functions. > > Signed-off-by: Patrick Steinhardt > --- > builtin/branch.c| 6 +++--- > builtin/clone.c | 8 > builtin/init-db.c | 20 ++-- > builtin/remote.c| 32 > builtin/submodule--helper.c | 4 ++-- > cache.h | 8 > config.c| 24 > sequencer.c | 22 +++--- > submodule.c | 6 +++--- > 9 files changed, 65 insertions(+), 65 deletions(-) > > diff --git a/builtin/branch.c b/builtin/branch.c > index c043cfc..7b45b6b 100644 > --- a/builtin/branch.c > +++ b/builtin/branch.c > @@ -594,7 +594,7 @@ static int edit_branch_description(const char > *branch_name) > strbuf_stripspace(, 1); > > strbuf_addf(, "branch.%s.description", branch_name); > - git_config_set_or_die(name.buf, buf.len ? buf.buf : NULL); > + git_config_set(name.buf, buf.len ? buf.buf : NULL); > strbuf_release(); > strbuf_release(); > > @@ -790,10 +790,10 @@ int cmd_branch(int argc, const char **argv, const char > *prefix) > die(_("Branch '%s' has no upstream information"), > branch->name); > > strbuf_addf(, "branch.%s.remote", branch->name); > - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); > + git_config_set_multivar(buf.buf, NULL, NULL, 1); > strbuf_reset(); > strbuf_addf(, "branch.%s.merge", branch->name); > - git_config_set_multivar_or_die(buf.buf, NULL, NULL, 1); > + git_config_set_multivar(buf.buf, NULL, NULL, 1); > strbuf_release(); > } else if (argc > 0 && argc <= 2) { > struct branch *branch = branch_get(argv[0]); > diff --git a/builtin/clone.c b/builtin/clone.c > index 38094d4..b47c73f 100644 > --- a/builtin/clone.c > +++ b/builtin/clone.c > @@ -786,12 +786,12 @@ static void write_refspec_config(const char > *src_ref_prefix, > /* Configure the remote */ > if (value.len) { > strbuf_addf(, "remote.%s.fetch", option_origin); > - git_config_set_multivar_or_die(key.buf, value.buf, > "^$", 0); > + git_config_set_multivar(key.buf, value.buf, "^$", 0); > strbuf_reset(); > > if (option_mirror) { > strbuf_addf(, "remote.%s.mirror", > option_origin); > - git_config_set_or_die(key.buf, "true"); > + git_config_set(key.buf, "true"); > strbuf_reset(); > } > } > @@ -949,14 +949,14 @@ int cmd_clone(int argc, const char **argv, const char > *prefix) > src_ref_prefix = "refs/"; > strbuf_addstr(_top, src_ref_prefix); > > - git_config_set_or_die("core.bare", "true"); > + git_config_set("core.bare", "true"); > } else { > strbuf_addf(_top, "refs/remotes/%s/", option_origin); > } > > strbuf_addf(, "+%s*:%s*", src_ref_prefix, branch_top.buf); > strbuf_addf(, "remote.%s.url", option_origin); > - git_config_set_or_die(key.buf, repo); > + git_config_set(key.buf, repo); > strbuf_reset(); > > if (option_reference.nr) > diff --git a/builtin/init-db.c b/builtin/init-db.c > index ef19048..6223b7d 100644 > --- a/builtin/init-db.c > +++ b/builtin/init-db.c > @@ -227,7 +227,7 @@ static int create_default_files(const char *template_path) > /* This forces creation of new config file */ > xsnprintf(repo_version_string, sizeof(repo_version_string), > "%d", GIT_REPO_VERSION); > - git_config_set_or_die("core.repositoryformatversion", > repo_version_string); > + git_config_set("core.repositoryformatversion", repo_version_string); > > /* Check filemode trustability */ > path = git_path_buf(, "config"); > @@ -241,18 +241,18 @@ static int create_default_files(const char > *template_path) > if (filemode && !reinit && (st1.st_mode & S_IXUSR)) > filemode = 0; > } > - git_config_set_or_die("core.filemode", filemode ? "true" : "false"); > + git_config_set("core.filemode", filemode ? "true" : "false"); > > if (is_bare_repository()) > - git_config_set_or_die("core.bare",
Re: AW: [PATCH 1/2] stash--helper: implement "git stash--helper"
On Fri, Jan 29, 2016 at 11:58 AM, Junio C Hamanowrote: > Matthias Aßhauer writes: > > [administrivia: please wrap your lines to reasonable lengths] > >>> Honestly, I had high hopes after seeing the "we are rewriting it >>> in C" but I am not enthused after seeing this. I was hoping that >>> the rewritten version would do this all in-core, by calling these >>> functions that we already have: >> >> These functions might be obvious to you, but I'm new to git's >> source code, ... > > Ahh, I didn't realize I was talking with somebody unfamiliar with > the codebase. Apologies. > > Nevertheless, the list of functions I gave are a good starting > point; they are widely used building blocks in the codebase. > >> I'll be working on a v2 that incorporates the feedback from you, >> Thomas Gummerer and Stefan Beller then. Further feedback is of >> course welcome. > > Thanks. > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html Maybe this isn't important given that it looks like the patch is going to be rewritten, but I have stash.c:43:18: warning: incompatible pointer types assigning to 'const char *const *' from 'const char *'; take the address with & [-Wincompatible-pointer-types] write_tree.env = prefix; -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 2/2] rebase: fix preserving commits with --keep-empty
This test does not seem to pass on my mac. I've placed the verbose output here: https://gist.github.com/MichaelBlume/db7ba222be001d502e57 On Fri, Nov 20, 2015 at 4:04 AM, Patrick Steinhardtwrote: > When rebasing commits where one or several commits are redundant > to commits on the branch that is being rebased upon we error out. > This is due to the usage of `--allow-empty` for the invoked > cherry-pick command, which will only cause _empty_ commits to be > picked instead of also allowing redundant commits. As > git-rebase(1) mentions, though, we also want to keep commits that > do not change anything from its parents, that is also redundant > commits. > > Fix this by invoking `git cherry-pick --keep-redundant-commits` > instead, which will cause redundant commits to be rebased > correctly. > > Signed-off-by: Patrick Steinhardt > --- > git-rebase--am.sh | 2 +- > t/t3400-rebase.sh | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/git-rebase--am.sh b/git-rebase--am.sh > index 9ae898b..ea7b897 100644 > --- a/git-rebase--am.sh > +++ b/git-rebase--am.sh > @@ -44,7 +44,7 @@ then > # empty commits and even if it didn't the format doesn't really lend > # itself well to recording empty patches. fortunately, cherry-pick > # makes this easy > - git cherry-pick ${gpg_sign_opt:+"$gpg_sign_opt"} --allow-empty \ > + git cherry-pick ${gpg_sign_opt:+"$gpg_sign_opt"} > --keep-redundant-commits \ > --right-only "$revisions" \ > ${restrict_revision+^$restrict_revision} > ret=$? > diff --git a/t/t3400-rebase.sh b/t/t3400-rebase.sh > index 6cca319..f43b202 100755 > --- a/t/t3400-rebase.sh > +++ b/t/t3400-rebase.sh > @@ -255,7 +255,7 @@ test_expect_success 'rebase commit with an ancient > timestamp' ' > grep "author .* 34567 +0600$" actual > ' > > -test_expect_failure 'rebase duplicated commit with --keep-empty' ' > +test_expect_success 'rebase duplicated commit with --keep-empty' ' > git reset --hard && > git checkout master && > > -- > 2.6.3 > > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2 34/43] refs.c: make struct ref_transaction generic
This triggers a lot of build warnings on my mac, basically in every file that uses refs.h: CC archive.o In file included from archive.c:2: ./refs.h:635:16: warning: redefinition of typedef 'ref_transaction_free_fn' is a C11 feature [-Wtypedef-redefinition] typedef void (*ref_transaction_free_fn)(struct ref_transaction *transaction); ^ ./refs.h:613:16: note: previous definition is here typedef void (*ref_transaction_free_fn)(struct ref_transaction *transaction); ^ 1 warning generated. On Mon, Sep 28, 2015 at 3:02 PM, David Turnerwrote: > Alternate ref backends might need different data for transactions. Make > struct ref_transaction an empty struct, and let backends define their > own structs which extend it. > > Signed-off-by: David Turner > --- > refs-be-files.c | 24 +--- > refs.h | 8 ++-- > 2 files changed, 23 insertions(+), 9 deletions(-) > > diff --git a/refs-be-files.c b/refs-be-files.c > index 0a76c8e..3f2d194 100644 > --- a/refs-be-files.c > +++ b/refs-be-files.c > @@ -3218,7 +3218,8 @@ enum ref_transaction_state { > * consist of checks and updates to multiple references, carried out > * as atomically as possible. This structure is opaque to callers. > */ > -struct ref_transaction { > +struct files_ref_transaction { > + struct ref_transaction base; > struct ref_update **updates; > size_t alloc; > size_t nr; > @@ -3229,13 +3230,16 @@ static struct ref_transaction > *files_transaction_begin(struct strbuf *err) > { > assert(err); > > - return xcalloc(1, sizeof(struct ref_transaction)); > + return xcalloc(1, sizeof(struct files_ref_transaction)); > } > > -static void files_transaction_free(struct ref_transaction *transaction) > +static void files_transaction_free(struct ref_transaction *trans) > { > int i; > > + struct files_ref_transaction *transaction = > + (struct files_ref_transaction *)trans; > + > if (!transaction) > return; > > @@ -3247,7 +3251,7 @@ static void files_transaction_free(struct > ref_transaction *transaction) > free(transaction); > } > > -static struct ref_update *add_update(struct ref_transaction *transaction, > +static struct ref_update *add_update(struct files_ref_transaction > *transaction, > const char *refname) > { > size_t len = strlen(refname) + 1; > @@ -3259,7 +3263,7 @@ static struct ref_update *add_update(struct > ref_transaction *transaction, > return update; > } > > -static int files_transaction_update(struct ref_transaction *transaction, > +static int files_transaction_update(struct ref_transaction *trans, > const char *refname, > const unsigned char *new_sha1, > const unsigned char *old_sha1, > @@ -3267,6 +3271,8 @@ static int files_transaction_update(struct > ref_transaction *transaction, > struct strbuf *err) > { > struct ref_update *update; > + struct files_ref_transaction *transaction = > + (struct files_ref_transaction *)trans; > > assert(err); > > @@ -3350,10 +3356,12 @@ static int ref_update_reject_duplicates(struct > string_list *refnames, > return 0; > } > > -static int files_transaction_commit(struct ref_transaction *transaction, > +static int files_transaction_commit(struct ref_transaction *trans, > struct strbuf *err) > { > int ret = 0, i; > + struct files_ref_transaction *transaction = > + (struct files_ref_transaction *)trans; > int n = transaction->nr; > struct ref_update **updates = transaction->updates; > struct string_list refs_to_delete = STRING_LIST_INIT_NODUP; > @@ -3517,10 +3525,12 @@ static int ref_present(const char *refname, > return string_list_has_string(affected_refnames, refname); > } > > -static int files_initial_transaction_commit(struct ref_transaction > *transaction, > +static int files_initial_transaction_commit(struct ref_transaction *trans, > struct strbuf *err) > { > int ret = 0, i; > + struct files_ref_transaction *transaction = > + (struct files_ref_transaction *)trans; > int n = transaction->nr; > struct ref_update **updates = transaction->updates; > struct string_list affected_refnames = STRING_LIST_INIT_NODUP; > diff --git a/refs.h b/refs.h > index 64dba64..02001ef 100644 > --- a/refs.h > +++ b/refs.h > @@ -130,7 +130,7 @@ extern int dwim_log(const char *str, int len, unsigned > char *sha1, char **ref); > * > * Calling sequence > * > - * - Allocate and initialize a `struct ref_transaction` by calling > + * - Allocate and
Re: [PATCH 41/68] init: use strbufs to store paths
On Thu, Sep 24, 2015 at 2:07 PM, Jeff Kingwrote: > The init code predates strbufs, and uses PATH_MAX-sized > buffers along with many manual checks on intermediate sizes > (some of which make magic assumptions, such as that init > will not create a path inside .git longer than 50 > characters). > > We can simplify this greatly by using strbufs, which drops > some hard-to-verify strcpy calls. Note that we need to > update probe_utf8_pathname_composition, too, as it assumes > we are passing a buffer large enough to append its probe > filenames (it now just takes a strbuf, which also gets rid > of the confusing "len" parameter, which was not the length of > "path" but rather the offset to start writing). > > Some of the conversion makes new calls to git_path_buf. > While we're in the area, let's also convert existing calls > to git_path to the safer git_path_buf (our existing calls > were passed to pretty tame functions, and so were not a > problem, but it's easy to be consistent and safe here). > > Note that we had an explicit test that "git init" rejects > long template directories. This comes from 32d1776 (init: Do > not segfault on big GIT_TEMPLATE_DIR environment variable, > 2009-04-18). We can drop the test_must_fail here, as we now > accept this and need only confirm that we don't segfault, > which was the original point of the test. > > Signed-off-by: Jeff King > --- > builtin/init-db.c| 174 > --- > compat/precompose_utf8.c | 12 ++-- > compat/precompose_utf8.h | 2 +- > git-compat-util.h| 2 +- > t/t0001-init.sh | 4 +- > 5 files changed, 87 insertions(+), 107 deletions(-) > > diff --git a/builtin/init-db.c b/builtin/init-db.c > index e7d0e31..cf6a3c8 100644 > --- a/builtin/init-db.c > +++ b/builtin/init-db.c > @@ -36,10 +36,11 @@ static void safe_create_dir(const char *dir, int share) > die(_("Could not make %s writable by group"), dir); > } > > -static void copy_templates_1(char *path, int baselen, > -char *template, int template_baselen, > +static void copy_templates_1(struct strbuf *path, struct strbuf *template, > DIR *dir) > { > + size_t path_baselen = path->len; > + size_t template_baselen = template->len; > struct dirent *de; > > /* Note: if ".git/hooks" file exists in the repository being > @@ -49,77 +50,64 @@ static void copy_templates_1(char *path, int baselen, > * with the way the namespace under .git/ is organized, should > * be really carefully chosen. > */ > - safe_create_dir(path, 1); > + safe_create_dir(path->buf, 1); > while ((de = readdir(dir)) != NULL) { > struct stat st_git, st_template; > - int namelen; > int exists = 0; > > + strbuf_setlen(path, path_baselen); > + strbuf_setlen(template, template_baselen); > + > if (de->d_name[0] == '.') > continue; > - namelen = strlen(de->d_name); > - if ((PATH_MAX <= baselen + namelen) || > - (PATH_MAX <= template_baselen + namelen)) > - die(_("insanely long template name %s"), de->d_name); > - memcpy(path + baselen, de->d_name, namelen+1); > - memcpy(template + template_baselen, de->d_name, namelen+1); > - if (lstat(path, _git)) { > + strbuf_addstr(path, de->d_name); > + strbuf_addstr(template, de->d_name); > + if (lstat(path->buf, _git)) { > if (errno != ENOENT) > - die_errno(_("cannot stat '%s'"), path); > + die_errno(_("cannot stat '%s'"), path->buf); > } > else > exists = 1; > > - if (lstat(template, _template)) > - die_errno(_("cannot stat template '%s'"), template); > + if (lstat(template->buf, _template)) > + die_errno(_("cannot stat template '%s'"), > template->buf); > > if (S_ISDIR(st_template.st_mode)) { > - DIR *subdir = opendir(template); > - int baselen_sub = baselen + namelen; > - int template_baselen_sub = template_baselen + namelen; > + DIR *subdir = opendir(template->buf); > if (!subdir) > - die_errno(_("cannot opendir '%s'"), template); > - path[baselen_sub++] = > - template[template_baselen_sub++] = '/'; > - path[baselen_sub] = > - template[template_baselen_sub] = 0; > - copy_templates_1(path, baselen_sub, > -
Re: [PATCH v4 1/2] git-p4: add test case for "Translation of file content failed" error
I'm seeing test failures non-executable tests: t9825-git-p4-handle-utf16-without-bom.sh ls -l shows that all the other tests are executable but t9825 isn't. On Tue, Sep 22, 2015 at 9:02 AM, Junio C Hamanowrote: > Lars Schneider writes: > >> This works. > > OK, and thanks; as I don't do perforce, the squash was without any > testing. > >> Do we need the “-e” option? > > In syntactic sense, no, but our codebase tends to prefer to have > one, because it is easier to spot which ones are the instructions if > you consistently have "-e" even when you give only one. > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: 'make test' fails in pu
For the record, that commit also sporadically breaks test 3910 on my system (mentioning since it's not on the list) On Tue, Feb 17, 2015 at 12:55 AM, Jeff King p...@peff.net wrote: On Tue, Feb 17, 2015 at 09:39:17AM +0100, Dennis Kaarsemaker wrote: Make test has been failing for 'pu' yesterday for and today at t4016-diff-quote.sh. Full log: http://ci.kaarsemaker.net/git/refs/heads/pu/1df29c71a731c679de9055ae5e407f3a4e18740a/artefact/test/log I noticed this a few times before and it tends to get fixed again relatively quickly. So I'm wondering: - Should I even mention that it's failing, or is that just useless noise? - If I should report this, I could also make my testing thing send mails. Would that be useful? If you bisect this, it turns up commit 30cd8f94f, which says: WIP: diff-b-m [...] This update is still broken and breaks a handful of tests: 4016 4023 4047 4130 6022 6031 6032 9300 9200 9300 9350 Sometimes a breakage in pu is surprising (e.g., it breaks only on a platform that the maintainer does not run make test on) and we would want to know about it. But sometimes it is merely that there is a work-in-progress. And it probably requires a human to tell the difference. So no, I do not think automatically mailing on test failures in pu is a good idea. Manually peeking at them and sending fixes before the series is merged to next _is_ very much encouraged, though. :) Unlike pu, next and master should never fail tests (I think that Junio will not push them out if the tests have failed on his system). So failures there are much more likely to be interesting platform bugs (but of course, testing pu is still encouraged, as we may catch problems). But even for next, I would say blind automated emails are not nearly as useful as a human who has looked at the problem (and especially bisected). -Peff -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 21/21] t3080: tests for git-list-files
On Wed, Jan 28, 2015 at 2:19 AM, Duy Nguyen pclo...@gmail.com wrote: On Wed, Jan 28, 2015 at 11:44 AM, Michael Blume blume.m...@gmail.com wrote: Test 3 is failing on my mac: expecting success: test_config color.ls.file red test_config color.ls.directory green test_config color.ls.submodule yellow git list-files --color=always actual test_cmp $TEST_DIRECTORY/t3080/color_ls actual --- /Users/michael.blume/workspace/git/t/t3080/color_ls 2015-01-28 04:40:23.0 + +++ actual 2015-01-28 04:42:59.0 + @@ -1,3 +1,3 @@ -dir -file -gitlink +dir +file +gitlink Urgh.. colors do not send well over plain text.. I just realized we have test_decode_color to convert colors to text descriptions.. will fix.. Anyway, I think i may know why it fails. I suppose the env variable LS_COLORS is not defined, or defined as empty in your shell? -- Duy In case it helps: https://www.dropbox.com/s/zsm3xgulmsl3rqm/Screenshot%202015-01-28%2009.46.57.png?dl=0 Also no, LS_COLORS is not defined $ echo $LS_COLORS $ -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 21/21] t3080: tests for git-list-files
Test 3 is failing on my mac: expecting success: test_config color.ls.file red test_config color.ls.directory green test_config color.ls.submodule yellow git list-files --color=always actual test_cmp $TEST_DIRECTORY/t3080/color_ls actual --- /Users/michael.blume/workspace/git/t/t3080/color_ls 2015-01-28 04:40:23.0 + +++ actual 2015-01-28 04:42:59.0 + @@ -1,3 +1,3 @@ -dir -file -gitlink +dir +file +gitlink not ok 3 - color.ls.* # # test_config color.ls.file red # test_config color.ls.directory green # test_config color.ls.submodule yellow # git list-files --color=always actual # test_cmp $TEST_DIRECTORY/t3080/color_ls actual # On Sun, Jan 25, 2015 at 11:20 AM, Eric Sunshine sunsh...@sunshineco.com wrote: On Sun, Jan 25, 2015 at 7:37 AM, Nguyễn Thái Ngọc Duy pclo...@gmail.com wrote: Signed-off-by: Nguyễn Thái Ngọc Duy pclo...@gmail.com --- diff --git a/t/t3080-list-files.sh b/t/t3080-list-files.sh new file mode 100755 index 000..6313dd9 --- /dev/null +++ b/t/t3080-list-files.sh +test_expect_success 'no dups' ' + echo dirty file To leave a clean slate for subsequent tests, would it make sense to restore 'file' to a clean state via test_when_finished()? + git list-files -m file actual + echo file expected + test_cmp expected actual + git list-files -cm file actual + echo C file expected + test_cmp expected actual + git list-files -tcm file actual + test_cmp expected actual +' + +test_expect_success 'diff-cached' ' + echo dirty file + git add file Ditto here? + git list-files -M actual + echo file expected + test_cmp expected actual +' -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Git compile warnings (under mac/clang)
These are probably minor, I only bring them up because Git's build is generally so quiet that it might be worth squashing these too. CC fsck.o fsck.c:110:38: warning: comparison of unsigned enum expression = 0 is always true [-Wtautological-compare] if (options-msg_severity msg_id = 0 msg_id FSCK_MSG_MAX) ~~ ^ ~ 1 warning generated. AR libgit.a /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libgit.a(gettext.o) has no symbols CC builtin/remote.o builtin/remote.c:1572:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ builtin/remote.c:1580:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ 2 warnings generated. (the warning about libgit.a(gettext.o) is probably because I'm building with NO_GETTEXT -- I've never been able to get gettext to work on my mac) -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Segmentation fault in git apply
On Wed, Jan 14, 2015 at 10:44 AM, Michael Blume blume.m...@gmail.com wrote: On Wed, Jan 14, 2015 at 10:40 AM, Michael Blume blume.m...@gmail.com wrote: On Wed, Jan 14, 2015 at 10:20 AM, Michael Blume blume.m...@gmail.com wrote: This is a mac with a fresh build of git from pu branch, commit 53b80d0. With my gitconfig looking like [user] email = blume.m...@gmail.com name = Michael Blume [apply] whitespace = fix [core] whitespace = fix,trailing-space,space-before-tab, tab-in-indent, tabwidth=4 If I run git clone g...@github.com:MichaelBlume/clojure.git cd clojure git checkout origin/rebase-start git rebase origin/rebase-base I get src/jvm/clojure/lang/Compiler.java | 26 +- test/clojure/test_clojure/compilation.clj | 33 - test/clojure/test_clojure/compilation/examples_clj_1561.clj | 121 + 3 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 test/clojure/test_clojure/compilation/examples_clj_1561.clj First, rewinding head to replay your work on top of it... Applying: CLJ-1603 - add reducible cycle, iterate, repeat Applying: CLJ-1515 Reify range Applying: CLJ-1499 Direct iterators for PersistentHashMap, APersistentSet, PersistentQueue, and PersistentStructMap, and records. Added new IMapIterable interface for key and val iterators. Applying: CLJ-1602 Make keys and vals return Iterable result Applying: fix AOT bug preventing overriding of clojure.core functions Applying: catch multiple rest forms Applying: zipmap using iterators and transient maps Applying: Define merge/merge-with after reduce has loaded Applying: very simple test of the merge function Applying: Support get on arbitrary java.util.List instances Applying: CLJ-1451 add take-until Applying: CLJ-1606 - complete eduction's xform without completing outer rfn Applying: add unrolled vector implementation Applying: add transient? predicate Applying: fix emitted line numbers Using index info to reconstruct a base tree... M src/jvm/clojure/lang/Compiler.java Falling back to patching base and 3-way merge... Auto-merging src/jvm/clojure/lang/Compiler.java Applying: just use a not Applying: trailing whitespace Applying: don't mix tabs/spaces in clojure.xml/emit-element Applying: avoid mixing tabs with spaces in clojure core code Applying: don't optimize for defrecord lookup if keyword is namespaced Applying: CLJ-1572 - Extend CollReduce to IReduceInit for supported arity Applying: unrolled impls for maps Applying: CLJ-703: Remove flush and sync calls when writing class files. Applying: CLJ-1078: Add queue and queue? to clojure.core Applying: make RT.boundedLength lazier Applying: first try for adding compare Applying: Fix for #CLJ-1565 Applying: CLJ-1074: Read +/- Infinity and NaN Applying: Fix CLJ-1074 for EdnReader too, see eaeda2e7bf2697e565decdf14a8a99fbf8588c57 Applying: add get-and-set! to expose AtomicReference.getAndSet() for atoms Applying: CLJ-1472 Locking macro without explicit monitor-enter, monitor-exit Applying: CLJ-1449: Add starts-with? ends-with? contains? to clojure.string Applying: if test expr of an if statement is a literal, don't emit the runtime test Applying: evaluate def symbol metadata only once Applying: CLJ-1295: Speed up dissoc on array-maps Applying: some throwing Applying: don't pass offset to ArrayChunk Applying: make EMPTY accessible Applying: add handy create methods Applying: regenerate Applying: regenerate /Users/michael.blume/libexec/git-core/git-am: line 854: 92059 Segmentation fault: 11 git apply --index $dotest/patch /dev/null 21 /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:14: tab in indent. .persistent(); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. Using index info to reconstruct a base tree... M src/jvm/clojure/lang/PersistentUnrolledVector.java stdin:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) stdin:14: tab in indent. .persistent(); stdin:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); stdin:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY stdin
Re: Segmentation fault in git apply
On Wed, Jan 14, 2015 at 10:48 AM, Michael Blume blume.m...@gmail.com wrote: On Wed, Jan 14, 2015 at 10:44 AM, Michael Blume blume.m...@gmail.com wrote: On Wed, Jan 14, 2015 at 10:40 AM, Michael Blume blume.m...@gmail.com wrote: On Wed, Jan 14, 2015 at 10:20 AM, Michael Blume blume.m...@gmail.com wrote: This is a mac with a fresh build of git from pu branch, commit 53b80d0. With my gitconfig looking like [user] email = blume.m...@gmail.com name = Michael Blume [apply] whitespace = fix [core] whitespace = fix,trailing-space,space-before-tab, tab-in-indent, tabwidth=4 If I run git clone g...@github.com:MichaelBlume/clojure.git cd clojure git checkout origin/rebase-start git rebase origin/rebase-base I get src/jvm/clojure/lang/Compiler.java | 26 +- test/clojure/test_clojure/compilation.clj | 33 - test/clojure/test_clojure/compilation/examples_clj_1561.clj | 121 + 3 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 test/clojure/test_clojure/compilation/examples_clj_1561.clj First, rewinding head to replay your work on top of it... Applying: CLJ-1603 - add reducible cycle, iterate, repeat Applying: CLJ-1515 Reify range Applying: CLJ-1499 Direct iterators for PersistentHashMap, APersistentSet, PersistentQueue, and PersistentStructMap, and records. Added new IMapIterable interface for key and val iterators. Applying: CLJ-1602 Make keys and vals return Iterable result Applying: fix AOT bug preventing overriding of clojure.core functions Applying: catch multiple rest forms Applying: zipmap using iterators and transient maps Applying: Define merge/merge-with after reduce has loaded Applying: very simple test of the merge function Applying: Support get on arbitrary java.util.List instances Applying: CLJ-1451 add take-until Applying: CLJ-1606 - complete eduction's xform without completing outer rfn Applying: add unrolled vector implementation Applying: add transient? predicate Applying: fix emitted line numbers Using index info to reconstruct a base tree... M src/jvm/clojure/lang/Compiler.java Falling back to patching base and 3-way merge... Auto-merging src/jvm/clojure/lang/Compiler.java Applying: just use a not Applying: trailing whitespace Applying: don't mix tabs/spaces in clojure.xml/emit-element Applying: avoid mixing tabs with spaces in clojure core code Applying: don't optimize for defrecord lookup if keyword is namespaced Applying: CLJ-1572 - Extend CollReduce to IReduceInit for supported arity Applying: unrolled impls for maps Applying: CLJ-703: Remove flush and sync calls when writing class files. Applying: CLJ-1078: Add queue and queue? to clojure.core Applying: make RT.boundedLength lazier Applying: first try for adding compare Applying: Fix for #CLJ-1565 Applying: CLJ-1074: Read +/- Infinity and NaN Applying: Fix CLJ-1074 for EdnReader too, see eaeda2e7bf2697e565decdf14a8a99fbf8588c57 Applying: add get-and-set! to expose AtomicReference.getAndSet() for atoms Applying: CLJ-1472 Locking macro without explicit monitor-enter, monitor-exit Applying: CLJ-1449: Add starts-with? ends-with? contains? to clojure.string Applying: if test expr of an if statement is a literal, don't emit the runtime test Applying: evaluate def symbol metadata only once Applying: CLJ-1295: Speed up dissoc on array-maps Applying: some throwing Applying: don't pass offset to ArrayChunk Applying: make EMPTY accessible Applying: add handy create methods Applying: regenerate Applying: regenerate /Users/michael.blume/libexec/git-core/git-am: line 854: 92059 Segmentation fault: 11 git apply --index $dotest/patch /dev/null 21 /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:14: tab in indent. .persistent(); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. Using index info to reconstruct a base tree... M src/jvm/clojure/lang/PersistentUnrolledVector.java stdin:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) stdin:14: tab in indent. .persistent(); stdin:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta
Segmentation fault in git apply
This is a mac with a fresh build of git from pu branch, commit 53b80d0. With my gitconfig looking like [user] email = blume.m...@gmail.com name = Michael Blume [apply] whitespace = fix [core] whitespace = fix,trailing-space,space-before-tab, tab-in-indent, tabwidth=4 If I run git clone g...@github.com:MichaelBlume/clojure.git cd clojure git checkout origin/rebase-start git rebase origin/rebase-base I get src/jvm/clojure/lang/Compiler.java | 26 +- test/clojure/test_clojure/compilation.clj | 33 - test/clojure/test_clojure/compilation/examples_clj_1561.clj | 121 + 3 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 test/clojure/test_clojure/compilation/examples_clj_1561.clj First, rewinding head to replay your work on top of it... Applying: CLJ-1603 - add reducible cycle, iterate, repeat Applying: CLJ-1515 Reify range Applying: CLJ-1499 Direct iterators for PersistentHashMap, APersistentSet, PersistentQueue, and PersistentStructMap, and records. Added new IMapIterable interface for key and val iterators. Applying: CLJ-1602 Make keys and vals return Iterable result Applying: fix AOT bug preventing overriding of clojure.core functions Applying: catch multiple rest forms Applying: zipmap using iterators and transient maps Applying: Define merge/merge-with after reduce has loaded Applying: very simple test of the merge function Applying: Support get on arbitrary java.util.List instances Applying: CLJ-1451 add take-until Applying: CLJ-1606 - complete eduction's xform without completing outer rfn Applying: add unrolled vector implementation Applying: add transient? predicate Applying: fix emitted line numbers Using index info to reconstruct a base tree... M src/jvm/clojure/lang/Compiler.java Falling back to patching base and 3-way merge... Auto-merging src/jvm/clojure/lang/Compiler.java Applying: just use a not Applying: trailing whitespace Applying: don't mix tabs/spaces in clojure.xml/emit-element Applying: avoid mixing tabs with spaces in clojure core code Applying: don't optimize for defrecord lookup if keyword is namespaced Applying: CLJ-1572 - Extend CollReduce to IReduceInit for supported arity Applying: unrolled impls for maps Applying: CLJ-703: Remove flush and sync calls when writing class files. Applying: CLJ-1078: Add queue and queue? to clojure.core Applying: make RT.boundedLength lazier Applying: first try for adding compare Applying: Fix for #CLJ-1565 Applying: CLJ-1074: Read +/- Infinity and NaN Applying: Fix CLJ-1074 for EdnReader too, see eaeda2e7bf2697e565decdf14a8a99fbf8588c57 Applying: add get-and-set! to expose AtomicReference.getAndSet() for atoms Applying: CLJ-1472 Locking macro without explicit monitor-enter, monitor-exit Applying: CLJ-1449: Add starts-with? ends-with? contains? to clojure.string Applying: if test expr of an if statement is a literal, don't emit the runtime test Applying: evaluate def symbol metadata only once Applying: CLJ-1295: Speed up dissoc on array-maps Applying: some throwing Applying: don't pass offset to ArrayChunk Applying: make EMPTY accessible Applying: add handy create methods Applying: regenerate Applying: regenerate /Users/michael.blume/libexec/git-core/git-am: line 854: 92059 Segmentation fault: 11 git apply --index $dotest/patch /dev/null 21 /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:14: tab in indent. .persistent(); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. Using index info to reconstruct a base tree... M src/jvm/clojure/lang/PersistentUnrolledVector.java stdin:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) stdin:14: tab in indent. .persistent(); stdin:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); stdin:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY stdin:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines applied after fixing whitespace errors. Falling back to patching base and 3-way merge... fatal: Unable to create '/Users/michael.blume/workspace/clojure/.git/index.lock': File exists. If no other git
Re: Segmentation fault in git apply
On Wed, Jan 14, 2015 at 10:20 AM, Michael Blume blume.m...@gmail.com wrote: This is a mac with a fresh build of git from pu branch, commit 53b80d0. With my gitconfig looking like [user] email = blume.m...@gmail.com name = Michael Blume [apply] whitespace = fix [core] whitespace = fix,trailing-space,space-before-tab, tab-in-indent, tabwidth=4 If I run git clone g...@github.com:MichaelBlume/clojure.git cd clojure git checkout origin/rebase-start git rebase origin/rebase-base I get src/jvm/clojure/lang/Compiler.java | 26 +- test/clojure/test_clojure/compilation.clj | 33 - test/clojure/test_clojure/compilation/examples_clj_1561.clj | 121 + 3 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 test/clojure/test_clojure/compilation/examples_clj_1561.clj First, rewinding head to replay your work on top of it... Applying: CLJ-1603 - add reducible cycle, iterate, repeat Applying: CLJ-1515 Reify range Applying: CLJ-1499 Direct iterators for PersistentHashMap, APersistentSet, PersistentQueue, and PersistentStructMap, and records. Added new IMapIterable interface for key and val iterators. Applying: CLJ-1602 Make keys and vals return Iterable result Applying: fix AOT bug preventing overriding of clojure.core functions Applying: catch multiple rest forms Applying: zipmap using iterators and transient maps Applying: Define merge/merge-with after reduce has loaded Applying: very simple test of the merge function Applying: Support get on arbitrary java.util.List instances Applying: CLJ-1451 add take-until Applying: CLJ-1606 - complete eduction's xform without completing outer rfn Applying: add unrolled vector implementation Applying: add transient? predicate Applying: fix emitted line numbers Using index info to reconstruct a base tree... M src/jvm/clojure/lang/Compiler.java Falling back to patching base and 3-way merge... Auto-merging src/jvm/clojure/lang/Compiler.java Applying: just use a not Applying: trailing whitespace Applying: don't mix tabs/spaces in clojure.xml/emit-element Applying: avoid mixing tabs with spaces in clojure core code Applying: don't optimize for defrecord lookup if keyword is namespaced Applying: CLJ-1572 - Extend CollReduce to IReduceInit for supported arity Applying: unrolled impls for maps Applying: CLJ-703: Remove flush and sync calls when writing class files. Applying: CLJ-1078: Add queue and queue? to clojure.core Applying: make RT.boundedLength lazier Applying: first try for adding compare Applying: Fix for #CLJ-1565 Applying: CLJ-1074: Read +/- Infinity and NaN Applying: Fix CLJ-1074 for EdnReader too, see eaeda2e7bf2697e565decdf14a8a99fbf8588c57 Applying: add get-and-set! to expose AtomicReference.getAndSet() for atoms Applying: CLJ-1472 Locking macro without explicit monitor-enter, monitor-exit Applying: CLJ-1449: Add starts-with? ends-with? contains? to clojure.string Applying: if test expr of an if statement is a literal, don't emit the runtime test Applying: evaluate def symbol metadata only once Applying: CLJ-1295: Speed up dissoc on array-maps Applying: some throwing Applying: don't pass offset to ArrayChunk Applying: make EMPTY accessible Applying: add handy create methods Applying: regenerate Applying: regenerate /Users/michael.blume/libexec/git-core/git-am: line 854: 92059 Segmentation fault: 11 git apply --index $dotest/patch /dev/null 21 /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:14: tab in indent. .persistent(); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. Using index info to reconstruct a base tree... M src/jvm/clojure/lang/PersistentUnrolledVector.java stdin:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) stdin:14: tab in indent. .persistent(); stdin:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); stdin:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY stdin:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines applied after fixing
Re: Segmentation fault in git apply
On Wed, Jan 14, 2015 at 10:40 AM, Michael Blume blume.m...@gmail.com wrote: On Wed, Jan 14, 2015 at 10:20 AM, Michael Blume blume.m...@gmail.com wrote: This is a mac with a fresh build of git from pu branch, commit 53b80d0. With my gitconfig looking like [user] email = blume.m...@gmail.com name = Michael Blume [apply] whitespace = fix [core] whitespace = fix,trailing-space,space-before-tab, tab-in-indent, tabwidth=4 If I run git clone g...@github.com:MichaelBlume/clojure.git cd clojure git checkout origin/rebase-start git rebase origin/rebase-base I get src/jvm/clojure/lang/Compiler.java | 26 +- test/clojure/test_clojure/compilation.clj | 33 - test/clojure/test_clojure/compilation/examples_clj_1561.clj | 121 + 3 files changed, 170 insertions(+), 10 deletions(-) create mode 100644 test/clojure/test_clojure/compilation/examples_clj_1561.clj First, rewinding head to replay your work on top of it... Applying: CLJ-1603 - add reducible cycle, iterate, repeat Applying: CLJ-1515 Reify range Applying: CLJ-1499 Direct iterators for PersistentHashMap, APersistentSet, PersistentQueue, and PersistentStructMap, and records. Added new IMapIterable interface for key and val iterators. Applying: CLJ-1602 Make keys and vals return Iterable result Applying: fix AOT bug preventing overriding of clojure.core functions Applying: catch multiple rest forms Applying: zipmap using iterators and transient maps Applying: Define merge/merge-with after reduce has loaded Applying: very simple test of the merge function Applying: Support get on arbitrary java.util.List instances Applying: CLJ-1451 add take-until Applying: CLJ-1606 - complete eduction's xform without completing outer rfn Applying: add unrolled vector implementation Applying: add transient? predicate Applying: fix emitted line numbers Using index info to reconstruct a base tree... M src/jvm/clojure/lang/Compiler.java Falling back to patching base and 3-way merge... Auto-merging src/jvm/clojure/lang/Compiler.java Applying: just use a not Applying: trailing whitespace Applying: don't mix tabs/spaces in clojure.xml/emit-element Applying: avoid mixing tabs with spaces in clojure core code Applying: don't optimize for defrecord lookup if keyword is namespaced Applying: CLJ-1572 - Extend CollReduce to IReduceInit for supported arity Applying: unrolled impls for maps Applying: CLJ-703: Remove flush and sync calls when writing class files. Applying: CLJ-1078: Add queue and queue? to clojure.core Applying: make RT.boundedLength lazier Applying: first try for adding compare Applying: Fix for #CLJ-1565 Applying: CLJ-1074: Read +/- Infinity and NaN Applying: Fix CLJ-1074 for EdnReader too, see eaeda2e7bf2697e565decdf14a8a99fbf8588c57 Applying: add get-and-set! to expose AtomicReference.getAndSet() for atoms Applying: CLJ-1472 Locking macro without explicit monitor-enter, monitor-exit Applying: CLJ-1449: Add starts-with? ends-with? contains? to clojure.string Applying: if test expr of an if statement is a literal, don't emit the runtime test Applying: evaluate def symbol metadata only once Applying: CLJ-1295: Speed up dissoc on array-maps Applying: some throwing Applying: don't pass offset to ArrayChunk Applying: make EMPTY accessible Applying: add handy create methods Applying: regenerate Applying: regenerate /Users/michael.blume/libexec/git-core/git-am: line 854: 92059 Segmentation fault: 11 git apply --index $dotest/patch /dev/null 21 /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:14: tab in indent. .persistent(); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY /Users/michael.blume/workspace/clojure/.git/rebase-apply/patch:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2) warning: squelched 1 whitespace error warning: 6 lines add whitespace errors. Using index info to reconstruct a base tree... M src/jvm/clojure/lang/PersistentUnrolledVector.java stdin:13: tab in indent. IPersistentVector v = (IPersistentVector) asTransient().conj(val) stdin:14: tab in indent. .persistent(); stdin:15: tab in indent. return (IPersistentVector) ((IObj) v).withMeta(meta); stdin:25: tab in indent. ITransientCollection coll = PersistentVector.EMPTY stdin:27: tab in indent. return (ITransientVector) coll.conj(e0).conj(e1).conj(e2
Re: [PATCH v3 2/4] rev-list: add an option to mark fewer edges as uninteresting
This patch causes an error on my mac, test 5500 fetch-pack errors on part 44 - fetch creating new shallow root. It looks for remote: Total 1 in the fetch output and gets 3 instead. On Tue, Dec 23, 2014 at 7:01 AM, brian m. carlson sand...@crustytoothpaste.net wrote: In commit fbd4a70 (list-objects: mark more commits as edges in mark_edges_uninteresting - 2013-08-16), we marked an increasing number of edges uninteresting. This change, and the subsequent change to make this conditional on --objects-edge, are used by --thin to make much smaller packs for shallow clones. Unfortunately, they cause a significant performance regression when pushing non-shallow clones with lots of refs (23.322 seconds vs. 4.785 seconds with 22400 refs). Add an option to git rev-list, --objects-edge-aggressive, that preserves this more aggressive behavior, while leaving --objects-edge to provide more performant behavior. Signed-off-by: brian m. carlson sand...@crustytoothpaste.net --- Documentation/git-rev-list.txt | 3 ++- Documentation/rev-list-options.txt | 4 list-objects.c | 4 ++-- revision.c | 6 ++ revision.h | 1 + 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Documentation/git-rev-list.txt b/Documentation/git-rev-list.txt index fd7f8b5..5b11922 100644 --- a/Documentation/git-rev-list.txt +++ b/Documentation/git-rev-list.txt @@ -46,7 +46,8 @@ SYNOPSIS [ \--extended-regexp | -E ] [ \--fixed-strings | -F ] [ \--date=(local|relative|default|iso|iso-strict|rfc|short) ] -[ [\--objects | \--objects-edge] [ \--unpacked ] ] +[ [ \--objects | \--objects-edge | \--objects-edge-aggressive ] + [ \--unpacked ] ] [ \--pretty | \--header ] [ \--bisect ] [ \--bisect-vars ] diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt index 2277fcb..8cb6f92 100644 --- a/Documentation/rev-list-options.txt +++ b/Documentation/rev-list-options.txt @@ -657,6 +657,10 @@ These options are mostly targeted for packing of Git repositories. objects in deltified form based on objects contained in these excluded commits to reduce network traffic. +--objects-edge-aggressive:: + Similar to `--objects-edge`, but it tries harder to find excluded + commits at the cost of increased time. + --unpacked:: Only useful with `--objects`; print the object IDs that are not in packs. diff --git a/list-objects.c b/list-objects.c index 2910bec..2a139b6 100644 --- a/list-objects.c +++ b/list-objects.c @@ -157,7 +157,7 @@ void mark_edges_uninteresting(struct rev_info *revs, show_edge_fn show_edge) if (commit-object.flags UNINTERESTING) { mark_tree_uninteresting(commit-tree); - if (revs-edge_hint !(commit-object.flags SHOWN)) { + if (revs-edge_hint_aggressive !(commit-object.flags SHOWN)) { commit-object.flags |= SHOWN; show_edge(commit); } @@ -165,7 +165,7 @@ void mark_edges_uninteresting(struct rev_info *revs, show_edge_fn show_edge) } mark_edge_parents_uninteresting(commit, revs, show_edge); } - if (revs-edge_hint) { + if (revs-edge_hint_aggressive) { for (i = 0; i revs-cmdline.nr; i++) { struct object *obj = revs-cmdline.rev[i].item; struct commit *commit = (struct commit *)obj; diff --git a/revision.c b/revision.c index 75dda92..753dd2f 100644 --- a/revision.c +++ b/revision.c @@ -1853,6 +1853,12 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg revs-tree_objects = 1; revs-blob_objects = 1; revs-edge_hint = 1; + } else if (!strcmp(arg, --objects-edge-aggressive)) { + revs-tag_objects = 1; + revs-tree_objects = 1; + revs-blob_objects = 1; + revs-edge_hint = 1; + revs-edge_hint_aggressive = 1; } else if (!strcmp(arg, --verify-objects)) { revs-tag_objects = 1; revs-tree_objects = 1; diff --git a/revision.h b/revision.h index 9cb5adc..033a244 100644 --- a/revision.h +++ b/revision.h @@ -93,6 +93,7 @@ struct rev_info { blob_objects:1, verify_objects:1, edge_hint:1, + edge_hint_aggressive:1, limited:1, unpacked:1, boundary:2, -- 2.2.1.209.g41e5f3a -- To unsubscribe from this list: send the line unsubscribe git in the body of a
Re: [RFC/PATCH] pkt-line: allow writing of LARGE_PACKET_MAX buffers
On Tue, Dec 9, 2014 at 2:41 PM, Junio C Hamano gits...@pobox.com wrote: Jeff King p...@peff.net writes: On Tue, Dec 09, 2014 at 12:49:58PM -0500, Jeff King wrote: Another option would be to use a static strbuf. Then we're only wasting heap, and even then only as much as we need (we'd still manually cap it at LARGE_PACKET_MAX since that's what the protocol dictates). This would also make packet_buf_write more efficient (right now it formats into a static buffer, and then copies the result into a strbuf; probably not measurably important, but silly nonetheless). Below is what that would look like. It's obviously a much more invasive change, but I think the result is nice. Yes, indeed. Is there any reason why we shouldn't go with this variant, other than it touches a bit more lines that I am not seeing? Let's switch to using a strbuf, with a hard-limit of LARGE_PACKET_MAX (which is specified by the protocol). This matches the size of the readers, as of 74543a0 (pkt-line: provide a LARGE_PACKET_MAX static buffer, 2013-02-20). Versions of git older than that will complain about our large packets, but it's really no worse than the current behavior. Right now the sender barfs with impossibly long line trying to send the packet, and afterwards the reader will barf with protocol error: bad line length %d, which is arguably better anyway. Anything older than 1.8.3 is affected by this, but only when the sending side has to send a large packet. It is between failing because the sender cannot send a large packet and failing because the receiver does not expect such a large packet to come, and either way the whole operation will fail anyway, so there is no net loss. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html I'm getting failures on my mac too, I assume filesystem-related. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Accept-language test fails on Mac OS
Test #25 'git client sends Accept-Language based on LANGUAGE, LC_ALL, LC_MESSAGES and LANG' in t5550 fails consistently on my mac, and has since the test was introduced. Test 26 and 27 ('git client sends Accept-Language with many preferred languages' and 'git client does not send Accept-Language') seem fine. I'm building git with NO_GETTEXT=1, which may be an issue? But in that case the test should probably be gated on gettext? -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Accept-language test fails on Mac OS
On Fri, Dec 5, 2014 at 2:51 PM, Junio C Hamano gits...@pobox.com wrote: Michael Blume blume.m...@gmail.com writes: Test #25 'git client sends Accept-Language based on LANGUAGE, LC_ALL, LC_MESSAGES and LANG' in t5550 fails consistently on my mac, and has since the test was introduced. Test 26 and 27 ('git client sends Accept-Language with many preferred languages' and 'git client does not send Accept-Language') seem fine. I'm building git with NO_GETTEXT=1, which may be an issue? But in that case the test should probably be gated on gettext? I recall queuing a SQUASH??? on top of the posted patch; does these tests pass with it reverted? The test fails both on pu and on 7567fad which is prior to the SQUASH??? commit, so the squash does not seem to change anything. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
no-xmailer tests fail under Mac OS
Failures start from commit d2384abff7a6181fd7b9a51af7e780aa21e5cb8d (refs/bisect/bad) Author: Luis Henriques hen...@camandro.org Date: Thu Dec 4 19:11:30 2014 + test/send-email: --[no-]xmailer tests Add tests for the --[no-]xmailer option. Signed-off-by: Luis Henriques hen...@camandro.org Signed-off-by: Junio C Hamano gits...@pobox.com but continue with Junio's SQUASH??? commit at b728d078 Verbose output follows expecting success: do_xmailer_test 1 --xmailer do_xmailer_test 0 --no-xmailer 0001-add-master.patch not ok 109 - --[no-]xmailer without any configuration # # do_xmailer_test 1 --xmailer # do_xmailer_test 0 --no-xmailer # expecting success: test_config sendemail.xmailer true do_xmailer_test 1 do_xmailer_test 0 --no-xmailer do_xmailer_test 1 --xmailer 0001-add-master.patch not ok 110 - --[no-]xmailer with sendemail.xmailer=true # # test_config sendemail.xmailer true # do_xmailer_test 1 # do_xmailer_test 0 --no-xmailer # do_xmailer_test 1 --xmailer # expecting success: test_config sendemail.xmailer false do_xmailer_test 0 do_xmailer_test 0 --no-xmailer do_xmailer_test 1 --xmailer 0001-add-master.patch not ok 111 - --[no-]xmailer with sendemail.xmailer=false # # test_config sendemail.xmailer false # do_xmailer_test 0 # do_xmailer_test 0 --no-xmailer # do_xmailer_test 1 --xmailer # # failed 3 among 111 test(s) 1..111 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: no-xmailer tests fail under Mac OS
On Fri, Dec 5, 2014 at 9:34 PM, Jeff King p...@peff.net wrote: On Fri, Dec 05, 2014 at 06:05:24PM -0800, Michael Blume wrote: Failures start from commit d2384abff7a6181fd7b9a51af7e780aa21e5cb8d (refs/bisect/bad) Author: Luis Henriques hen...@camandro.org Date: Thu Dec 4 19:11:30 2014 + test/send-email: --[no-]xmailer tests Add tests for the --[no-]xmailer option. Signed-off-by: Luis Henriques hen...@camandro.org Signed-off-by: Junio C Hamano gits...@pobox.com but continue with Junio's SQUASH??? commit at b728d078 The commit contains: + test z$(grep ^X-Mailer: out | wc -l) = z$expected We have had trouble in the past with wc -l output not being strictly portable. I do not recall offhand which systems, but it is a good bet that this is the culprit. Doing: grep ^X-Mailer: out mailer test_line_count = $expected mailer should fix it. It might be even nicer to actually compare the x-mailer line we find to an expected output, but that may introduce complications if the value changes with the version or something (you'd have to sanitize the output, and then I do not know that the test is really buying much over just seeing whether it exists). -Peff Actually need to drop the '', but yes, that works perfectly, thanks =) -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v5 1/1] http: Add Accept-Language header if possible
On Wed, Dec 3, 2014 at 1:37 PM, Junio C Hamano gits...@pobox.com wrote: Eric Sunshine sunsh...@sunshineco.com writes: @@ -515,6 +517,9 @@ void http_cleanup(void) cert_auth.password = NULL; } ssl_cert_password_required = 0; + + if (cached_accept_language) + strbuf_release(cached_accept_language); Junio already mentioned that this is leaking the memory of the strbuf struct itself which was xmalloc()'d by get_accept_language(). I actually didn't ;-) A singleton cached_accept_language strbuf itself being kept around, with its reuse by get_accept_language(), is fine and is not a leak. But clearing the strbuf alone will introduce correctness problem---the second HTTP connection will see an empty strbuf, get_accept_language() will say we've already computed and the header we must issue is an empty string, which is not correct. In the fix-up SQUASH??? commit I queued on top of this patch on 'pu', I had to run sort -u on the output to the standard error stream, as there seemed to be two HTTP connections and the actual output had two headers, even though the test expected only one in the output. I suspect that it is a fallout from this bug that the original code passed that test that expects only one. +static struct strbuf *get_accept_language(void) I find this API a bit strange. Use of strbuf to construct the returned string is an implementation detail of this function. From the caller's point of view, it should just be receiving a constant string: one which it needs neither to modify nor free. Also, if the caller were to modify the returned strbuf for some reason, then that modification would impact all future calls to get_accept_language() since the strbuf is 'static' and not recomputed. Instead, I would expect the declaration to be: static const char *get_accept_language(void) Makes sense to me. + /* Put a q-factor only if it is less than 1.0. */ + if (q max_q) + strbuf_addf(cached_accept_language, q_format, q); + + if (q 1) + q--; I didn't mention this but if q ever goes below 1, wouldn't it mean that there is no point continuing this loop? -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html This seems to be failing under Mac OS for me not ok 25 - git client sends Accept-Language based on LANGUAGE, LC_ALL, LC_MESSAGES and LANG # # check_language ko-KR, *;q=0.1 ko_KR.UTF-8 de_DE.UTF-8 ja_JP.UTF-8 en_US.UTF-8 # check_language de-DE, *;q=0.1 de_DE.UTF-8 ja_JP.UTF-8 en_US.UTF-8 # check_language ja-JP, *;q=0.1 ja_JP.UTF-8 en_US.UTF-8 # check_language en-US, *;q=0.1 en_US.UTF-8 # -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v5 1/1] http: Add Accept-Language header if possible
On Wed, Dec 3, 2014 at 2:00 PM, Michael Blume blume.m...@gmail.com wrote: On Wed, Dec 3, 2014 at 1:37 PM, Junio C Hamano gits...@pobox.com wrote: Eric Sunshine sunsh...@sunshineco.com writes: @@ -515,6 +517,9 @@ void http_cleanup(void) cert_auth.password = NULL; } ssl_cert_password_required = 0; + + if (cached_accept_language) + strbuf_release(cached_accept_language); Junio already mentioned that this is leaking the memory of the strbuf struct itself which was xmalloc()'d by get_accept_language(). I actually didn't ;-) A singleton cached_accept_language strbuf itself being kept around, with its reuse by get_accept_language(), is fine and is not a leak. But clearing the strbuf alone will introduce correctness problem---the second HTTP connection will see an empty strbuf, get_accept_language() will say we've already computed and the header we must issue is an empty string, which is not correct. In the fix-up SQUASH??? commit I queued on top of this patch on 'pu', I had to run sort -u on the output to the standard error stream, as there seemed to be two HTTP connections and the actual output had two headers, even though the test expected only one in the output. I suspect that it is a fallout from this bug that the original code passed that test that expects only one. +static struct strbuf *get_accept_language(void) I find this API a bit strange. Use of strbuf to construct the returned string is an implementation detail of this function. From the caller's point of view, it should just be receiving a constant string: one which it needs neither to modify nor free. Also, if the caller were to modify the returned strbuf for some reason, then that modification would impact all future calls to get_accept_language() since the strbuf is 'static' and not recomputed. Instead, I would expect the declaration to be: static const char *get_accept_language(void) Makes sense to me. + /* Put a q-factor only if it is less than 1.0. */ + if (q max_q) + strbuf_addf(cached_accept_language, q_format, q); + + if (q 1) + q--; I didn't mention this but if q ever goes below 1, wouldn't it mean that there is no point continuing this loop? -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html This seems to be failing under Mac OS for me not ok 25 - git client sends Accept-Language based on LANGUAGE, LC_ALL, LC_MESSAGES and LANG # # check_language ko-KR, *;q=0.1 ko_KR.UTF-8 de_DE.UTF-8 ja_JP.UTF-8 en_US.UTF-8 # check_language de-DE, *;q=0.1 de_DE.UTF-8 ja_JP.UTF-8 en_US.UTF-8 # check_language ja-JP, *;q=0.1 ja_JP.UTF-8 en_US.UTF-8 # check_language en-US, *;q=0.1 en_US.UTF-8 # verbose results Initialized empty Git repository in /Users/Shared/Jenkins/Home/jobs/git/workspace/t/trash directory.t5550-http-fetch-dumb/.git/ expecting success: git config push.default matching echo content1 file git add file git commit -m one echo content2 file git add file git commit -m two [master (root-commit) f5983e9] one Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 file [master 2ff8a06] two Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+), 1 deletion(-) ok 1 - setup repository expecting success: cp -R .git $HTTPD_DOCUMENT_ROOT_PATH/repo.git (cd $HTTPD_DOCUMENT_ROOT_PATH/repo.git git config core.bare true mkdir -p hooks echo exec git update-server-info hooks/post-update chmod +x hooks/post-update hooks/post-update ) git remote add public $HTTPD_DOCUMENT_ROOT_PATH/repo.git git push public master:master Everything up-to-date ok 2 - create http-accessible bare repository with loose objects expecting success: git clone $HTTPD_URL/dumb/repo.git clone-tmpl cp -R clone-tmpl clone test_cmp file clone/file Cloning into 'clone-tmpl'... ok 3 - clone http repository expecting success: mkdir -p $HTTPD_DOCUMENT_ROOT_PATH/auth/dumb/ cp -Rf $HTTPD_DOCUMENT_ROOT_PATH/repo.git \ $HTTPD_DOCUMENT_ROOT_PATH/auth/dumb/repo.git ok 4 - create password-protected repository expecting success: write_script $TRASH_DIRECTORY/askpass -\EOF echo $TRASH_DIRECTORY/askpass-query askpass: $* case $* in *Username*) what=user ;; *Password*) what=pass ;; esac cat $TRASH_DIRECTORY/askpass-$what EOF GIT_ASKPASS=$TRASH_DIRECTORY/askpass export GIT_ASKPASS export TRASH_DIRECTORY ok 5 - setup askpass helper expecting success: set_askpass wrong test_must_fail git clone $HTTPD_URL/auth/dumb/repo.git clone-auth-fail expect_askpass both wrong Cloning into 'clone-auth-fail'... fatal: Authentication failed for 'http://127.0.0.1:5550/auth/dumb/repo.git/' ok 6
Re: Deprecation warnings under XCode
On Tue, Dec 2, 2014 at 4:37 PM, Eric Sunshine sunsh...@sunshineco.com wrote: On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano gits...@pobox.com wrote: Torsten Bögershausen tbo...@web.de writes: On 12/01/2014 04:02 AM, Michael Blume wrote: I have no idea whether this should concern anyone, but my mac build of git shows CC imap-send.o imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] fprintf(stderr, %s: %s\n, func, ERR_error_string(ERR_get_error(), NULL)); ^ Isn't the warning a warning ;-) I don't see this warnings because my openssl comes from /opt/local/include (Mac ports) Does anybody know which new functions exist in Mac OS X versions = 10.7 ? I have not been able to find suitable Mac OS X replacements (nor could I when resubmitting David's series [1] to use CommonCrypto). I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support added in 4dcd7732 (Makefile: add support for Apple CommonCrypto facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC deprecation warnings on Mac OS X, 2013-05-19)? Specifically, the log message for 4dcd7732 begins like so: Makefile: add support for Apple CommonCrypto facility As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to OpenSSL ABI instability, thus leading to build warnings. As a replacement, Apple encourages developers to migrate to its own (stable) CommonCrypto facility. In the Makefile we seem to have this: # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X # and do not want to use Apple's CommonCrypto library. This allows you # to provide your own OpenSSL library, for example from MacPorts. which makes it sound like using APPLE_COMMON_CRYPTO is the default for Mac. Perhaps those who do want to use CommonCrypto to avoid warnings should not define that macro? It's been a long time [1] since I looked at it, but I believe that David's CommonCrypto patch series only replaced OpenSSL calls for which Apple had provided CommonCrypto replacements. If my memory is correct, there were still plenty of OpenSSL deprecations warnings remaining after his patches (the warnings which started this thread) even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches reduced the number of warnings but did not fully eliminate them. Checking again, it still seems to be the case that Apple neglects to provide CommonCrypto replacements for these OpenSSL functions which Apple itself deprecated. [1]: http://thread.gmane.org/gmane.comp.version-control.git/224833 Apologies, accidentally sent this from inbox the first time. If there's actually no way to address this, is there a simple way to silence deprecation warnings only in this file? I only ask because overall the git build seems to be extremely quiet, and it seems valuable to preserve that, so that warnings we want to act on stick out. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Deprecation warnings under XCode
I have no idea whether this should concern anyone, but my mac build of git shows CC imap-send.o imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] fprintf(stderr, %s: %s\n, func, ERR_error_string(ERR_get_error(), NULL)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/err.h:279:7: note: 'ERR_error_string' has been explicitly marked deprecated here char *ERR_error_string(unsigned long e,char *buf) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; ^ imap-send.c:183:53: warning: 'ERR_get_error' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] fprintf(stderr, %s: %s\n, func, ERR_error_string(ERR_get_error(), NULL)); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/err.h:266:15: note: 'ERR_get_error' has been explicitly marked deprecated here unsigned long ERR_get_error(void) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; ^ imap-send.c:191:16: warning: 'SSL_get_error' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] int sslerr = SSL_get_error(sock-ssl, ret); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1506:5: note: 'SSL_get_error' has been explicitly marked deprecated here int SSL_get_error(const SSL *s,int ret_code) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; ^ imap-send.c:243:24: warning: 'X509_get_ext_d2i' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] if ((subj_alt_names = X509_get_ext_d2i(cert, NID_subject_alt_name, NULL, NULL))) { ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/x509.h:1151:8: note: 'X509_get_ext_d2i' has been explicitly marked deprecated here void* X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; ^ imap-send.c:244:28: warning: 'sk_num' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] int num_subj_alt_names = sk_GENERAL_NAME_num(subj_alt_names); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:684:33: note: expanded from macro 'sk_GENERAL_NAME_num' #define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st)) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:168:2: note: expanded from macro 'SKM_sk_num' sk_num(st) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/stack.h:81:5: note: 'sk_num' has been explicitly marked deprecated here int sk_num(const STACK *) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; ^ imap-send.c:246:34: warning: 'sk_value' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] GENERAL_NAME *subj_alt_name = sk_GENERAL_NAME_value(subj_alt_names, i); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:685:38: note: expanded from macro 'sk_GENERAL_NAME_value' #define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i)) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:170:11: note: expanded from macro 'SKM_sk_value' ((type *)sk_value(st, i)) ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/stack.h:82:7: note: 'sk_value' has been explicitly marked deprecated here char *sk_value(const STACK *, int) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER; ^ imap-send.c:252:3: warning: 'sk_pop_free' is deprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations] sk_GENERAL_NAME_pop_free(subj_alt_names, GENERAL_NAME_free); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:697:49: note: expanded from macro 'sk_GENERAL_NAME_pop_free' #define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func)) ^
Re: [PATCH v2] allow TTY tests to run under recent Mac OS
My understanding is that and || have equal precedence, and this seems to be borne out in testing at my shell. If the if/then method is clearer I'm happy to go with that. On Fri, Nov 14, 2014 at 11:23 AM, Johannes Sixt j...@kdbg.org wrote: Am 13.11.2014 um 23:40 schrieb Mike Blume: listed bug doesn't reproduce on Mac OS Yosemite. For now, just enable TTY on Yosemite and higher Signed-off-by: Mike Blume blume.m...@gmail.com Improved-by: Junio C Hamano gits...@pobox.com --- t/lib-terminal.sh | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh index 5184549..6395a34 100644 --- a/t/lib-terminal.sh +++ b/t/lib-terminal.sh @@ -29,7 +29,10 @@ test_lazy_prereq TTY ' # After 2000 iterations or so it hangs. # https://rt.cpan.org/Ticket/Display.html?id=65692 # - test $(uname -s) != Darwin + # Under Mac OS X 10.10.1 and Perl 5.18.2, this problem + # appears to be gone. + # + test $(uname -s) != Darwin || test $(uname -r | cut -d. -f1) -ge 14 This is part of an -chain; you can't just throw in a || in the middle. How about if test $(uname -s) = Darwin then test $(uname -r | cut -d. -f1) -ge 14 fi perl $TEST_DIRECTORY/test-terminal.perl \ sh -c test -t 1 test -t 2 -- Hannes -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH v2] allow TTY tests to run under recent Mac OS
Right, I missed that there was more going on above, thanks =) On Fri, Nov 14, 2014 at 12:02 PM, Jeff King p...@peff.net wrote: On Fri, Nov 14, 2014 at 11:48:36AM -0800, Michael Blume wrote: My understanding is that and || have equal precedence, and this seems to be borne out in testing at my shell. If the if/then method is clearer I'm happy to go with that. I think the problem is that there are earlier parts of the chain. It currently looks like: foo bar do_something but you are making it: foo bar || baz do_something which will do_something whether or not foo is true. You need to put your || at a lower precedence than the rest of the chain. The if that Johannes mentioned works, though I think test_have_prereq PERL { test $(uname -s) != Darwin || test $(uname -r | cut -d. -f1) -ge 13 } ... is more obvious to read (but that's subjective, of course). -Peff -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] allow TTY tests to run under recent Mac OS
ah, sorry, didn't realize those were bash-only On Thu, Nov 13, 2014 at 2:21 PM, Junio C Hamano gits...@pobox.com wrote: Mike Blume blume.m...@gmail.com writes: listed bug doesn't reproduce on Mac OS Yosemite. For now, just enable TTY on Yosemite and higher Signed-off-by: Mike Blume blume.m...@gmail.com --- t/lib-terminal.sh | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/t/lib-terminal.sh b/t/lib-terminal.sh index 5184549..1311ce0 100644 --- a/t/lib-terminal.sh +++ b/t/lib-terminal.sh @@ -29,7 +29,10 @@ test_lazy_prereq TTY ' # After 2000 iterations or so it hangs. # https://rt.cpan.org/Ticket/Display.html?id=65692 # - test $(uname -s) != Darwin + # Under Mac OS X 10.10.1 and Perl 5.18.2, this problem + # appears to be gone. + # + [[ test $(uname -s) != Darwin || test $(uname -r | cut -d. -f1) -ge 14 ]] This is designed to be a plain vanilla POSIX shell script. Please avoid these double brackets. perl $TEST_DIRECTORY/test-terminal.perl \ sh -c test -t 1 test -t 2 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
mac test failure -- 2gb clone
This is in pu, haven't checked if it's also in master, this is the first time I've run this test $ GIT_TEST_CLONE_2GB=t ./t5705-clone-2gb.sh -v Initialized empty Git repository in /Users/michael.blume/workspace/git/t/trash directory.t5705-clone-2gb/.git/ expecting success: git config pack.compression 0 git config pack.depth 0 blobsize=$((100*1024*1024)) blobcount=$((2*1024*1024*1024/$blobsize+1)) i=1 (while test $i -le $blobcount do printf Generating blob $i/$blobcount\r 2 printf blob\nmark :$i\ndata $blobsize\n #test-genrandom $i $blobsize printf %-${blobsize}s $i echo M 100644 :$i $i commit i=$(($i+1)) || echo $? exit-status done echo commit refs/heads/master echo author A U Thor aut...@email.com 123456789 + echo committer C O Mitter commit...@email.com 123456789 + echo data 5 echo 2gb cat commit) | git fast-import --big-file-threshold=2 test ! -f exit-status git-fast-import statistics: - Alloc'd objects: 5000 Total objects: 23 ( 0 duplicates ) blobs : 21 ( 0 duplicates 0 deltas of 0 attempts) trees :1 ( 0 duplicates 0 deltas of 0 attempts) commits:1 ( 0 duplicates 0 deltas of 0 attempts) tags :0 ( 0 duplicates 0 deltas of 0 attempts) Total branches: 1 ( 1 loads ) marks: 1024 (21 unique) atoms: 21 Memory total: 2344 KiB pools: 2110 KiB objects: 234 KiB - pack_report: getpagesize()= 4096 pack_report: core.packedGitWindowSize = 1073741824 pack_report: core.packedGitLimit = 8589934592 pack_report: pack_used_ctr= 2 pack_report: pack_mmap_calls = 1 pack_report: pack_open_windows= 1 / 1 pack_report: pack_mapped = 54863024 / 54863024 - ok 1 - setup expecting success: git clone --bare --no-hardlinks . clone-bare Cloning into bare repository 'clone-bare'... done. ok 2 - clone - bare expecting success: git clone file://. clone-wt Cloning into 'clone-wt'... fatal: No path specified. See 'man git-pull' for valid url syntax not ok 3 - clone - with worktree, file:// protocol # # # git clone file://. clone-wt # # # failed 1 among 3 test(s) 1..3 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: mac test failure -- 2gb clone
Confirmed exists on master On Wed, Nov 12, 2014 at 1:57 PM, Michael Blume blume.m...@gmail.com wrote: This is in pu, haven't checked if it's also in master, this is the first time I've run this test $ GIT_TEST_CLONE_2GB=t ./t5705-clone-2gb.sh -v Initialized empty Git repository in /Users/michael.blume/workspace/git/t/trash directory.t5705-clone-2gb/.git/ expecting success: git config pack.compression 0 git config pack.depth 0 blobsize=$((100*1024*1024)) blobcount=$((2*1024*1024*1024/$blobsize+1)) i=1 (while test $i -le $blobcount do printf Generating blob $i/$blobcount\r 2 printf blob\nmark :$i\ndata $blobsize\n #test-genrandom $i $blobsize printf %-${blobsize}s $i echo M 100644 :$i $i commit i=$(($i+1)) || echo $? exit-status done echo commit refs/heads/master echo author A U Thor aut...@email.com 123456789 + echo committer C O Mitter commit...@email.com 123456789 + echo data 5 echo 2gb cat commit) | git fast-import --big-file-threshold=2 test ! -f exit-status git-fast-import statistics: - Alloc'd objects: 5000 Total objects: 23 ( 0 duplicates ) blobs : 21 ( 0 duplicates 0 deltas of 0 attempts) trees :1 ( 0 duplicates 0 deltas of 0 attempts) commits:1 ( 0 duplicates 0 deltas of 0 attempts) tags :0 ( 0 duplicates 0 deltas of 0 attempts) Total branches: 1 ( 1 loads ) marks: 1024 (21 unique) atoms: 21 Memory total: 2344 KiB pools: 2110 KiB objects: 234 KiB - pack_report: getpagesize()= 4096 pack_report: core.packedGitWindowSize = 1073741824 pack_report: core.packedGitLimit = 8589934592 pack_report: pack_used_ctr= 2 pack_report: pack_mmap_calls = 1 pack_report: pack_open_windows= 1 / 1 pack_report: pack_mapped = 54863024 / 54863024 - ok 1 - setup expecting success: git clone --bare --no-hardlinks . clone-bare Cloning into bare repository 'clone-bare'... done. ok 2 - clone - bare expecting success: git clone file://. clone-wt Cloning into 'clone-wt'... fatal: No path specified. See 'man git-pull' for valid url syntax not ok 3 - clone - with worktree, file:// protocol # # # git clone file://. clone-wt # # # failed 1 among 3 test(s) 1..3 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
TTY tests are unnecessarily suppressed under Mac OS
From lib_terminal.sh: # Reading from the pty master seems to get stuck _sometimes_ # on Mac OS X 10.5.0, using Perl 5.10.0 or 5.8.9. # # Reproduction recipe: run # # i=0 # while ./test-terminal.perl echo hi $i # do # : $((i = $i + 1)) # done # # After 2000 iterations or so it hangs. # https://rt.cpan.org/Ticket/Display.html?id=65692 # test $(uname -s) != Darwin I tried the reproduction recipe on my mac and couldn't reproduce, so it may make sense to take this switch out? In any case, I've set my automated mac build to include TTY tests -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
mac test failure -- test 3301
the commit modernizing test 3301 (https://github.com/git/git/commit/fbe4f74865acfd) appears to break it on my mac Verbose output follows: $ ./t3301-notes.sh -v Initialized empty Git repository in /Users/michael.blume/workspace/git/t/trash directory.t3301-notes/.git/ expecting success: test_must_fail env MSG=3 git notes add fatal: Failed to resolve 'HEAD' as a valid ref. ok 1 - cannot annotate non-existing HEAD expecting success: test_commit 1st test_commit 2nd [master (root-commit) 04ed9a0] 1st Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 1st.t [master 7a4ca6e] 2nd Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 2nd.t ok 2 - setup expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=/ git notes show test_must_fail env MSG=2 GIT_NOTES_REF=/ git notes show fatal: Refusing to show notes in / (outside of refs/notes/) fatal: Refusing to show notes in / (outside of refs/notes/) ok 3 - need valid notes ref expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes add fatal: Refusing to add notes in refs/heads/bogus (outside of refs/notes/) ok 4 - refusing to add notes in refs/heads/ expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes edit fatal: Refusing to edit notes in refs/heads/bogus (outside of refs/notes/) ok 5 - refusing to edit notes in refs/remotes/ expecting success: test_expect_code 1 git notes show error: No note found for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. ok 6 - handle empty notes gracefully expecting success: test_write_lines A B expect git show -s --format=A%n%NB output test_cmp expect output ok 7 - show non-existent notes entry with %N expecting success: MSG=b4 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b4 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b4 not ok 8 - create notes # # MSG=b4 git notes add # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b4 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: test_write_lines A b4 B expect git show -s --format=A%n%NB output test_cmp expect output ok 9 - show notes entry with %N expecting success: cat -EOF expect a1d8fa6 refs/notes/commits@{0}: notes: Notes added by 'git notes add' EOF git reflog show refs/notes/commits output test_cmp expect output ok 10 - create reflog entry expecting success: MSG=b3 git notes edit test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b3 not ok 11 - edit existing notes # # MSG=b3 git notes edit # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b3 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: test_must_fail git notes add -m b2 test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ error: Cannot add notes. Found existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. Use '-f' to overwrite existing notes not ok 12 - cannot git notes add -m where notes already exists # # test_must_fail git notes add -m b2 # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b3 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: git notes add -f -m b1 test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b1 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ Overwriting existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691 not ok 13 - can overwrite existing note with git notes add -f -m # # git notes add -f -m b1 # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b1 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: MSG=b2 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b2 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b2 not ok 14 - add w/no options on existing note morphs into edit # # MSG=b2 git notes add # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b2 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: MSG=b1 git notes add -f test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b1 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ Overwriting existing
Re: mac test failure -- test 3301
(to be clear: I ran git bisect, and traced the problem to the modernize commit) On Mon, Nov 10, 2014 at 4:17 PM, Michael Blume blume.m...@gmail.com wrote: the commit modernizing test 3301 (https://github.com/git/git/commit/fbe4f74865acfd) appears to break it on my mac Verbose output follows: $ ./t3301-notes.sh -v Initialized empty Git repository in /Users/michael.blume/workspace/git/t/trash directory.t3301-notes/.git/ expecting success: test_must_fail env MSG=3 git notes add fatal: Failed to resolve 'HEAD' as a valid ref. ok 1 - cannot annotate non-existing HEAD expecting success: test_commit 1st test_commit 2nd [master (root-commit) 04ed9a0] 1st Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 1st.t [master 7a4ca6e] 2nd Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 2nd.t ok 2 - setup expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=/ git notes show test_must_fail env MSG=2 GIT_NOTES_REF=/ git notes show fatal: Refusing to show notes in / (outside of refs/notes/) fatal: Refusing to show notes in / (outside of refs/notes/) ok 3 - need valid notes ref expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes add fatal: Refusing to add notes in refs/heads/bogus (outside of refs/notes/) ok 4 - refusing to add notes in refs/heads/ expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes edit fatal: Refusing to edit notes in refs/heads/bogus (outside of refs/notes/) ok 5 - refusing to edit notes in refs/remotes/ expecting success: test_expect_code 1 git notes show error: No note found for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. ok 6 - handle empty notes gracefully expecting success: test_write_lines A B expect git show -s --format=A%n%NB output test_cmp expect output ok 7 - show non-existent notes entry with %N expecting success: MSG=b4 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b4 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b4 not ok 8 - create notes # # MSG=b4 git notes add # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b4 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: test_write_lines A b4 B expect git show -s --format=A%n%NB output test_cmp expect output ok 9 - show notes entry with %N expecting success: cat -EOF expect a1d8fa6 refs/notes/commits@{0}: notes: Notes added by 'git notes add' EOF git reflog show refs/notes/commits output test_cmp expect output ok 10 - create reflog entry expecting success: MSG=b3 git notes edit test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b3 not ok 11 - edit existing notes # # MSG=b3 git notes edit # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b3 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: test_must_fail git notes add -m b2 test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ error: Cannot add notes. Found existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. Use '-f' to overwrite existing notes not ok 12 - cannot git notes add -m where notes already exists # # test_must_fail git notes add -m b2 # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b3 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: git notes add -f -m b1 test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b1 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ Overwriting existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691 not ok 13 - can overwrite existing note with git notes add -f -m # # git notes add -f -m b1 # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b1 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: MSG=b2 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b2 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b2 not ok 14 - add w/no options on existing note morphs into edit # # MSG=b2 git notes add # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b2 = $(git notes show
Re: mac test failure -- test 3301
my first thought was that this might be a bash versioning issue, since the commit in question basically refactors the script, and macs ship with an archaic version of bash, but I have the same problem with bash 4.3.30 On Mon, Nov 10, 2014 at 4:23 PM, Michael Blume blume.m...@gmail.com wrote: (to be clear: I ran git bisect, and traced the problem to the modernize commit) On Mon, Nov 10, 2014 at 4:17 PM, Michael Blume blume.m...@gmail.com wrote: the commit modernizing test 3301 (https://github.com/git/git/commit/fbe4f74865acfd) appears to break it on my mac Verbose output follows: $ ./t3301-notes.sh -v Initialized empty Git repository in /Users/michael.blume/workspace/git/t/trash directory.t3301-notes/.git/ expecting success: test_must_fail env MSG=3 git notes add fatal: Failed to resolve 'HEAD' as a valid ref. ok 1 - cannot annotate non-existing HEAD expecting success: test_commit 1st test_commit 2nd [master (root-commit) 04ed9a0] 1st Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 1st.t [master 7a4ca6e] 2nd Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+) create mode 100644 2nd.t ok 2 - setup expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=/ git notes show test_must_fail env MSG=2 GIT_NOTES_REF=/ git notes show fatal: Refusing to show notes in / (outside of refs/notes/) fatal: Refusing to show notes in / (outside of refs/notes/) ok 3 - need valid notes ref expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes add fatal: Refusing to add notes in refs/heads/bogus (outside of refs/notes/) ok 4 - refusing to add notes in refs/heads/ expecting success: test_must_fail env MSG=1 GIT_NOTES_REF=refs/heads/bogus git notes edit fatal: Refusing to edit notes in refs/heads/bogus (outside of refs/notes/) ok 5 - refusing to edit notes in refs/remotes/ expecting success: test_expect_code 1 git notes show error: No note found for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. ok 6 - handle empty notes gracefully expecting success: test_write_lines A B expect git show -s --format=A%n%NB output test_cmp expect output ok 7 - show non-existent notes entry with %N expecting success: MSG=b4 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b4 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b4 not ok 8 - create notes # # MSG=b4 git notes add # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b4 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: test_write_lines A b4 B expect git show -s --format=A%n%NB output test_cmp expect output ok 9 - show notes entry with %N expecting success: cat -EOF expect a1d8fa6 refs/notes/commits@{0}: notes: Notes added by 'git notes add' EOF git reflog show refs/notes/commits output test_cmp expect output ok 10 - create reflog entry expecting success: MSG=b3 git notes edit test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b3 not ok 11 - edit existing notes # # MSG=b3 git notes edit # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b3 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: test_must_fail git notes add -m b2 test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ error: Cannot add notes. Found existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691. Use '-f' to overwrite existing notes not ok 12 - cannot git notes add -m where notes already exists # # test_must_fail git notes add -m b2 # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b3 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: git notes add -f -m b1 test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b1 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ Overwriting existing notes for object 7a4ca6ee52a974a66cbaa78e33214535dff1d691 not ok 13 - can overwrite existing note with git notes add -f -m # # git notes add -f -m b1 # test_path_is_missing .git/NOTES_EDITMSG # test 1 = $(git ls-tree refs/notes/commits | wc -l) # test b1 = $(git notes show) # git show HEAD^ # test_must_fail git notes show HEAD^ # expecting success: MSG=b2 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b2
Re: mac test failure -- test 3301
If quoting is generally preferred as a best practice, we could force wc to behave more consistently before we start testing diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh index 0d93e33..57ed608 100644 --- a/t/test-lib-functions.sh +++ b/t/test-lib-functions.sh @@ -515,6 +515,14 @@ test_path_is_missing () { fi } +# Some platforms disagree about wc output format. + +SYS_WC=$(which wc) + +wc () { + $SYS_WC $@ | sed -e 's/^ *//' -e 's/ *$//' +} + # test_line_count checks that a file has the number of lines it # ought to. For example: # On Mon, Nov 10, 2014 at 5:40 PM, Johan Herland jo...@herland.net wrote: On Tue, Nov 11, 2014 at 2:19 AM, Eric Sunshine sunsh...@sunshineco.com wrote: On Mon, Nov 10, 2014 at 7:17 PM, Michael Blume blume.m...@gmail.com wrote: the commit modernizing test 3301 (https://github.com/git/git/commit/fbe4f74865acfd) appears to break it on my mac $ ./t3301-notes.sh -v expecting success: MSG=b4 git notes add test_path_is_missing .git/NOTES_EDITMSG test 1 = $(git ls-tree refs/notes/commits | wc -l) test b4 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ b4 not ok 8 - create notes This and all other failures are due to the output of 'wc -l', which on Mac is {whitespace}1 rather than just 1 as it is on other platforms. fbe4f748 added quotes around the $(... | wc -l) invocation which caused the whitespace to be retained. A minimum fix would be to drop the quotes surrounding $(). Ah, thanks! I thought that quoting command output was a good idea in general. Am I wrong, or is this just one exception to an otherwise good guideline? Anyway, here is the minimal diff to remove quoting from the $(... | wc -l) commands (probably whitespace damaged by GMail - sorry). Junio: feel free to squash this in, or ask for a re-roll: diff --git a/t/t3301-notes.sh b/t/t3301-notes.sh index cd756ec..2c8abbc 100755 --- a/t/t3301-notes.sh +++ b/t/t3301-notes.sh @@ -52,7 +52,7 @@ test_expect_success 'show non-existent notes entry with %N' ' test_expect_success 'create notes' ' MSG=b4 git notes add test_path_is_missing .git/NOTES_EDITMSG -test 1 = $(git ls-tree refs/notes/commits | wc -l) +test 1 = $(git ls-tree refs/notes/commits | wc -l) test b4 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ @@ -75,7 +75,7 @@ test_expect_success 'create reflog entry' ' test_expect_success 'edit existing notes' ' MSG=b3 git notes edit test_path_is_missing .git/NOTES_EDITMSG -test 1 = $(git ls-tree refs/notes/commits | wc -l) +test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ @@ -84,7 +84,7 @@ test_expect_success 'edit existing notes' ' test_expect_success 'cannot git notes add -m where notes already exists' ' test_must_fail git notes add -m b2 test_path_is_missing .git/NOTES_EDITMSG -test 1 = $(git ls-tree refs/notes/commits | wc -l) +test 1 = $(git ls-tree refs/notes/commits | wc -l) test b3 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ @@ -93,7 +93,7 @@ test_expect_success 'cannot git notes add -m where notes already exists' ' test_expect_success 'can overwrite existing note with git notes add -f -m' ' git notes add -f -m b1 test_path_is_missing .git/NOTES_EDITMSG -test 1 = $(git ls-tree refs/notes/commits | wc -l) +test 1 = $(git ls-tree refs/notes/commits | wc -l) test b1 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ @@ -102,7 +102,7 @@ test_expect_success 'can overwrite existing note with git notes add -f -m' ' test_expect_success 'add w/no options on existing note morphs into edit' ' MSG=b2 git notes add test_path_is_missing .git/NOTES_EDITMSG -test 1 = $(git ls-tree refs/notes/commits | wc -l) +test 1 = $(git ls-tree refs/notes/commits | wc -l) test b2 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ @@ -111,7 +111,7 @@ test_expect_success 'add w/no options on existing note morphs into edit' ' test_expect_success 'can overwrite existing note with git notes add -f' ' MSG=b1 git notes add -f test_path_is_missing .git/NOTES_EDITMSG -test 1 = $(git ls-tree refs/notes/commits | wc -l) +test 1 = $(git ls-tree refs/notes/commits | wc -l) test b1 = $(git notes show) git show HEAD^ test_must_fail git notes show HEAD^ ...Johan -- Johan Herland, jo...@herland.net www.herland.net -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] t1410: fix breakage on case-insensitive filesystems
Works for me, thanks =) I'm curious now, is there an automated build of git running on a mac anywhere? There's a mac mini running jenkins in my office and it's possible I could convince someone to let me set up a git build that'll e-mail me if there's a test failure. On Sat, Nov 8, 2014 at 5:59 PM, Jeff King p...@peff.net wrote: On Sat, Nov 08, 2014 at 08:43:54PM -0500, Jeff King wrote: Unfortunately I don't have an OS X install handy to test on. I lied; it turns out I still had access to an old VM. The problem did turn out to be rather silly. Here's a patch. -- 8 -- Two tests recently added to t1410 create branches a and a/b to test d/f conflicts on reflogs. Earlier, unrelated tests in that script create the path A/B in the working tree. There's no conflict on a case-sensitive filesystem, but on a case-insensitive one, git log will complain that a/b is both a revision and a working tree path. We could fix this by using a -- to disambiguate, but we are probably better off using names that are less confusing to make it more clear that they are unrelated to the working tree files. This patch turns a/b into one/two. Reported-by: Michael Blume blume.m...@gmail.com Signed-off-by: Jeff King p...@peff.net --- The line-diff is hard to read, but if anyone was looking for a chance to test-drive contrib/diff-highlight, it does a good job of making the change easy to see. t/t1410-reflog.sh | 36 ++-- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/t/t1410-reflog.sh b/t/t1410-reflog.sh index 976c1d4..8cf4461 100755 --- a/t/t1410-reflog.sh +++ b/t/t1410-reflog.sh @@ -254,36 +254,36 @@ test_expect_success 'checkout should not delete log for packed ref' ' ' test_expect_success 'stale dirs do not cause d/f conflicts (reflogs on)' ' - test_when_finished git branch -d a || git branch -d a/b + test_when_finished git branch -d one || git branch -d one/two - git branch a/b master - echo a/b@{0} branch: Created from master expect - git log -g --format=%gd %gs a/b actual + git branch one/two master + echo one/two@{0} branch: Created from master expect + git log -g --format=%gd %gs one/two actual test_cmp expect actual - git branch -d a/b + git branch -d one/two - # now logs/refs/heads/a is a stale directory, but - # we should move it out of the way to create a reflog - git branch a master - echo a@{0} branch: Created from master expect - git log -g --format=%gd %gs a actual + # now logs/refs/heads/one is a stale directory, but + # we should move it out of the way to create one reflog + git branch one master + echo one@{0} branch: Created from master expect + git log -g --format=%gd %gs one actual test_cmp expect actual ' test_expect_success 'stale dirs do not cause d/f conflicts (reflogs off)' ' - test_when_finished git branch -d a || git branch -d a/b + test_when_finished git branch -d one || git branch -d one/two - git branch a/b master - echo a/b@{0} branch: Created from master expect - git log -g --format=%gd %gs a/b actual + git branch one/two master + echo one/two@{0} branch: Created from master expect + git log -g --format=%gd %gs one/two actual test_cmp expect actual - git branch -d a/b + git branch -d one/two - # same as before, but we only create a reflog for a if + # same as before, but we only create a reflog for one if # it already exists, which it does not - git -c core.logallrefupdates=false branch a master + git -c core.logallrefupdates=false branch one master : expect - git log -g --format=%gd %gs a actual + git log -g --format=%gd %gs one actual test_cmp expect actual ' -- 2.1.2.596.g7379948 -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] t1410: fix breakage on case-insensitive filesystems
Actually I have a build break in pu on my mac right now. Seems to build fine in ubuntu, but: progress.c:66:15: error: use of undeclared identifier 'CLOCK_MONOTONIC' timer_create(CLOCK_MONOTONIC, sev, progress_timer); ^ ./git-compat-util.h:233:54: note: expanded from macro 'timer_create' #define timer_create(clockid, sevp, timerp) ((void) (clockid), (void) (s... ^ progress.c:71:2: warning: incompatible pointer to integer conversion assigning to '__darwin_time_t' (aka 'long') from '__darwin_time_t *' (aka 'long *'); remove [-Wint-conversion] timer_settime(progress_timer, 0, value, NULL); ^~ ./git-compat-util.h:242:29: note: expanded from macro 'timer_settime' _ivalue.it_interval.tv_sec = value.it_interval.tv_sec; \ ^ progress.c:71:2: error: invalid operands to binary expression ('long *' and 'long') timer_settime(progress_timer, 0, value, NULL); ^~ ./git-compat-util.h:243:58: note: expanded from macro 'timer_settime' _ivalue.it_interval.tv_usec = value.it_interval.tv_nsec / 1000L;\ ~ ^ ~ progress.c:71:2: error: use of undeclared identifier '_ivalue_it_value' ./git-compat-util.h:245:2: note: expanded from macro 'timer_settime' _ivalue_it_value.tv_usec = value.it_value.tv_nsec / 1000L... ^ progress.c:71:2: error: invalid operands to binary expression ('long *' and 'long') timer_settime(progress_timer, 0, value, NULL); ^~ ./git-compat-util.h:245:52: note: expanded from macro 'timer_settime' _ivalue_it_value.tv_usec = value.it_value.tv_nsec / 1000L; \ ~~ ^ ~ progress.c:71:35: warning: expression result unused [-Wunused-value] timer_settime(progress_timer, 0, value, NULL); ~^ ./git-compat-util.h:244:27: note: expanded from macro 'timer_settime' _ivalue.it_value.tv_sec value.it_value.tv_sec... ^ progress.c:74:1: error: expected 'while' in do/while loop static void clear_progress_signal(void) ^ progress.c:71:2: note: to match this 'do' timer_settime(progress_timer, 0, value, NULL); ^ ./git-compat-util.h:240:52: note: expanded from macro 'timer_settime' ...flags, value, ovalue) do { \ ^ progress.c:264:2: error: expected '}' } ^ progress.c:50:1: note: to match this '{' { ^ 2 warnings and 6 errors generated. make: *** [progress.o] Error 1 On Sun, Nov 9, 2014 at 12:04 PM, Torsten Bögershausen tbo...@web.de wrote: On 09.11.14 18:34, Michael Blume wrote: Works for me, thanks =) I'm curious now, is there an automated build of git running on a mac anywhere? There's a mac mini running jenkins in my office and it's possible I could convince someone to let me set up a git build that'll e-mail me if there's a test failure. The basic idea is to run make clean git fetch git.git git checkout git.git/pu make -k test (and pipe stdlog+stdout into a file) I have a script here doing that, if you want, I can send it to you -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH] t1410: fix breakage on case-insensitive filesystems
resolved # # git log -1 -p --remerge-diff benign output # clean_output output actual # test_cmp expected actual # expecting success: git log -1 --remerge-diff -p evil output clean_output output actual test_cmp expected actual --- expected 2014-11-10 02:43:34.0 + +++ actual 2014-11-10 02:43:34.0 + @@ -1,12 +1,12 @@ commit evil -Merge: +Merge: a3cd1bc 61d2ae1 Author: A U Thor aut...@example.com -Date: +Date: Thu Apr 7 15:18:13 2005 -0700 M2 diff --git a/file b/file -index +index cc073fb..0835e4f 100644 --- a/file +++ b/file @@ -1,5 +1 @@ not ok 4 - evil merge: changes ignored # # git log -1 --remerge-diff -p evil output # clean_output output actual # test_cmp expected actual # expecting success: git log -1 --remerge-diff -p dm output clean_output output actual test_cmp expected actual --- expected 2014-11-10 02:43:34.0 + +++ actual 2014-11-10 02:43:34.0 + @@ -1,12 +1,12 @@ commit dm -Merge: +Merge: 61d2ae1 63d1471 Author: A U Thor aut...@example.com -Date: +Date: Thu Apr 7 15:19:13 2005 -0700 M3 diff --git a/file b/file -index +index dd79d22..2ab19ae 100644 --- a/file +++ b/file @@ -1,4 +1 @@ not ok 5 - delete/modify conflict # # git log -1 --remerge-diff -p dm output # clean_output output actual # test_cmp expected actual # expecting success: git log -1 --remerge-diff -p dirfile output clean_output output actual test_cmp expected actual --- expected 2014-11-10 02:43:35.0 + +++ actual 2014-11-10 02:43:35.0 + @@ -1,12 +1,12 @@ commit dirfile -Merge: +Merge: 8ac24b8 36416b6 Author: A U Thor aut...@example.com -Date: +Date: Thu Apr 7 15:24:13 2005 -0700 M5 diff --git a/sub/file b/sub/file -index +index 0d2ecd7..2ab19ae 100644 --- a/sub/file +++ b/sub/file @@ -1 +1 @@ @@ -14,7 +14,7 @@ +resolved diff --git a/sub~tags/file b/sub~tags/file deleted file mode 100644 -index +index f73f309..000 --- a/sub~tags/file +++ /dev/null @@ -1 +0,0 @@ not ok 6 - file/directory conflict resulting in directory # # git log -1 --remerge-diff -p dirfile output # clean_output output actual # test_cmp expected actual # checking known breakage: git log -1 --remerge-diff -p filedir output clean_output output actual test_cmp expected actual --- expected 2014-11-10 02:43:35.0 + +++ actual 2014-11-10 02:43:35.0 + @@ -1,21 +1,28 @@ commit filedir -Merge: +Merge: 36416b6 8ac24b8 Author: A U Thor aut...@example.com -Date: +Date: Thu Apr 7 15:25:13 2005 -0700 M6 diff --git a/sub b/sub -index a/sub +new file mode 100644 +index 000..2ab19ae +--- /dev/null +++ b/sub -@@ -1 +1 @@ --file +@@ -0,0 +1 @@ +resolved diff --git a/sub/file b/sub/file deleted file mode 100644 -index +index 0d2ecd7..000 --- a/sub/file +++ /dev/null @@ -1 +0,0 @@ -dir +diff --git a/sub~tags/file b/sub~tags/file +deleted file mode 100644 +index f73f309..000 +--- a/sub~tags/file /dev/null +@@ -1 +0,0 @@ +-file not ok 7 - file/directory conflict resulting in file # TODO known breakage # still have 1 known breakage(s) # failed 4 among remaining 6 test(s) 1..7 On Sun, Nov 9, 2014 at 1:42 PM, Torsten Bögershausen tbo...@web.de wrote: On 2014-11-09 22.36, Michael Blume wrote: Actually I have a build break in pu on my mac right now. Seems to build fine in ubuntu, but: progress.c:66:15: error: use of undeclared identifier 'CLOCK_MONOTONIC' timer_create(CLOCK_MONOTONIC, sev, progress_timer); That is not an unkown issue. You need to revert one commit (this is my copy of pu from today) Revert use timer_settime() for new platforms This reverts commit 0950f08806208b4e3d0aff5f4f7d497637ba4cab. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Test failure
I'm on a macbook running a beta of Mac OS Yosemite 10.10.1. I've never been able to get GETTEXT to work so I have NO_GETTEXT=1 in my makefile, but other than that I'm using the master branch of the official github mirror. When I build and run tests I get [11:17][michael.blume@tcc-michael-4:~/workspace/git/t(master)]$ ./t1410-reflog.sh ok 1 - setup ok 2 - rewind ok 3 - corrupt and check ok 4 - reflog expire --dry-run should not touch reflog ok 5 - reflog expire ok 6 - prune and fsck ok 7 - recover and check ok 8 - delete ok 9 - rewind2 ok 10 - --expire=never ok 11 - gc.reflogexpire=never ok 12 - gc.reflogexpire=false ok 13 - checkout should not delete log for packed ref not ok 14 - stale dirs do not cause d/f conflicts (reflogs on) # # test_when_finished git branch -d a || git branch -d a/b # # git branch a/b master # echo a/b@{0} branch: Created from master expect # git log -g --format=%gd %gs a/b actual # test_cmp expect actual # git branch -d a/b # # # now logs/refs/heads/a is a stale directory, but # # we should move it out of the way to create a reflog # git branch a master # echo a@{0} branch: Created from master expect # git log -g --format=%gd %gs a actual # test_cmp expect actual # not ok 15 - stale dirs do not cause d/f conflicts (reflogs off) # # test_when_finished git branch -d a || git branch -d a/b # # git branch a/b master # echo a/b@{0} branch: Created from master expect # git log -g --format=%gd %gs a/b actual # test_cmp expect actual # git branch -d a/b # # # same as before, but we only create a reflog for a if # # it already exists, which it does not # git -c core.logallrefupdates=false branch a master # : expect # git log -g --format=%gd %gs a actual # test_cmp expect actual # # failed 2 among 15 test(s) (I get the same thing with 'make test' but this is me just running the problematic test) A quick search seems to indicate the test is pretty new? http://www.mail-archive.com/git@vger.kernel.org/msg60495.html Test passes in my ubuntu vm. -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: Test failure
$master_entry_count = 5 git reflog delete master@{1} git reflog show master output test $(($master_entry_count - 1)) = $(wc -l output) test $HEAD_entry_count = $(git reflog | wc -l) ! grep ox output master_entry_count=$(wc -l output) git reflog delete HEAD@{1} test $(($HEAD_entry_count -1)) = $(git reflog | wc -l) test $master_entry_count = $(git reflog show master | wc -l) HEAD_entry_count=$(git reflog | wc -l) git reflog delete master@{07.04.2005.15:15:00.-0700} git reflog show master output test $(($master_entry_count - 1)) = $(wc -l output) ! grep dragon output [master b60a214] rat Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+), 1 deletion(-) [master 9908ef9] ox Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+), 1 deletion(-) [master b93561f] tiger Author: A U Thor aut...@example.com 1 file changed, 1 insertion(+), 1 deletion(-) ok 8 - delete expecting success: test_tick git reset --hard HEAD~2 test_line_count = 4 .git/logs/refs/heads/master HEAD is now at b60a214 rat ok 9 - rewind2 expecting success: git reflog expire --verbose \ --expire=never \ --expire-unreachable=never \ --all test_line_count = 4 .git/logs/refs/heads/master keep commit (initial): rabbit keep commit: dragon keep commit: rat keep commit: tiger keep reset: moving to HEAD~2 keep commit (initial): rabbit keep commit: rat keep commit: tiger keep reset: moving to HEAD~2 ok 10 - --expire=never expecting success: git config gc.reflogexpire never git config gc.reflogexpireunreachable never git reflog expire --verbose --all test_line_count = 4 .git/logs/refs/heads/master keep commit (initial): rabbit keep commit: dragon keep commit: rat keep commit: tiger keep reset: moving to HEAD~2 keep commit (initial): rabbit keep commit: rat keep commit: tiger keep reset: moving to HEAD~2 ok 11 - gc.reflogexpire=never expecting success: git config gc.reflogexpire false git config gc.reflogexpireunreachable false git reflog expire --verbose --all test_line_count = 4 .git/logs/refs/heads/master git config --unset gc.reflogexpire git config --unset gc.reflogexpireunreachable keep commit (initial): rabbit keep commit: dragon keep commit: rat keep commit: tiger keep reset: moving to HEAD~2 keep commit (initial): rabbit keep commit: rat keep commit: tiger keep reset: moving to HEAD~2 ok 12 - gc.reflogexpire=false expecting success: test $(git reflog master | wc -l) = 4 git branch foo git pack-refs --all git checkout foo test $(git reflog master | wc -l) = 4 Switched to branch 'foo' ok 13 - checkout should not delete log for packed ref expecting success: test_when_finished git branch -d a || git branch -d a/b git branch a/b master echo a/b@{0} branch: Created from master expect git log -g --format=%gd %gs a/b actual test_cmp expect actual git branch -d a/b # now logs/refs/heads/a is a stale directory, but # we should move it out of the way to create a reflog git branch a master echo a@{0} branch: Created from master expect git log -g --format=%gd %gs a actual test_cmp expect actual fatal: ambiguous argument 'a/b': both revision and filename Use '--' to separate paths from revisions, like this: 'git command [revision...] -- [file...]' not ok 14 - stale dirs do not cause d/f conflicts (reflogs on) # # test_when_finished git branch -d a || git branch -d a/b # # git branch a/b master # echo a/b@{0} branch: Created from master expect # git log -g --format=%gd %gs a/b actual # test_cmp expect actual # git branch -d a/b # # # now logs/refs/heads/a is a stale directory, but # # we should move it out of the way to create a reflog # git branch a master # echo a@{0} branch: Created from master expect # git log -g --format=%gd %gs a actual # test_cmp expect actual # On Sat, Nov 8, 2014 at 5:43 PM, Jeff King p...@peff.net wrote: On Sat, Nov 08, 2014 at 11:28:32AM -0800, Michael Blume wrote: When I build and run tests I get [11:17][michael.blume@tcc-michael-4:~/workspace/git/t(master)]$ ./t1410-reflog.sh What does ./t1410-reflog.sh -v -i report? A quick search seems to indicate the test is pretty new? http://www.mail-archive.com/git@vger.kernel.org/msg60495.html Yes, it is new. In these cases there's often some silly little platform incompatibility in the test script, but I don't see one. So maybe the incompatibility is in the code itself; I'm wondering if OS X returns something besides EISDIR when trying to open a directory. Unfortunately I don't have an OS X install handy to test on. -Peff -- To unsubscribe from this list: send the line unsubscribe git in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html