{"thread":{"id":"27011","subject":"What's cooking in git.git (Apr 2011, #02; Wed, 6)","startedAt":"2011-04-06T20:04:40Z","lastAt":"2011-04-11T18:11:59Z","messageCount":7,"participants":["Junio C Hamano","Jeff King","Ævar Arnfjörð Bjarmason","Jens Lehmann"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"165309","messageId":"7v8vvni1t3.fsf@alter.siamese.dyndns.org","threadId":"27011","inReplyTo":null,"subject":"What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2011-04-06T20:04:40Z","receivedAt":"2011-04-06T20:04:40Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking.  Commits prefixed with '-' are\nonly in 'pu' while commits prefixed with '+' are in 'next'.\n\nThe tip of 'master' is at 1.7.5-rc1 now.\n\n--------------------------------------------------\n[New Topics]\n\n* dm/http-cleanup (2011-03-30) 2 commits\n - http-push: refactor curl_easy_setup madness\n - http: make curl callbacks match contracts from curl header\n\n* jc/pack-objects-bigfile (2011-04-05) 1 commit\n - Teach core.bigfilethreashold to pack-objects\n\n* jk/maint-stash-oob (2011-04-06) 2 commits\n - stash: fix false positive in the invalid ref test.\n - stash: fix accidental apply of non-existent stashes\n\n* nk/blame-abbrev (2011-04-06) 1 commit\n - blame: add --abbrev command line option and make it honor core.abbrev\n\n* nm/submodule-update-force (2011-04-01) 1 commit\n - submodule: Add --force option for git submodule update\n\n* jk/maint-upload-pack-shallow (2011-04-04) 1 commit\n - [REVISIT] upload-pack deadlock during a shallow clone\n\n* jk/stash-loosen-safety (2011-04-05) 1 commit\n - stash: drop dirty worktree check on apply\n\n--------------------------------------------------\n[Graduated to \"master\"]\n\n* jc/rev-list-options-fix (2011-04-01) 1 commit\n  (merged to 'next' on 2011-04-03 at 91f19de)\n + \"log --cherry-pick\" documentation regression fix\n\n* jk/maint-remote-mirror-safer (2011-03-30) 3 commits\n  (merged to 'next' on 2011-04-03 at ccc9c1a)\n + remote: deprecate --mirror\n + remote: separate the concept of push and fetch mirrors\n + remote: disallow some nonsensical option combinations\n\nThis avoids a nonsense configuration to be created to confuse unsuspecting\nusers.\n\n* jl/submodule-fetch-on-demand (2011-03-06) 7 commits\n  (merged to 'next' on 2011-03-20 at a5e452d)\n + fetch/pull: Describe --recurse-submodule restrictions in the BUGS section\n + submodule update: Don't fetch when the submodule commit is already present\n + fetch/pull: Don't recurse into a submodule when commits are already present\n + Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option\n + config: teach the fetch.recurseSubmodules option the 'on-demand' value\n + fetch/pull: Add the 'on-demand' value to the --recurse-submodules option\n + fetch/pull: recurse into submodules when necessary\n\n* mg/doc-revisions-txt (2011-04-04) 3 commits\n  (merged to 'next' on 2011-04-04 at ebf3612)\n + revisions.txt: language improvements\n + revisions.txt: structure with a labelled list\n + revisions.txt: consistent use of quotes\n\n* nm/maint-conflicted-submodule-entries (2011-03-30) 1 commit\n  (merged to 'next' on 2011-04-03 at 40c5094)\n + submodule: process conflicting submodules only once\n\n--------------------------------------------------\n[Stalled]\n\n* jh/gitweb-localtime (2011-03-23) 1 commit\n - gitweb: javascript ability to adjust time based on timezone\n\n* mg/show-without-prune (2011-04-01) 1 commit\n - builtin/show: do not prune by pathspec\n (this branch uses mg/reflog-with-options.)\n\nI wanted to like this, but it still feels like too much magic.\n\n* gr/cvsimport-alternative-cvspass-location (2011-02-18) 1 commit\n - Look for password in both CVS and CVSNT password files.\n\nIt seems that we need separate parsers for these two formats in order not\nto regress the users of the original cvs.\n\n* jc/index-pack (2011-02-25) 5 commits\n - index-pack --verify: read anomalous offsets from v2 idx file\n - write_idx_file: need_large_offset() helper function\n - index-pack: --verify\n - write_idx_file: introduce a struct to hold idx customization options\n - index-pack: group the delta-base array entries also by type\n\nStill a WIP, and will not be ready for 1.7.5. Need to put histogram output\ninto index-pack --verify to really kill verify-pack.\n\n* jk/tag-contains (2010-07-05) 4 commits\n - Why is \"git tag --contains\" so slow?\n - default core.clockskew variable to one day\n - limit \"contains\" traversals based on commit timestamp\n - tag: speed up --contains calculation\n\nThe idea of the bottom one is probably Ok, except that the use of object\nflags needs to be rethought, or at least the helper needs to be moved to\nbuiltin/tag.c to make it clear that it should not be used outside the\ncurrent usage context.\n\n--------------------------------------------------\n[Cooking]\n\n* dm/color-palette (2011-04-05) 1 commit\n  (merged to 'next' on 2011-04-04 at 0244ef9)\n + Share color list between graph and show-branch\n\n* mg/sha1-path-advise (2011-03-31) 2 commits\n  (merged to 'next' on 2011-04-04 at e429e0c)\n + sha1_name: Suggest commit:./file for path in subdir\n + t1506: factor out test for \"Did you mean...\"\n\n* ar/clean-rmdir-empty (2011-04-01) 1 commit\n  (merged to 'next' on 2011-04-03 at c63fac8)\n + clean: unreadable directory may still be rmdir-able if it is empty\n\n* jk/maint-push-async-hang (2011-03-31) 4 commits\n - send-pack: abort sideband demuxer on pack-objects error\n - run-command: allow aborting async code prematurely\n - finish_async: be quiet when waiting for async process\n - teach wait_or_whine a \"quiet\" mode\n (this branch is used by jk/maint-push-async-hang-threads.)\n\n* jk/maint-push-async-hang-threads (2011-03-31) 2 commits\n - run-command: implement abort_async for pthreads\n - Merge branch 'jk/maint-push-async-hang' into jk/maint-push-async-hang-threads\n (this branch uses jk/maint-push-async-hang.)\n\n* mg/reflog-with-options (2011-04-01) 3 commits\n  (merged to 'next' on 2011-04-03 at e69a95c)\n + reflog: fix overriding of command line options\n + t/t1411: test reflog with formats\n + builtin/log.c: separate default and setup of cmd_log_init()\n (this branch is used by mg/show-without-prune.)\n\nReasonable, but can wait.\n\n* mh/git-svn-automkdirs (2011-04-01) 1 commit\n  (merged to 'next' on 2011-04-03 at 7fa4978)\n + git-svn: add an option to skip the creation of empty directories\n\nShould be safe, but I'd like an Ack from git-svn folks.\n\n* jc/diff-irreversible-delete (2011-02-28) 1 commit\n  (merged to 'next' on 2011-04-03 at 5a23b23)\n + git diff -D: omit the preimage of deletes\n\nUnstuck, thanks to Michael J Gruber.\n\n* jh/notes-add-ui (2011-03-30) 1 commit\n - Make \"git notes add\" more user-friendly when there are existing notes\n\n* jk/notes-ui-updates (2011-03-30) 7 commits\n - log/pretty-options: Document --[no-]notes and deprecate old notes options\n - revision.c: make --no-notes reset --notes list\n - revision.c: support --notes command-line option\n - notes: refactor display notes default handling\n - notes: refactor display notes extra refs field\n - revision.c: refactor notes ref expansion\n - notes: make expand_notes_ref globally accessible\n\nI like what this does, but it probably can wait.\n\n* nd/maint-setup (2011-03-26) 2 commits\n  (merged to 'next' on 2011-03-31 at 2c36f6a)\n + Kill off get_relative_cwd()\n + setup: return correct prefix if worktree is '/'\n\nThis benefits only the minority who use /.git at the root level of the\nfilesystem, but the changed code is used from many codepaths; will not\nmerge before 1.7.5.\n\n* mz/rebase (2011-02-28) 34 commits\n  (merged to 'next' on 2011-03-31 at 3b1343c)\n + rebase: define options in OPTIONS_SPEC\n  (merged to 'next' on 2011-02-25 at 52caa7a)\n + Makefile: do not install sourced rebase scripts\n  (merged to 'next' on 2011-02-22 at 3219155)\n + rebase: use @{upstream} if no upstream specified\n + rebase -i: remove unnecessary state rebase-root\n + rebase -i: don't read unused variable preserve_merges\n + git-rebase--am: remove unnecessary --3way option\n + rebase -m: don't print exit code 2 when merge fails\n + rebase -m: remember allow_rerere_autoupdate option\n + rebase: remember strategy and strategy options\n + rebase: remember verbose option\n + rebase: extract code for writing basic state\n + rebase: factor out sub command handling\n + rebase: make -v a tiny bit more verbose\n + rebase -i: align variable names\n + rebase: show consistent conflict resolution hint\n + rebase: extract am code to new source file\n + rebase: extract merge code to new source file\n + rebase: remove $branch as synonym for $orig_head\n + rebase -i: support --stat\n + rebase: factor out call to pre-rebase hook\n + rebase: factor out clean work tree check\n + rebase: factor out reference parsing\n + rebase: reorder validation steps\n + rebase -i: remove now unnecessary directory checks\n + rebase: factor out command line option processing\n + rebase: align variable content\n + rebase: align variable names\n + rebase: stricter check of standalone sub command\n + rebase: act on command line outside parsing loop\n + rebase: improve detection of rebase in progress\n + rebase: remove unused rebase state 'prev_head'\n + rebase: read state outside loop\n + rebase: refactor reading of state\n + rebase: clearer names for directory variables\n\nI wanted to wait for an independent Ack or two for the tip one, which was\na response to regression concerns raised by J6t, but ended up merging it\nto 'next' after giving another look.  Will not merge before 1.7.5, as\nthere is no user visible improvements up to this point.\n\n* jk/maint-merge-rename-create (2011-03-25) 3 commits\n  (merged to 'next' on 2011-03-31 at b9bc9f1)\n + merge: turn on rewrite detection\n + merge: handle renames with replacement content\n + t3030: fix accidental success in symlink rename\n\n* mz/maint-rename-unmerged (2011-03-23) 1 commit\n  (merged to 'next' on 2011-03-31 at c7b3d9a)\n + diffcore-rename: don't consider unmerged path as source\n\nWill cook until 1.7.5 final.\n\n* nd/struct-pathspec (2011-04-05) 5 commits\n - pathspec: rename per-item field has_wildcard to use_wildcard\n  (merged to 'next' on 2011-03-31 at 66cbb7d)\n + Improve tree_entry_interesting() handling code\n + Convert read_tree{,_recursive} to support struct pathspec\n + Reimplement read_tree_recursive() using tree_entry_interesting()\n + Merge branch 'en/object-list-with-pathspec' into 'nd/struct-pathspec'\n\nWill cook until 1.7.5 final.\n\n* jc/add-u-migration (2011-03-22) 3 commits\n - add: make \"add -u/-A\" update full tree without pathspec (step 3)\n - add: make \"add -u/-A\" update full tree without pathspec (step 2)\n  (merged to 'next' on 2011-03-31 at 962e058)\n + add: make \"add -u/-A\" update full tree without pathspec\n\nNeed to redo the advice after the \"this is from root of the working tree\"\nmagic pathspec.\n\n* jc/rename-degrade-cc-to-c (2011-01-06) 4 commits\n  (merged to 'next' on 2011-03-31 at 8d685d7)\n + diffcore-rename: fall back to -C when -C -C busts the rename limit\n + diffcore-rename: record filepair for rename src\n + diffcore-rename: refactor \"too many candidates\" logic\n + builtin/diff.c: remove duplicated call to diff_result_code()\n\nWill hold.\n\n* cn/system-path-tweak (2011-03-17) 1 commit\n - system_path: use a static buffer\n\nDon't see much point in this itself. Probably will drop.\n\n* en/merge-recursive (2011-03-17) 4 commits\n  (merged to 'next' on 2011-03-18 at a32016b)\n + merge-recursive: tweak magic band-aid\n  (merged to 'next' on 2011-03-09 at 3762932)\n + merge-recursive: When we detect we can skip an update, actually skip it\n + t6022: New test checking for unnecessary updates of files in D/F conflicts\n + t6022: New test checking for unnecessary updates of renamed+modified files\n\nI am not happy with these magic band aids.  Will hold.\n"},{"id":"165317","messageId":"20110406214610.GC18481@sigill.intra.peff.net","threadId":"27011","inReplyTo":"7v8vvni1t3.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Jeff King","fromEmail":"peff@github.com","sentAt":"2011-04-06T21:46:11Z","receivedAt":"2011-04-06T21:46:11Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Wed, Apr 06, 2011 at 01:04:40PM -0700, Junio C Hamano wrote:\n\n> * jk/maint-merge-rename-create (2011-03-25) 3 commits\n>   (merged to 'next' on 2011-03-31 at b9bc9f1)\n>  + merge: turn on rewrite detection\n>  + merge: handle renames with replacement content\n>  + t3030: fix accidental success in symlink rename\n\nI think this was already your plan, but please hold off on merging this\nto master. I got an off-list bug report that the top commit breaks a\ncherry-pick on somebody's private repo, and I'm trying to track down the\nexact reason.\n\n-Peff\n"},{"id":"165563","messageId":"BANLkTinTVinnDLPnHGoF9DY97ky_MFiLAQ@mail.gmail.com","threadId":"27011","inReplyTo":"7v8vvni1t3.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-10T18:52:09Z","receivedAt":"2011-04-10T18:52:09Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Wed, Apr 6, 2011 at 22:04, Junio C Hamano <gitster@pobox.com> wrote:\n\n> * jl/submodule-fetch-on-demand (2011-03-06) 7 commits\n>  (merged to 'next' on 2011-03-20 at a5e452d)\n>  + fetch/pull: Describe --recurse-submodule restrictions in the BUGS section\n>  + submodule update: Don't fetch when the submodule commit is already present\n>  + fetch/pull: Don't recurse into a submodule when commits are already present\n>  + Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option\n>  + config: teach the fetch.recurseSubmodules option the 'on-demand' value\n>  + fetch/pull: Add the 'on-demand' value to the --recurse-submodules option\n>  + fetch/pull: recurse into submodules when necessary\n\nThis series needs to be fixed to not fail tests with GETTEXT_POISON=YesPlease.\n"},{"id":"165590","messageId":"4DA23551.4040304@web.de","threadId":"27011","inReplyTo":"BANLkTinTVinnDLPnHGoF9DY97ky_MFiLAQ@mail.gmail.com","subject":"Re: What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2011-04-10T22:55:13Z","receivedAt":"2011-04-10T22:55:13Z","isPatch":false,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 10.04.2011 20:52, schrieb Ævar Arnfjörð Bjarmason:\n> On Wed, Apr 6, 2011 at 22:04, Junio C Hamano <gitster@pobox.com> wrote:\n> \n>> * jl/submodule-fetch-on-demand (2011-03-06) 7 commits\n>>  (merged to 'next' on 2011-03-20 at a5e452d)\n>>  + fetch/pull: Describe --recurse-submodule restrictions in the BUGS section\n>>  + submodule update: Don't fetch when the submodule commit is already present\n>>  + fetch/pull: Don't recurse into a submodule when commits are already present\n>>  + Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option\n>>  + config: teach the fetch.recurseSubmodules option the 'on-demand' value\n>>  + fetch/pull: Add the 'on-demand' value to the --recurse-submodules option\n>>  + fetch/pull: recurse into submodules when necessary\n> \n> This series needs to be fixed to not fail tests with GETTEXT_POISON=YesPlease.\n\nMaybe something like this? Junio, do you want me to squash the changes in\nthe patch series and resend it or should I send a new commit?\n\n-----------------8<-------------\ndiff --git a/t/t5526-fetch-submodules.sh b/t/t5526-fetch-submodules.sh\nindex af78e21..3279aec 100755\n--- a/t/t5526-fetch-submodules.sh\n+++ b/t/t5526-fetch-submodules.sh\n@@ -230,7 +230,7 @@ test_expect_success \"Recursion doesn't happen when no new commits are fetched in\n \t! test -s actual.err\n '\n\n-test_expect_success \"Recursion stops when no new submodule commits are fetched\" '\n+test_expect_success C_LOCALE_OUTPUT \"Recursion stops when no new submodule commits are fetched\" '\n \thead1=$(git rev-parse --short HEAD) &&\n \tgit add submodule &&\n \tgit commit -m \"new submodule\" &&\n@@ -247,7 +247,7 @@ test_expect_success \"Recursion stops when no new submodule commits are fetched\"\n \ttest_cmp expect.out.sub actual.out\n '\n\n-test_expect_success \"Recursion doesn't happen when new superproject commits don't change any submodules\" '\n+test_expect_success C_LOCALE_OUTPUT \"Recursion doesn't happen when new superproject commits don't change any submodules\" '\n \tadd_upstream_commit &&\n \thead1=$(git rev-parse --short HEAD) &&\n \techo a > file &&\n@@ -264,7 +264,7 @@ test_expect_success \"Recursion doesn't happen when new superproject commits don'\n \ttest_cmp expect.err.file actual.err\n '\n\n-test_expect_success \"Recursion picks up config in submodule\" '\n+test_expect_success C_LOCALE_OUTPUT \"Recursion picks up config in submodule\" '\n \t(\n \t\tcd downstream &&\n \t\tgit fetch --recurse-submodules &&\n@@ -293,7 +293,7 @@ test_expect_success \"Recursion picks up config in submodule\" '\n \ttest_cmp expect.out actual.out\n '\n\n-test_expect_success \"Recursion picks up all submodules when necessary\" '\n+test_expect_success C_LOCALE_OUTPUT \"Recursion picks up all submodules when necessary\" '\n \tadd_upstream_commit &&\n \t(\n \t\tcd submodule &&\n@@ -351,7 +351,7 @@ test_expect_success \"'--recurse-submodules=on-demand' doesn't recurse when no ne\n \t! test -s actual.err\n '\n\n-test_expect_success \"'--recurse-submodules=on-demand' recurses as deep as necessary (and ignores config)\" '\n+test_expect_success C_LOCALE_OUTPUT \"'--recurse-submodules=on-demand' recurses as deep as necessary (and ignores config)\" '\n \thead1=$(git rev-parse --short HEAD) &&\n \tgit add submodule &&\n \tgit commit -m \"new submodule\" &&\n@@ -379,7 +379,7 @@ test_expect_success \"'--recurse-submodules=on-demand' recurses as deep as necess\n \ttest_cmp expect.err actual.err\n '\n\n-test_expect_success \"'--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config)\" '\n+test_expect_success C_LOCALE_OUTPUT \"'--recurse-submodules=on-demand' stops when no new submodule commits are found in the superproject (and ignores config)\" '\n \tadd_upstream_commit &&\n \thead1=$(git rev-parse --short HEAD) &&\n \techo a >> file &&\n@@ -396,7 +396,7 @@ test_expect_success \"'--recurse-submodules=on-demand' stops when no new submodul\n \ttest_cmp expect.err.file actual.err\n '\n\n-test_expect_success \"'fetch.recurseSubmodules=on-demand' overrides global config\" '\n+test_expect_success C_LOCALE_OUTPUT \"'fetch.recurseSubmodules=on-demand' overrides global config\" '\n \t(\n \t\tcd downstream &&\n \t\tgit fetch --recurse-submodules\n@@ -424,7 +424,7 @@ test_expect_success \"'fetch.recurseSubmodules=on-demand' overrides global config\n \ttest_cmp expect.err.2 actual.err\n '\n\n-test_expect_success \"'submodule.<sub>.fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules\" '\n+test_expect_success C_LOCALE_OUTPUT \"'submodule.<sub>.fetchRecurseSubmodules=on-demand' overrides fetch.recurseSubmodules\" '\n \t(\n \t\tcd downstream &&\n \t\tgit fetch --recurse-submodules\n@@ -452,7 +452,7 @@ test_expect_success \"'submodule.<sub>.fetchRecurseSubmodules=on-demand' override\n \ttest_cmp expect.err.2 actual.err\n '\n\n-test_expect_success \"don't fetch submodule when newly recorded commits are already present\" '\n+test_expect_success C_LOCALE_OUTPUT \"don't fetch submodule when newly recorded commits are already present\" '\n \t(\n \t\tcd submodule &&\n \t\tgit checkout -q HEAD^^\n"},{"id":"165610","messageId":"BANLkTinRRJAvMrbUUwGTcgK+9-Bh5QATcA@mail.gmail.com","threadId":"27011","inReplyTo":"4DA23551.4040304@web.de","subject":"Re: What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-11T09:00:43Z","receivedAt":"2011-04-11T09:00:43Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Mon, Apr 11, 2011 at 00:55, Jens Lehmann <Jens.Lehmann@web.de> wrote:\n> Am 10.04.2011 20:52, schrieb Ævar Arnfjörð Bjarmason:\n>> On Wed, Apr 6, 2011 at 22:04, Junio C Hamano <gitster@pobox.com> wrote:\n>>\n>>> * jl/submodule-fetch-on-demand (2011-03-06) 7 commits\n>>>  (merged to 'next' on 2011-03-20 at a5e452d)\n>>>  + fetch/pull: Describe --recurse-submodule restrictions in the BUGS section\n>>>  + submodule update: Don't fetch when the submodule commit is already present\n>>>  + fetch/pull: Don't recurse into a submodule when commits are already present\n>>>  + Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option\n>>>  + config: teach the fetch.recurseSubmodules option the 'on-demand' value\n>>>  + fetch/pull: Add the 'on-demand' value to the --recurse-submodules option\n>>>  + fetch/pull: recurse into submodules when necessary\n>>\n>> This series needs to be fixed to not fail tests with GETTEXT_POISON=YesPlease.\n>\n> Maybe something like this? Junio, do you want me to squash the changes in\n> the patch series and resend it or should I send a new commit?\n\nSorry about the short mail yesterday, I had to take care of something.\n\nAnyway, that looks like it'll work, but the preferred way of doing it\nis like it's done at the bottom of t3700-add.sh. I.e.:\n\ntest_expect_success 'git add --dry-run --ignore-missing of\nnon-existing file' '\n    test_must_fail git add --dry-run --ignore-missing track-this\nignored-file >actual.out 2>actual.err\n'\n\ntest_expect_success C_LOCALE_OUTPUT 'git add --dry-run\n--ignore-missing of non-existing file output' '\n    test_cmp expect.out actual.out &&\n    test_cmp expect.err actual.err\n'\n\nThat is, split up each test into a test that tests the functionality\n(i.e. exit codes) and one that tests the output.\n\nThat way we make sure that only things dependent on C locale output\nare skipped under non-C locales.\n\nSometimes that's hard, in which case it's fine to just skip the entire thing.\n"},{"id":"165632","messageId":"4DA3409A.9090206@web.de","threadId":"27011","inReplyTo":"BANLkTinRRJAvMrbUUwGTcgK+9-Bh5QATcA@mail.gmail.com","subject":"Re: What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Jens Lehmann","fromEmail":"jens.lehmann@web.de","sentAt":"2011-04-11T17:55:38Z","receivedAt":"2011-04-11T17:55:38Z","isPatch":false,"sender":{"key":"jens.lehmann@web.de","avatar":"https://avatars.githubusercontent.com/u/135220?v=4"},"body":"Am 11.04.2011 11:00, schrieb Ævar Arnfjörð Bjarmason:\n> On Mon, Apr 11, 2011 at 00:55, Jens Lehmann <Jens.Lehmann@web.de> wrote:\n>> Am 10.04.2011 20:52, schrieb Ævar Arnfjörð Bjarmason:\n>>> On Wed, Apr 6, 2011 at 22:04, Junio C Hamano <gitster@pobox.com> wrote:\n>>>\n>>>> * jl/submodule-fetch-on-demand (2011-03-06) 7 commits\n>>>>  (merged to 'next' on 2011-03-20 at a5e452d)\n>>>>  + fetch/pull: Describe --recurse-submodule restrictions in the BUGS section\n>>>>  + submodule update: Don't fetch when the submodule commit is already present\n>>>>  + fetch/pull: Don't recurse into a submodule when commits are already present\n>>>>  + Submodules: Add 'on-demand' value for the 'fetchRecurseSubmodule' option\n>>>>  + config: teach the fetch.recurseSubmodules option the 'on-demand' value\n>>>>  + fetch/pull: Add the 'on-demand' value to the --recurse-submodules option\n>>>>  + fetch/pull: recurse into submodules when necessary\n>>>\n>>> This series needs to be fixed to not fail tests with GETTEXT_POISON=YesPlease.\n>>\n>> Maybe something like this? Junio, do you want me to squash the changes in\n>> the patch series and resend it or should I send a new commit?\n\nOk, as that series already hit master I'll hack up a new commit.\n\n> Sorry about the short mail yesterday, I had to take care of something.\n\nSame here :-)\n\n> Anyway, that looks like it'll work, but the preferred way of doing it\n> is like it's done at the bottom of t3700-add.sh. I.e.:\n> \n> test_expect_success 'git add --dry-run --ignore-missing of\n> non-existing file' '\n>     test_must_fail git add --dry-run --ignore-missing track-this\n> ignored-file >actual.out 2>actual.err\n> '\n> \n> test_expect_success C_LOCALE_OUTPUT 'git add --dry-run\n> --ignore-missing of non-existing file output' '\n>     test_cmp expect.out actual.out &&\n>     test_cmp expect.err actual.err\n> '\n> \n> That is, split up each test into a test that tests the functionality\n> (i.e. exit codes) and one that tests the output.\n> \n> That way we make sure that only things dependent on C locale output\n> are skipped under non-C locales.\n\nThanks for explaining, that makes sense. Jonathan mentioned some time ago\nthat t5526 would benefit from testing the functionality rather than the\noutput like it does now, so rewriting that test is on my maintenance list\nanyway. I'll have to find a locale independent way to check if the\nsubmodule paths are printed correctly, but I'll see if I can chop off the\nlanguage specific parts of the output before doing the compare.\n\n> Sometimes that's hard, in which case it's fine to just skip the entire thing.\n\nThat shouldn't be necessary for t5526, I'll tackle that when I find some\ntime. The question is: Do we need a commit now adding the prerequisite as\na band aid fix to restore the ability to successfully run the test suite\nwith GETTEXT_POISON=YesPlease, or do we have some time so I can rewrite\nt5526 properly to not depend on the language anymore?\n"},{"id":"165635","messageId":"BANLkTino7ZxfUnGTXSG3jQm1VZDKMtmqTw@mail.gmail.com","threadId":"27011","inReplyTo":"4DA3409A.9090206@web.de","subject":"Re: What's cooking in git.git (Apr 2011, #02; Wed, 6)","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2011-04-11T18:11:59Z","receivedAt":"2011-04-11T18:11:59Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Mon, Apr 11, 2011 at 19:55, Jens Lehmann <Jens.Lehmann@web.de> wrote:\n> That shouldn't be necessary for t5526, I'll tackle that when I find some\n> time. The question is: Do we need a commit now adding the prerequisite as\n> a band aid fix to restore the ability to successfully run the test suite\n> with GETTEXT_POISON=YesPlease, or do we have some time so I can rewrite\n> t5526 properly to not depend on the language anymore?\n\nThere's no urgency. I'm the only one that runs that testing mode.\n\nIt's just something that needs to be fixed at some point, either by you or me.\n\nSo put it low on your TODO list, if at all :)\n"}]}