* What's cooking in git.git (Apr 2013, #10; Mon, 29)
@ 2013-04-29 21:01 Junio C Hamano
2013-05-01 1:48 ` Felipe Contreras
2013-05-04 8:40 ` Thomas Rast
0 siblings, 2 replies; 8+ messages in thread
From: Junio C Hamano @ 2013-04-29 21:01 UTC (permalink / raw)
To: git
Here are the topics that have been cooking. Commits prefixed with
'-' are only in 'pu' (proposed updates) while commits prefixed with
'+' are in 'next'.
There are a few more topics in flight that look sane and trivially
correct that I would feel safe to merge down to 'master', but what
we have in 'master' should be a pretty similar to the final, from
the point of view of features and new fixes. I'd like to see people
focus on catching and fixing last minute regressions and
incompleteness in the topics that have already in 'master' for the
upcoming release.
New topics that are not relevant for the goal to release a complete
and regression-free 1.8.3 may not be queued even on 'pu' until final
to reduce hassles on integration testing (I do not mean that it is
forbidden to work on and discussing new topics on the list. It is
just the patches won't be considered as formal submission and they
won't hit 'pu').
You can find the changes described here in the integration branches
of the repositories listed at
http://git-blame.blogspot.com/p/git-public-repositories.html
--------------------------------------------------
[Graduated to "master"]
* fc/zsh-completion (2013-04-28) 2 commits
+ complete: zsh: use zsh completion for the main cmd
+ complete: zsh: trivial simplification
--------------------------------------------------
[New Topics]
* fc/completion (2013-04-27) 9 commits
- completion: remove __git_index_file_list_filter()
- completion: add space after completed filename
- completion: add hack to enable file mode in bash < 4
- completion: refactor __git_complete_index_file()
- completion: refactor diff_index wrappers
- completion: use __gitcompadd for __gitcomp_file
- completion; remove unuseful comments
- completion: document tilde expansion failure in tests
- completion: add file completion tests
I saw this discussed somewhat. Is everybody happy with this
version? This is its v2, in the $gmane/222682 thread.
* jk/test-output (2013-04-29) 2 commits
- test output: respect $TEST_OUTPUT_DIRECTORY
- t/Makefile: fix result handling with TEST_OUTPUT_DIRECTORY
Allows "sh tXXXX-*.sh --root=$there" to correctly use the moved
output directory when summarizing the results.
Will merge to 'next'.
* rj/mingw-cygwin (2013-04-28) 2 commits
- cygwin: Remove the CYGWIN_V15_WIN32API build variable
- mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE
Cygwin portability; both were reviewed by Jonathan, and the tip one
seems to want a bit further explanation. Needs positive report
from Cygwin 1.7 users who have been on 1.7 to make sure it does not
regress for them.
* rj/sparse (2013-04-28) 10 commits
- sparse: Fix mingw_main() argument number/type errors
- compat/mingw.c: Fix some sparse warnings
- compat/win32mmap.c: Fix some sparse warnings
- compat/poll/poll.c: Fix a sparse warning
- compat/win32/pthread.c: Fix a sparse warning
- compat/unsetenv.c: Fix a sparse warning
- compat/nedmalloc: Fix compiler warnings on linux
- compat/nedmalloc: Fix some sparse warnings
- compat/fnmatch/fnmatch.c: Fix a sparse error
- compat/regex/regexec.c: Fix some sparse warnings
Will merge to 'next'.
* rs/pp-user-info-without-extra-allocation (2013-04-25) 3 commits
(merged to 'next' on 2013-04-29 at 13eafc3)
+ pretty: remove intermediate strbufs from pp_user_info()
+ pretty: simplify output line length calculation in pp_user_info()
+ pretty: simplify input line length calculation in pp_user_info()
Will merge to 'master'.
* hb/git-pm-tempfile (2013-04-29) 1 commit
(merged to 'next' on 2013-04-29 at fecc6b0)
+ Git.pm: call tempfile from File::Temp as a regular function
Will merge to 'master'.
* js/transport-helper-error-reporting-fix (2013-04-28) 3 commits
(merged to 'next' on 2013-04-29 at 8cc4bb8)
+ git-remote-testgit: build it to run under $SHELL_PATH
+ git-remote-testgit: further remove some bashisms
+ git-remote-testgit: avoid process substitution
(this branch uses fc/transport-helper-error-reporting.)
Finishing touches to fc/transport-helper-error-reporting topic.
Will cook in 'next'.
* mh/fetch-into-shallow (2013-04-28) 1 commit
(merged to 'next' on 2013-04-29 at a167d3e)
+ upload-pack: ignore 'shallow' lines with unknown obj-ids
May want to have a few tests. $gmane/222774
Will cook in 'next'.
--------------------------------------------------
[Stalled]
* mg/more-textconv (2013-04-23) 7 commits
- git grep: honor textconv by default
- grep: honor --textconv for the case rev:path
- grep: allow to use textconv filters
- t7008: demonstrate behavior of grep with textconv
- cat-file: do not die on --textconv without textconv filters
- show: honor --textconv for blobs
- t4030: demonstrate behavior of show with textconv
Rerolled. I am not sure if I like "show <blob>" and "grep" that use
textconv by default, though.
* mh/multimail (2013-04-21) 1 commit
- git-multimail: a replacement for post-receive-email
Waiting for comments.
* jc/format-patch (2013-04-22) 2 commits
- format-patch: --inline-single
- format-patch: rename "no_inline" field
A new option to send a single patch to the standard output to be
appended at the bottom of a message. I personally have no need for
this, but it was easy enough to cobble together. Tests, docs and
stripping out more MIMEy stuff are left as exercises to interested
parties.
Not ready for inclusion.
* jk/gitweb-utf8 (2013-04-08) 4 commits
- gitweb: Fix broken blob action parameters on blob/commitdiff pages
- gitweb: Don't append ';js=(0|1)' to external links
- gitweb: Make feed title valid utf8
- gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
Various fixes to gitweb.
Waiting for a reroll after a review.
* jk/commit-info-slab (2013-04-19) 3 commits
- commit-slab: introduce a macro to define a slab for new type
- commit-slab: avoid large realloc
- commit: allow associating auxiliary info on-demand
(this branch is used by jc/show-branch.)
Technology demonstration to show a way we could use unbound number
of flag bits on commit objects.
* jn/config-ignore-inaccessible (2013-04-15) 1 commit
- config: allow inaccessible configuration under $HOME
When $HOME is misconfigured to point at an unreadable directory, we
used to complain and die. This loosens the check.
I do not think we agreed that this is a good idea, though.
--------------------------------------------------
[Cooking]
* kb/full-history-compute-treesame-carefully (2013-04-27) 3 commits
- simplify-merges: drop merge from irrelevant side branch
- simplify-merges: never remove all TREESAME parents
- revision.c: tighten up TREESAME handling of merges
Another improved redesign coming. This touches a very core part of
the system and will not be a 1.8.3 material.
* tr/remote-tighten-commandline-parsing (2013-04-24) 3 commits
(merged to 'next' on 2013-04-29 at 46a1043)
+ remote: 'show' and 'prune' can take more than one remote
+ remote: check for superfluous arguments in 'git remote add'
+ remote: add a test for extra arguments, according to docs
Will merge to 'master'.
* zk/prompt-rebase-step (2013-04-25) 1 commit
(merged to 'next' on 2013-04-25 at a8264bf)
+ bash-prompt.sh: show where rebase is at when stopped
Will merge to 'master'.
* jh/checkout-auto-tracking (2013-04-21) 8 commits
(merged to 'next' on 2013-04-22 at 2356700)
+ glossary: Update and rephrase the definition of a remote-tracking branch
+ branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
+ t9114.2: Don't use --track option against "svn-remote"-tracking branches
+ t7201.24: Add refspec to keep --track working
+ t3200.39: tracking setup should fail if there is no matching refspec.
+ checkout: Use remote refspecs when DWIMming tracking branches
+ t2024: Show failure to use refspec when DWIMming remote branch names
+ t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
Updates "git checkout foo" that DWIMs the intended "upstream" and
turns it into "git checkout -t -b foo remotes/origin/foo" to
correctly take existing remote definitions into account. The
remote "origin" may be what uniquely map its own branch to
remotes/some/where/foo but that some/where may not be "origin".
Will cook in 'next'.
* jc/prune-all (2013-04-25) 4 commits
(merged to 'next' on 2013-04-26 at 97a7387)
+ prune: introduce OPT_EXPIRY_DATE() and use it
(merged to 'next' on 2013-04-22 at b00ccf6)
+ api-parse-options.txt: document "no-" for non-boolean options
+ git-gc.txt, git-reflog.txt: document new expiry options
+ date.c: add parse_expiry_date()
(this branch is tangled with mh/packed-refs-various.)
We used the approxidate() parser for "--expire=<timestamp>" options
of various commands, but it is better to treat --expire=all and
--expire=now a bit more specially than using the current timestamp.
Update "git gc" and "git reflog" with a new parsing function for
expiry dates.
Will cook in 'next'.
* as/check-ignore (2013-04-11) 5 commits
(merged to 'next' on 2013-04-21 at 7515aa8)
+ Documentation: add caveats about I/O buffering for check-{attr,ignore}
+ check-ignore: allow incremental streaming of queries via --stdin
+ check-ignore: move setup into cmd_check_ignore()
+ check-ignore: add -n / --non-matching option
+ t0008: remove duplicated test fixture data
Enhance "check-ignore" (1.8.2 update) to work more like "check-attr"
over bidi-pipes.
Waiting for a follow-up.
$gmane/222235
The test in the second from the tip needs to be updated.
* mh/packed-refs-various (2013-04-24) 36 commits
- refs: handle the main ref_cache specially
- refs: change do_for_each_*() functions to take ref_cache arguments
- pack_one_ref(): do some cheap tests before a more expensive one
- pack_one_ref(): use write_packed_entry() to do the writing
- pack_one_ref(): use function peel_entry()
- refs: inline function do_not_prune()
- pack_refs(): change to use do_for_each_entry()
- refs: use same lock_file object for both ref-packing functions
- pack_one_ref(): rename "path" parameter to "refname"
- pack-refs: merge code from pack-refs.{c,h} into refs.{c,h}
- pack-refs: rename handle_one_ref() to pack_one_ref()
- refs: extract a function write_packed_entry()
- repack_without_ref(): write peeled refs in the rewritten file
- t3211: demonstrate loss of peeled refs if a packed ref is deleted
- refs: change how packed refs are deleted
- search_ref_dir(): return an index rather than a pointer
- repack_without_ref(): silence errors for dangling packed refs
- t3210: test for spurious error messages for dangling packed refs
- refs: change the internal reference-iteration API
- refs: extract a function peel_entry()
- peel_ref(): fix return value for non-peelable, not-current reference
- peel_object(): give more specific information in return value
- refs: extract function peel_object()
- refs: extract a function ref_resolves_to_object()
- repack_without_ref(): use function get_packed_ref()
- peel_ref(): use function get_packed_ref()
- get_packed_ref(): return a ref_entry
- do_for_each_ref_in_dirs(): remove dead code
- refs: define constant PEELED_LINE_LENGTH
- refs: document how current_ref is used
- refs: document do_for_each_ref() and do_one_ref()
- refs: document the fields of struct ref_value
- refs: document flags constants REF_*
(merged to 'next' on 2013-04-22 at b00ccf6)
+ api-parse-options.txt: document "no-" for non-boolean options
+ git-gc.txt, git-reflog.txt: document new expiry options
+ date.c: add parse_expiry_date()
(this branch is tangled with jc/prune-all.)
Updates reading and updating packed-refs file, correcting corner
case bugs.
Will merge to 'next' after rebasing on the tip of jc/prune-all.
* fc/transport-helper-error-reporting (2013-04-25) 10 commits
(merged to 'next' on 2013-04-25 at 3358f1a)
+ t5801: "VAR=VAL shell_func args" is forbidden
(merged to 'next' on 2013-04-22 at 5ba6467)
+ transport-helper: update remote helper namespace
+ transport-helper: trivial code shuffle
+ transport-helper: warn when refspec is not used
+ transport-helper: clarify pushing without refspecs
+ transport-helper: update refspec documentation
+ transport-helper: clarify *:* refspec
+ transport-helper: improve push messages
+ transport-helper: mention helper name when it dies
+ transport-helper: report errors properly
(this branch is used by js/transport-helper-error-reporting-fix.)
Update transport helper to report errors and maintain ref hierarchy
used to keep track of remote helper state better.
Will cook in 'next', but may be 1.8.3 material depending on how things go.
* jk/submodule-subdirectory-ok (2013-04-24) 3 commits
(merged to 'next' on 2013-04-24 at 6306b29)
+ submodule: fix quoting in relative_path()
(merged to 'next' on 2013-04-22 at f211e25)
+ submodule: drop the top-level requirement
+ rev-parse: add --prefix option
Allow various subcommands of "git submodule" to be run not from the
top of the working tree of the superproject.
Will cook in 'next'.
* jl/submodule-mv (2013-04-23) 5 commits
(merged to 'next' on 2013-04-23 at c04f574)
+ submodule.c: duplicate real_path's return value
(merged to 'next' on 2013-04-19 at 45ae3c9)
+ rm: delete .gitmodules entry of submodules removed from the work tree
+ Teach mv to update the path entry in .gitmodules for moved submodules
+ Teach mv to move submodules using a gitfile
+ Teach mv to move submodules together with their work trees
"git mv A B" when moving a submodule A does "the right thing",
inclusing relocating its working tree and adjusting the paths in
the .gitmodules file.
Will cook in 'next'.
* jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
- git add: -u/-A now affects the entire working tree
Will cook in 'next' until Git 2.0.
* nd/magic-pathspecs (2013-03-31) 45 commits
. Rename field "raw" to "_raw" in struct pathspec
. pathspec: support :(glob) syntax
. pathspec: make --literal-pathspecs disable pathspec magic
. pathspec: support :(literal) syntax for noglob pathspec
. Kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
. parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
. parse_pathspec: make sure the prefix part is wildcard-free
. tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
. Remove match_pathspec() in favor of match_pathspec_depth()
. Remove init_pathspec() in favor of parse_pathspec()
. Remove diff_tree_{setup,release}_paths
. Convert common_prefix() to use struct pathspec
. Convert add_files_to_cache to take struct pathspec
. Convert {read,fill}_directory to take struct pathspec
. Convert refresh_index to take struct pathspec
. Convert report_path_error to take struct pathspec
. checkout: convert read_tree_some to take struct pathspec
. Convert unmerge_cache to take struct pathspec
. Convert run_add_interactive to use struct pathspec
. Convert read_cache_preload() to take struct pathspec
. reset: convert to use parse_pathspec
. add: convert to use parse_pathspec
. check-ignore: convert to use parse_pathspec
. archive: convert to use parse_pathspec
. ls-files: convert to use parse_pathspec
. rm: convert to use parse_pathspec
. checkout: convert to use parse_pathspec
. rerere: convert to use parse_pathspec
. status: convert to use parse_pathspec
. commit: convert to use parse_pathspec
. clean: convert to use parse_pathspec
. Guard against new pathspec magic in pathspec matching code
. parse_pathspec: support prefixing original patterns
. parse_pathspec: support stripping/checking submodule paths
. parse_pathspec: support stripping submodule trailing slashes
. parse_pathspec: a special flag for max_depth feature
. Convert some get_pathspec() calls to parse_pathspec()
. parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL}
. parse_pathspec: save original pathspec for reporting
. Add parse_pathspec() that converts cmdline args to struct pathspec
. pathspec: add copy_pathspec
. pathspec: i18n-ize error strings in pathspec parsing code
. Move struct pathspec and related functions to pathspec.[ch]
. clean: remove unused variable "seen"
. setup.c: check that the pathspec magic ends with ")"
Migrate the rest of codebase to use "struct pathspec" more.
This has nasty conflicts with kb/status-ignored-optim-2,
as/check-ignore and tr/line-log; I've already asked Duy to hold
this and later rebase on top of them.
Will defer.
* tr/line-log (2013-04-22) 13 commits
(merged to 'next' on 2013-04-22 at 8f2c1de)
+ git-log(1): remove --full-line-diff description
(merged to 'next' on 2013-04-21 at cd92620)
+ line-log: fix documentation formatting
(merged to 'next' on 2013-04-15 at 504559e)
+ log -L: improve comments in process_all_files()
+ log -L: store the path instead of a diff_filespec
+ log -L: test merge of parallel modify/rename
+ t4211: pass -M to 'git log -M -L...' test
(merged to 'next' on 2013-04-05 at 5afb00c)
+ log -L: fix overlapping input ranges
+ log -L: check range set invariants when we look it up
(merged to 'next' on 2013-04-01 at 5be920c)
+ Speed up log -L... -M
+ log -L: :pattern:file syntax to find by funcname
+ Implement line-history search (git log -L)
+ Export rewrite_parents() for 'log -L'
+ Refactor parse_loc
Will cook in 'next'.
* jc/push-2.0-default-to-simple (2013-04-03) 1 commit
- push: switch default from "matching" to "simple"
The early bits to adjust the tests have been merged to 'master'.
Will cook in 'next' until Git 2.0.
* jc/add-2.0-ignore-removal (2013-04-22) 1 commit
- git add <pathspec>... defaults to "-A"
Updated endgame for "git add <pathspec>" that defaults to "--all"
aka "--no-ignore-removal".
Will cook in 'next' until Git 2.0.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)
2013-04-29 21:01 What's cooking in git.git (Apr 2013, #10; Mon, 29) Junio C Hamano
@ 2013-05-01 1:48 ` Felipe Contreras
2013-05-04 8:40 ` Thomas Rast
1 sibling, 0 replies; 8+ messages in thread
From: Felipe Contreras @ 2013-05-01 1:48 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git
On Mon, Apr 29, 2013 at 4:01 PM, Junio C Hamano <gitster@pobox.com> wrote:
> * fc/transport-helper-error-reporting (2013-04-25) 10 commits
> (merged to 'next' on 2013-04-25 at 3358f1a)
> + t5801: "VAR=VAL shell_func args" is forbidden
> (merged to 'next' on 2013-04-22 at 5ba6467)
> + transport-helper: update remote helper namespace
> + transport-helper: trivial code shuffle
> + transport-helper: warn when refspec is not used
> + transport-helper: clarify pushing without refspecs
> + transport-helper: update refspec documentation
> + transport-helper: clarify *:* refspec
> + transport-helper: improve push messages
I wish this commit wasn't blobbed with all these others, it has
nothing to do with them, and in fact, it probably has enough merits to
be in 'maint', since without it, each and every fetch from remote
helpers will show up as 'new branch' for the user.
> + transport-helper: mention helper name when it dies
> + transport-helper: report errors properly
> (this branch is used by js/transport-helper-error-reporting-fix.)
>
> Update transport helper to report errors and maintain ref hierarchy
> used to keep track of remote helper state better.
>
> Will cook in 'next', but may be 1.8.3 material depending on how things go.
--
Felipe Contreras
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)
2013-04-29 21:01 What's cooking in git.git (Apr 2013, #10; Mon, 29) Junio C Hamano
2013-05-01 1:48 ` Felipe Contreras
@ 2013-05-04 8:40 ` Thomas Rast
2013-05-04 19:27 ` Junio C Hamano
2013-05-04 20:14 ` jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)) Jonathan Nieder
1 sibling, 2 replies; 8+ messages in thread
From: Thomas Rast @ 2013-05-04 8:40 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Jonathan Nieder, Jeff King
Junio C Hamano <gitster@pobox.com> writes:
> * jn/config-ignore-inaccessible (2013-04-15) 1 commit
> - config: allow inaccessible configuration under $HOME
>
> When $HOME is misconfigured to point at an unreadable directory, we
> used to complain and die. This loosens the check.
>
> I do not think we agreed that this is a good idea, though.
As a data point: yesterday on IRC, two users complained that they each
had this problem.
http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3022
http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3111
So for one thing, "ha ha we told you so" is not an extremely
satisfactory answer, especially since we only "told them so" with the
recent doc update. Wouldn't a stern warning or even an early error be
better? It could be tempered by checking that HOME agrees with what
getpwnam says should be the HOME of the existing user, and checking that
it is not readable, before warning; more experienced users like the
scenario you mention in
http://thread.gmane.org/gmane.comp.version-control.git/220661/focus=220921
would make sure that at least one of those conditions is not true.
But for another, they both claim that it fails even with HOME unset(!)
and even with a completely empty environment. I cannot reproduce this,
but there might be another issue lurking?
--
Thomas Rast
trast@{inf,student}.ethz.ch
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)
2013-05-04 8:40 ` Thomas Rast
@ 2013-05-04 19:27 ` Junio C Hamano
2013-05-04 20:14 ` jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)) Jonathan Nieder
1 sibling, 0 replies; 8+ messages in thread
From: Junio C Hamano @ 2013-05-04 19:27 UTC (permalink / raw)
To: Thomas Rast; +Cc: git, Jonathan Nieder, Jeff King
Thomas Rast <trast@inf.ethz.ch> writes:
> So for one thing, "ha ha we told you so" is not an extremely
> satisfactory answer, especially since we only "told them so" with the
> recent doc update. Wouldn't a stern warning or even an early error be
> better?
Sorry, I am not sure exactly what alternative you have in mind here
by "a stern warning / an early error".
> It could be tempered by checking that HOME agrees with what
> getpwnam says should be the HOME of the existing user, and checking that
> it is not readable, before warning; more experienced users like the
> scenario you mention in
>
> http://thread.gmane.org/gmane.comp.version-control.git/220661/focus=220921
>
> would make sure that at least one of those conditions is not true.
Perhaps.
An update to change the rule easier to explain and the messages
easier to understand to help inexperienced users in the right
direction would be good.
^ permalink raw reply [flat|nested] 8+ messages in thread
* jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29))
2013-05-04 8:40 ` Thomas Rast
2013-05-04 19:27 ` Junio C Hamano
@ 2013-05-04 20:14 ` Jonathan Nieder
2013-05-05 3:55 ` Junio C Hamano
2013-05-06 9:54 ` Thomas Rast
1 sibling, 2 replies; 8+ messages in thread
From: Jonathan Nieder @ 2013-05-04 20:14 UTC (permalink / raw)
To: Thomas Rast; +Cc: Junio C Hamano, git, Jeff King
Thomas Rast wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>> * jn/config-ignore-inaccessible (2013-04-15) 1 commit
>> - config: allow inaccessible configuration under $HOME
>>
>> When $HOME is misconfigured to point at an unreadable directory, we
>> used to complain and die. This loosens the check.
>>
>> I do not think we agreed that this is a good idea, though.
>
> As a data point: yesterday on IRC, two users complained that they each
> had this problem.
>
> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3022
> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3111
I think the approach taken in the patch above is a good one. If
/etc/gitconfig contains important configuration, it is still not
ignored, errors other than permissions reading ~/.gitconfig are
still fatal, and permissions errors accessing ~/.gitconfig are no
longer fatal because they are expected as something very common
in normal setups.
I haven't been able to convince myself there is a different, better
behavior to be found. Special-casing inaccessible $HOME while still
forbidding inaccessible $HOME/.config/git and $HOME/.gitconfig would
seem strange.
Hmm?
Jonathan
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29))
2013-05-04 20:14 ` jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)) Jonathan Nieder
@ 2013-05-05 3:55 ` Junio C Hamano
2013-05-07 18:41 ` Jeff King
2013-05-06 9:54 ` Thomas Rast
1 sibling, 1 reply; 8+ messages in thread
From: Junio C Hamano @ 2013-05-05 3:55 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Thomas Rast, git, Jeff King
Jonathan Nieder <jrnieder@gmail.com> writes:
> Thomas Rast wrote:
>> Junio C Hamano <gitster@pobox.com> writes:
>
>>> * jn/config-ignore-inaccessible (2013-04-15) 1 commit
>>> - config: allow inaccessible configuration under $HOME
>>>
>>> When $HOME is misconfigured to point at an unreadable directory, we
>>> used to complain and die. This loosens the check.
>>>
>>> I do not think we agreed that this is a good idea, though.
>>
>> As a data point: yesterday on IRC, two users complained that they each
>> had this problem.
>>
>> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3022
>> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3111
>
> I think the approach taken in the patch above is a good one. If
> /etc/gitconfig contains important configuration, it is still not
> ignored, errors other than permissions reading ~/.gitconfig are
> still fatal, and permissions errors accessing ~/.gitconfig are no
> longer fatal because they are expected as something very common
> in normal setups.
OK. Let's cook it in 'next' for a while and then decide what to do
post 1.8.3; I am perfectly fine with making it graduate to 'master'
immediately after 1.8.3 if everybody thinks this is a good idea.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29))
2013-05-05 3:55 ` Junio C Hamano
@ 2013-05-07 18:41 ` Jeff King
0 siblings, 0 replies; 8+ messages in thread
From: Jeff King @ 2013-05-07 18:41 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Jonathan Nieder, Thomas Rast, git
On Sat, May 04, 2013 at 08:55:39PM -0700, Junio C Hamano wrote:
> >> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3022
> >> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3111
> >
> > I think the approach taken in the patch above is a good one. If
> > /etc/gitconfig contains important configuration, it is still not
> > ignored, errors other than permissions reading ~/.gitconfig are
> > still fatal, and permissions errors accessing ~/.gitconfig are no
> > longer fatal because they are expected as something very common
> > in normal setups.
>
> OK. Let's cook it in 'next' for a while and then decide what to do
> post 1.8.3; I am perfectly fine with making it graduate to 'master'
> immediately after 1.8.3 if everybody thinks this is a good idea.
FWIW, I do think this is the best path. I don't like the complex "which
errors are fatal" rule, but I think it is easily the most practical
solution.
-Peff
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29))
2013-05-04 20:14 ` jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)) Jonathan Nieder
2013-05-05 3:55 ` Junio C Hamano
@ 2013-05-06 9:54 ` Thomas Rast
1 sibling, 0 replies; 8+ messages in thread
From: Thomas Rast @ 2013-05-06 9:54 UTC (permalink / raw)
To: Jonathan Nieder; +Cc: Junio C Hamano, git, Jeff King
Jonathan Nieder <jrnieder@gmail.com> writes:
> Thomas Rast wrote:
>> Junio C Hamano <gitster@pobox.com> writes:
>
>>> * jn/config-ignore-inaccessible (2013-04-15) 1 commit
>>> - config: allow inaccessible configuration under $HOME
>>>
>>> When $HOME is misconfigured to point at an unreadable directory, we
>>> used to complain and die. This loosens the check.
>>>
>>> I do not think we agreed that this is a good idea, though.
>>
>> As a data point: yesterday on IRC, two users complained that they each
>> had this problem.
>>
>> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3022
>> http://colabti.org/irclogger/irclogger_log/git?date=2013-05-03#l3111
>
> I think the approach taken in the patch above is a good one. If
> /etc/gitconfig contains important configuration, it is still not
> ignored, errors other than permissions reading ~/.gitconfig are
> still fatal, and permissions errors accessing ~/.gitconfig are no
> longer fatal because they are expected as something very common
> in normal setups.
>
> I haven't been able to convince myself there is a different, better
> behavior to be found. Special-casing inaccessible $HOME while still
> forbidding inaccessible $HOME/.config/git and $HOME/.gitconfig would
> seem strange.
What I found iffy about all of it is that the current failures happen
really late: they prevent the children spawned by the daemon for repo
handling from doing any useful work, while the daemon itself chugs along
nicely.
Wouldn't it be better to (attempt to) reload configs immediately after
switching to the new user/group, and then either warn or exit?
--
Thomas Rast
trast@{inf,student}.ethz.ch
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-05-07 18:41 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-29 21:01 What's cooking in git.git (Apr 2013, #10; Mon, 29) Junio C Hamano
2013-05-01 1:48 ` Felipe Contreras
2013-05-04 8:40 ` Thomas Rast
2013-05-04 19:27 ` Junio C Hamano
2013-05-04 20:14 ` jn/config-ignore-inaccessible (Re: What's cooking in git.git (Apr 2013, #10; Mon, 29)) Jonathan Nieder
2013-05-05 3:55 ` Junio C Hamano
2013-05-07 18:41 ` Jeff King
2013-05-06 9:54 ` Thomas Rast
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).