All of lore.kernel.org
 help / color / mirror / Atom feed
* What's cooking in git.git (Sep 2011, #04; Mon, 12)
@ 2011-09-12 20:16 Junio C Hamano
  2011-09-12 21:48 ` Junio C Hamano
                   ` (8 more replies)
  0 siblings, 9 replies; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 20:16 UTC (permalink / raw)
  To: git

Here are the topics that have been cooking.  Commits prefixed with '-' are
only in 'pu' while commits prefixed with '+' are in 'next'.

The tip of 'master' is tagged as 1.7.7-rc1. Unfortunately k.org seems to
be still down, so there will be no pre-built rpms nor pre-formatted manual
or documentation pages.

I've tentatively uploaded a release candidate tarball at:

    http://code.google.com/p/git-core/downloads/list
  
and its SHA-1 checksum is:

80dfcce410d2f36ffed4c8b48c8c896a45159e41  git-1.7.7.rc1.tar.gz

Here are the repositories that have my integration branches:

With maint, master, next, pu and todo:

	url = git://repo.or.cz/alt-git.git
	url = https://code.google.com/p/git-core/

With only maint and master:

	url = git://git.sourceforge.jp/gitroot/git-core/git.git
	url = git://git-core.git.sourceforge.net/gitroot/git-core/git-core

With all the topics and integration branches:

	url = https://github.com/gitster/git

--------------------------------------------------
[New Topics]

* ph/format-patch-no-color (2011-09-12) 1 commit
 - format-patch: ignore ui.color

This fix for the recent regression probably should be in 1.7.7 final.
Will merge to "master" soonish.

--------------------------------------------------
[Graduated to "master"]

* jl/maint-fetch-submodule-check-fix (2011-09-09) 1 commit
 + fetch: skip on-demand checking when no submodules are configured

* jn/remote-helpers-doc (2011-09-01) 3 commits
 + (short) documentation for the testgit remote helper
 + Documentation/git-remote-helpers: explain how import works with multiple refs
 + Documentation/remote-helpers: explain capabilities first

--------------------------------------------------
[Stalled]

* jk/default-attr (2011-08-26) 1 commit
 - attr: map builtin userdiff drivers to well-known extensions

Not urgent; I fixed up the test breakage just for fun.

* nd/maint-autofix-tag-in-head (2011-08-26) 3 commits
 - Accept tags in HEAD or MERGE_HEAD
 - merge: remove global variable head[]
 - merge: keep stash[] a local variable

Probably needs a re-roll to aim a bit higher.
Not urgent; will not be in 1.7.7.

* tr/doc-note-rewrite (2011-09-05) 1 commit
 - Documentation: "on for all" configuration of notes.rewriteRef

It was questioned if the new text suggests a sane and safe thing to do.

* jk/add-i-hunk-filter (2011-07-27) 5 commits
  (merged to 'next' on 2011-08-11 at 8ff9a56)
 + add--interactive: add option to autosplit hunks
 + add--interactive: allow negatation of hunk filters
 + add--interactive: allow hunk filtering on command line
 + add--interactive: factor out regex error handling
 + add--interactive: refactor patch mode argument processing

Needs documentation updates, tests, and integration with the higher level
callers, e.g. "git add -p".

* jh/receive-count-limit (2011-05-23) 10 commits
 - receive-pack: Allow server to refuse pushes with too many objects
 - pack-objects: Estimate pack size; abort early if pack size limit is exceeded
 - send-pack/receive-pack: Allow server to refuse pushing too large packs
 - pack-objects: Allow --max-pack-size to be used together with --stdout
 - send-pack/receive-pack: Allow server to refuse pushes with too many commits
 - pack-objects: Teach new option --max-commit-count, limiting #commits in pack
 - receive-pack: Prepare for addition of the new 'limit-*' family of capabilities
 - Tighten rules for matching server capabilities in server_supports()
 - send-pack: Attempt to retrieve remote status even if pack-objects fails
 - Update technical docs to reflect side-band-64k capability in receive-pack

Would need another round to separate per-pack and per-session limits.

* jm/mergetool-pathspec (2011-06-22) 2 commits
 - mergetool: Don't assume paths are unmerged
 - mergetool: Add tests for filename with whitespace

I think this is a good idea, but it probably needs a re-roll.
Cf. $gmane/176254, 176255, 166256

* jk/generation-numbers (2011-09-11) 8 commits
 - metadata-cache.c: make two functions static
 - limit "contains" traversals based on commit generation
 - check commit generation cache validity against grafts
 - pretty: support %G to show the generation number of a commit
 - commit: add commit_generation function
 - add metadata-cache infrastructure
 - decorate: allow storing values instead of pointers
 - Merge branch 'jk/tag-contains-ab' (early part) into HEAD

The initial "tag --contains" de-pessimization without need for generation
numbers is already in; backburnered.

* sr/transport-helper-fix-rfc (2011-07-19) 2 commits
 - t5800: point out that deleting branches does not work
 - t5800: document inability to push new branch with old content

* po/cygwin-backslash (2011-08-05) 2 commits
 - On Cygwin support both UNIX and DOS style path-names
 - git-compat-util: add generic find_last_dir_sep that respects is_dir_sep

--------------------------------------------------
[Cooking]

* hl/iso8601-more-zone-formats (2011-09-09) 2 commits
 - fixup? simplification and tightening
 - date.c: Support iso8601 timezone formats

Not urgent.
Will squash them into one and push them forward to "next", though.

* jc/signed-push (2011-09-09) 7 commits
 . push -s: support pre-receive-signature hook
 . push -s: receiving end
 . push -s: send signed push certificate
 . push -s: skeleton
 . refactor run_receive_hook()
 - Split GPG interface into its own helper library
 - send-pack: typofix error message
 (this branch is tangled with jc/signed-push-3.)

This was the v2 that updated notes tree on the receiving end.

* jc/signed-push-3 (2011-09-09) 4 commits
 - push -s: signed push
 - rename "match_refs()" to "match_push_refs()"
 - Split GPG interface into its own helper library
 - send-pack: typofix error message
 (this branch is tangled with jc/signed-push.)

This is the third edition, that moves the preparation of the notes tree to
the sending end.

* jc/run-receive-hook-cleanup (2011-09-09) 1 commit
 - refactor run_receive_hook()

This is a remnant in the jc/signed-push topic that has become unnecessary
for the purpose of jc/signed-push-3, but is retained for its clean-up
value.

The corresponding one will be dropped when rebuilding the jc/signed-push
topic on top of this topic later.

* jk/for-each-ref (2011-09-08) 5 commits
 - for-each-ref: add split message parts to %(contents:*).
 - for-each-ref: handle multiline subjects like --pretty
 - for-each-ref: refactor subject and body placeholder parsing
 - t6300: add more body-parsing tests
 - t7004: factor out gpg setup

Not urgent.
Looked more or less reasonable, though.

* wh/normalize-alt-odb-path (2011-09-07) 1 commit
 - sha1_file: normalize alt_odb path before comparing and storing

Not urgent.
Looked more or less reasonable, though.

* fk/use-kwset-pickaxe-grep-f (2011-09-11) 2 commits
 - obstack.c: Fix some sparse warnings
 - sparse: Fix an "Using plain integer as NULL pointer" warning

In general we would prefer to see these fixed at the upstream first, but
we have essentially forked from them at their last GPLv2 versions...

* jc/make-static (2011-09-11) 2 commits
  (merged to 'next' on 2011-09-11 at 2acb0af)
 + vcs-svn: remove unused functions and make some static
 + make-static: master

I am not sure about the droppage of a few unused functions in the topmost
patch.

* rj/quietly-create-dep-dir (2011-09-11) 1 commit
 - Makefile: Make dependency directory creation less noisy

Not urgent.
Will merge to "next", though.

* js/cred-macos-x-keychain (2011-09-11) 1 commit
 - contrib: add a credential helper for Mac OS X's keychain
 (this branch uses jk/http-auth-keyring.)

Welcome addition to build our confidence in the jk/http-auth-keyring topic.
Will merge to "next".

* mh/check-ref-format (2011-09-11) 8 commits
 - Add tools to avoid the use of unnormalized refnames.
 - Do not allow ".lock" at the end of any refname component
 - Add a library function normalize_refname()
 - Change check_ref_format() to take a flags argument
 - fixup asciidoc formatting
 - git check-ref-format: add options --allow-onelevel and --refspec-pattern
 - Change bad_ref_char() to return a boolean value
 - t1402: add some more tests

Another reroll coming.

* mz/remote-rename (2011-09-11) 4 commits
 - remote: only update remote-tracking branch if updating refspec
 - remote rename: warn when refspec was not updated
 - remote: "rename o foo" should not rename ref "origin/bar"
 - remote: write correct fetch spec when renaming remote 'remote'

* rj/maint-t9159-svn-rev-notation (2011-09-11) 1 commit
 - t9159-*.sh: Add an svn version check

Ack/Nack from people involved in git-svn?

* cb/common-prefix-unification (2011-09-11) 4 commits
 - dir.c: make common_prefix_len() static
 - rename pathspec_prefix() to common_prefix() and move to dir.[ch]
 - consolidate pathspec_prefix and common_prefix
 - remove prefix argument from pathspec_prefix

Will merge to "next" after squashing the tip one into "consolidate" patch.

* cb/send-email-help (2011-09-05) 1 commit
 - send-email: add option -h

I think we should further amend to drop the fully-spelled "help" that will
be intercepted by "git" wrapper before moving this forward.

A separate set of patches to remove the hidden fully-spelled "help" from
other commands would be nice to have as companion patches as well.

* jc/fetch-pack-fsck-objects (2011-09-04) 3 commits
 - test: fetch/receive with fsckobjects
 - transfer.fsckobjects: unify fetch/receive.fsckobjects
 - fetch.fsckobjects: verify downloaded objects

We had an option to verify the sent objects before accepting a push but
lacked the corresponding option when fetching. In the light of the recent
k.org incident, a change like this would be a good addition.

Will merge to "next" to cook for more.

* jc/fetch-verify (2011-09-01) 3 commits
 - fetch: verify we have everything we need before updating our ref
 - rev-list --verify-object
 - list-objects: pass callback data to show_objects()
 (this branch uses jc/traverse-commit-list; is tangled with jc/receive-verify.)

During a fetch, we verify that the pack stream is self consistent,
but did not verify that the refs that are updated are consistent with
objects contained in the packstream, and this adds such a check.

Will merge to "next" to cook for more.

* jc/receive-verify (2011-09-09) 6 commits
 - receive-pack: check connectivity before concluding "git push"
 - check_everything_connected(): libify
 - check_everything_connected(): refactor to use an iterator
 - fetch: verify we have everything we need before updating our ref
 - rev-list --verify-object
 - list-objects: pass callback data to show_objects()
 (this branch uses jc/traverse-commit-list; is tangled with jc/fetch-verify.)

While accepting a push, we verify that the pack stream is self consistent,
but did not verify that the refs the push updates are consistent with
objects contained in the packstream, and this adds such a check.

Will merge to "next" to cook for more.

* jc/request-pull-show-head (2011-09-06) 1 commit
 - State what commit to expect in request-pull

Will merge to "next".

* jn/maint-http-error-message (2011-09-06) 2 commits
 - http: avoid empty error messages for some curl errors
 - http: remove extra newline in error message

Will merge to "next".

* bk/ancestry-path (2011-08-25) 3 commits
  (merged to 'next' on 2011-09-02 at d05ba5d)
 + revision: do not include sibling history in --ancestry-path output
 + revision: keep track of the end-user input from the command line
 + rev-list: Demonstrate breakage with --ancestry-path --all

The topic came up a bit too late in the cycle.
Will cook for a while.

* mg/branch-list (2011-09-08) 6 commits
  (merged to 'next' on 2011-09-11 at 20a9cdb)
 + branch: -v does not automatically imply --list
  (merged to 'next' on 2011-09-02 at b818eae)
 + branch: allow pattern arguments
 + branch: introduce --list option
 + git-branch: introduce missing long forms for the options
 + git-tag: introduce long forms for the options
 + t6040: test branch -vv

Not urgent; the topic came up a bit too late in the cycle.

* mm/rebase-i-exec-edit (2011-08-26) 2 commits
  (merged to 'next' on 2011-09-02 at e75b1b9)
 + rebase -i: notice and warn if "exec $cmd" modifies the index or the working tree
 + rebase -i: clean error message for --continue after failed exec

Not urgent; the topic came up a bit too late in the cycle.

* hv/submodule-merge-search (2011-08-26) 5 commits
 - submodule: Search for merges only at end of recursive merge
 - allow multiple calls to submodule merge search for the same path
 - submodule: Demonstrate known breakage during recursive merge
 - push: Don't push a repository with unpushed submodules
  (merged to 'next' on 2011-08-24 at 398e764)
 + push: teach --recurse-submodules the on-demand option
 (this branch is tangled with fg/submodule-auto-push.)

Not urgent; the topic came up a bit too late in the cycle.  The second
from the bottom one needs to be replaced with a properly written commit
log message.

* mm/mediawiki-as-a-remote (2011-09-01) 2 commits
 - git-remote-mediawiki: allow push to set MediaWiki metadata
 - Add a remote helper to interact with mediawiki (fetch & push)

Fun.
Not urgent; the topic came up a bit too late in the cycle.

* bc/unstash-clean-crufts (2011-08-27) 4 commits
  (merged to 'next' on 2011-09-02 at 7bfd66f)
 + git-stash: remove untracked/ignored directories when stashed
 + t/t3905: add missing '&&' linkage
 + git-stash.sh: fix typo in error message
 + t/t3905: use the name 'actual' for test output, swap arguments to test_cmp

Not urgent; the topic came up a bit too late in the cycle.

* da/make-auto-header-dependencies (2011-08-30) 1 commit
  (merged to 'next' on 2011-09-02 at e04a4af)
 + Makefile: Improve compiler header dependency check
 (this branch uses fk/make-auto-header-dependencies.)

Not urgent; will not be in 1.7.7.

* gb/am-hg-patch (2011-08-29) 1 commit
  (merged to 'next' on 2011-09-02 at 3edfe4c)
 + am: preliminary support for hg patches

Not urgent; the topic came up a bit too late in the cycle.

* jc/diff-index-unpack (2011-08-29) 3 commits
  (merged to 'next' on 2011-09-02 at 4206bd9)
 + diff-index: pass pathspec down to unpack-trees machinery
 + unpack-trees: allow pruning with pathspec
 + traverse_trees(): allow pruning with pathspec

Will cook for a while.

* nm/grep-object-sha1-lock (2011-08-30) 1 commit
  (merged to 'next' on 2011-09-02 at 336f57d)
 + grep: Fix race condition in delta_base_cache

Not urgent; the topic came up a bit too late in the cycle.

* tr/mergetool-valgrind (2011-08-30) 1 commit
  (merged to 'next' on 2011-09-02 at f5f2c61)
 + Symlink mergetools scriptlets into valgrind wrappers

Not urgent; the topic came up a bit too late in the cycle.

* fg/submodule-auto-push (2011-09-11) 2 commits
  (merged to 'next' on 2011-09-11 at 3fc86f7)
 + submodule.c: make two functions static
  (merged to 'next' on 2011-08-24 at 398e764)
 + push: teach --recurse-submodules the on-demand option
 (this branch is tangled with hv/submodule-merge-search.)

What the topic aims to achieve may make sense, but the implementation
looked somewhat suboptimal.

* jc/traverse-commit-list (2011-08-22) 3 commits
  (merged to 'next' on 2011-08-24 at df50dd7)
 + revision.c: update show_object_with_name() without using malloc()
 + revision.c: add show_object_with_name() helper function
 + rev-list: fix finish_object() call
 (this branch is used by jc/fetch-verify and jc/receive-verify.)

Not urgent; will not be in 1.7.7.

* fk/make-auto-header-dependencies (2011-08-18) 1 commit
  (merged to 'next' on 2011-08-24 at 3da2c25)
 + Makefile: Use computed header dependencies if the compiler supports it
 (this branch is used by da/make-auto-header-dependencies.)

Not urgent; will not be in 1.7.7.

* mh/iterate-refs (2011-09-11) 7 commits
 - refs.c: make create_cached_refs() static
 - Retain caches of submodule refs
 - Store the submodule name in struct cached_refs
 - Allocate cached_refs objects dynamically
 - Change the signature of read_packed_refs()
 - Access reference caches only through new function get_cached_refs()
 - Extract a function clear_cached_refs()

I did not see anything fundamentally wrong with this series, but it was
unclear what the benefit of these changes are.  If the series were to read
parts of the ref hierarchy (like refs/heads/) lazily, the story would
have been different, though.

Not urgent; will not be in 1.7.7.

* hv/submodule-update-none (2011-08-11) 2 commits
  (merged to 'next' on 2011-08-24 at 5302fc1)
 + add update 'none' flag to disable update of submodule by default
 + submodule: move update configuration variable further up

Not urgent; will not be in 1.7.7.

* jc/lookup-object-hash (2011-08-11) 6 commits
  (merged to 'next' on 2011-08-24 at 5825411)
 + object hash: replace linear probing with 4-way cuckoo hashing
 + object hash: we know the table size is a power of two
 + object hash: next_size() helper for readability
 + pack-objects --count-only
 + object.c: remove duplicated code for object hashing
 + object.c: code movement for readability

I do not think there is anything fundamentally wrong with this series, but
the risk of breakage far outweighs observed performance gain in one
particular workload. Will keep it in 'next' at least for one cycle.

Not urgent; will not be in 1.7.7.

* fg/submodule-git-file-git-dir (2011-08-22) 2 commits
  (merged to 'next' on 2011-08-23 at 762194e)
 + Move git-dir for submodules
 + rev-parse: add option --resolve-git-dir <path>

I do not think there is anything fundamentally wrong with this series, but
the risk of breakage outweighs any benefit for having this new
feature. Will keep it in 'next' at least for one cycle.

Not urgent; will not be in 1.7.7.

* jk/http-auth-keyring (2011-09-11) 14 commits
  (merged to 'next' on 2011-09-11 at 491ce6a)
 + credentials: make credential_fill_gently() static
  (merged to 'next' on 2011-08-03 at b06e80e)
 + credentials: add "getpass" helper
 + credentials: add "store" helper
 + credentials: add "cache" helper
 + docs: end-user documentation for the credential subsystem
 + http: use hostname in credential description
 + allow the user to configure credential helpers
 + look for credentials in config before prompting
 + http: use credential API to get passwords
 + introduce credentials API
 + http: retry authentication failures for all http requests
 + remote-curl: don't retry auth failures with dumb protocol
 + improve httpd auth tests
 + url: decode buffers that are not NUL-terminated
 (this branch is used by js/cred-macos-x-keychain.)

Looked mostly reasonable except for the limitation that it is not clear
how to deal with a site at which a user needs to use different passwords 
for different repositories. Will keep it in "next" at least for one cycle,
until we start hearing real-world success reports on the list.

Not urgent; will not be in 1.7.7.

* rr/revert-cherry-pick-continue (2011-09-11) 19 commits
  (merged to 'next' on 2011-09-11 at 7d78054)
 + builtin/revert.c: make commit_list_append() static
  (merged to 'next' on 2011-08-24 at 712c115)
 + revert: Propagate errors upwards from do_pick_commit
 + revert: Introduce --continue to continue the operation
 + revert: Don't implicitly stomp pending sequencer operation
 + revert: Remove sequencer state when no commits are pending
 + reset: Make reset remove the sequencer state
 + revert: Introduce --reset to remove sequencer state
 + revert: Make pick_commits functionally act on a commit list
 + revert: Save command-line options for continuing operation
 + revert: Save data for continuing after conflict resolution
 + revert: Don't create invalid replay_opts in parse_args
 + revert: Separate cmdline parsing from functional code
 + revert: Introduce struct to keep command-line options
 + revert: Eliminate global "commit" variable
 + revert: Rename no_replay to record_origin
 + revert: Don't check lone argument in get_encoding
 + revert: Simplify and inline add_message_to_msg
 + config: Introduce functions to write non-standard file
 + advice: Introduce error_resolve_conflict

Will keep it in 'next' at least for one cycle.
Not urgent; will not be in 1.7.7.

--------------------------------------------------
[Discarded]

* jk/pager-with-alias (2011-08-19) 1 commit
 . support pager.* for aliases

* cb/maint-quiet-push (2011-09-05) 4 commits
 . t5541: avoid TAP test miscounting
 . push: old receive-pack does not understand --quiet
 . fix push --quiet via http
 . tests for push --quiet

Dropped for rerolling after 1.7.7 cycle.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
@ 2011-09-12 21:48 ` Junio C Hamano
  2011-09-12 21:51 ` Junio C Hamano
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 21:48 UTC (permalink / raw)
  To: Nguyễn Thái Ngọc Duy; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * nd/maint-autofix-tag-in-head (2011-08-26) 3 commits
>  - Accept tags in HEAD or MERGE_HEAD
>  - merge: remove global variable head[]
>  - merge: keep stash[] a local variable

Could you start thinking about re-rolling this for post 1.7.7 release?

Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
  2011-09-12 21:48 ` Junio C Hamano
@ 2011-09-12 21:51 ` Junio C Hamano
  2011-09-12 23:27   ` Jeff King
  2011-09-12 21:53 ` Junio C Hamano
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 21:51 UTC (permalink / raw)
  To: Jeff King; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * jk/add-i-hunk-filter (2011-07-27) 5 commits
>   (merged to 'next' on 2011-08-11 at 8ff9a56)
>  + add--interactive: add option to autosplit hunks
>  + add--interactive: allow negatation of hunk filters
>  + add--interactive: allow hunk filtering on command line
>  + add--interactive: factor out regex error handling
>  + add--interactive: refactor patch mode argument processing

Could you start thinking about completing this series, or posting a "where
to go next" summary to guide others with lessor git clout to finish with
help from people who know "add -i" codepath better (I could help), once
1.7.7 ships?

Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
  2011-09-12 21:48 ` Junio C Hamano
  2011-09-12 21:51 ` Junio C Hamano
@ 2011-09-12 21:53 ` Junio C Hamano
  2011-09-13  7:32   ` [PATCH v2] Documentation: basic configuration of notes.rewriteRef Thomas Rast
  2011-09-12 21:55 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 21:53 UTC (permalink / raw)
  To: Thomas Rast, Jeff King; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * tr/doc-note-rewrite (2011-09-05) 1 commit
>  - Documentation: "on for all" configuration of notes.rewriteRef
>
> It was questioned if the new text suggests a sane and safe thing to do.

Should we drop this post 1.7.7, or (preferrably) replace it with better
instructions?

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (2 preceding siblings ...)
  2011-09-12 21:53 ` Junio C Hamano
@ 2011-09-12 21:55 ` Junio C Hamano
  2011-09-12 21:59 ` Junio C Hamano
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 21:55 UTC (permalink / raw)
  To: Johan Herland; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * jh/receive-count-limit (2011-05-23) 10 commits
>  - receive-pack: Allow server to refuse pushes with too many objects
>  - pack-objects: Estimate pack size; abort early if pack size limit is exceeded
>  - send-pack/receive-pack: Allow server to refuse pushing too large packs
>  - pack-objects: Allow --max-pack-size to be used together with --stdout
>  - send-pack/receive-pack: Allow server to refuse pushes with too many commits
>  - pack-objects: Teach new option --max-commit-count, limiting #commits in pack
>  - receive-pack: Prepare for addition of the new 'limit-*' family of capabilities
>  - Tighten rules for matching server capabilities in server_supports()
>  - send-pack: Attempt to retrieve remote status even if pack-objects fails
>  - Update technical docs to reflect side-band-64k capability in receive-pack
>
> Would need another round to separate per-pack and per-session limits.

What's the plan for this topic?  I could keep it and list it among the 1.7.8
short-term goals once 1.7.7 ships, or I could drop it.

It is not urgent as we just went into feature freeze for 1.7.7 but please
start thinking about it.

Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (3 preceding siblings ...)
  2011-09-12 21:55 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
@ 2011-09-12 21:59 ` Junio C Hamano
  2011-09-14  2:34   ` Jonathon Mah
  2011-09-12 22:02 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 21:59 UTC (permalink / raw)
  To: Jonathon Mah, Dan McGee, David Aguilar; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * jm/mergetool-pathspec (2011-06-22) 2 commits
>  - mergetool: Don't assume paths are unmerged
>  - mergetool: Add tests for filename with whitespace
>
> I think this is a good idea, but it probably needs a re-roll.
> Cf. $gmane/176254, 176255, 166256

What's the plan for this series? Do we still want to pursue it within the
timeframe for the next round?

Is there any mergetool/difftool expert who volunteers to help moving this
topic forward?

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (4 preceding siblings ...)
  2011-09-12 21:59 ` Junio C Hamano
@ 2011-09-12 22:02 ` Junio C Hamano
  2011-09-12 23:15   ` Sverre Rabbelier
  2011-09-12 22:56 ` Junio C Hamano
                   ` (2 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 22:02 UTC (permalink / raw)
  To: Sverre Rabbelier; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * sr/transport-helper-fix-rfc (2011-07-19) 2 commits
>  - t5800: point out that deleting branches does not work
>  - t5800: document inability to push new branch with old content

I vaguely recall that one of my unrelated topics fixed the issue you were
trying to work around with this topic, or something? Can we see a re-roll
after 1.7.7 ships?

Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (5 preceding siblings ...)
  2011-09-12 22:02 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
@ 2011-09-12 22:56 ` Junio C Hamano
  2011-09-13  9:46   ` Erik Faye-Lund
  2011-09-12 22:58 ` Junio C Hamano
       [not found] ` <7vk49d5t8u.fsf@alter.siamese.dyndns.org>
  8 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 22:56 UTC (permalink / raw)
  To: Pascal Obry, Ramsay Jones, Johannes Sixt, Erik Faye-Lund; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * po/cygwin-backslash (2011-08-05) 2 commits
>  - On Cygwin support both UNIX and DOS style path-names
>  - git-compat-util: add generic find_last_dir_sep that respects is_dir_sep

Honestly I lost track of this one. How would we want to proceed on this
topic after 1.7.7?

Asking help from Windows folks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
                   ` (6 preceding siblings ...)
  2011-09-12 22:56 ` Junio C Hamano
@ 2011-09-12 22:58 ` Junio C Hamano
  2011-09-13 12:05   ` Michael J Gruber
       [not found] ` <7vk49d5t8u.fsf@alter.siamese.dyndns.org>
  8 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 22:58 UTC (permalink / raw)
  To: Sam Vilain, Michael J Gruber, Eric Wong; +Cc: git

Junio C Hamano <gitster@pobox.com> writes:

> * rj/maint-t9159-svn-rev-notation (2011-09-11) 1 commit
>  - t9159-*.sh: Add an svn version check

Ack/Nack from people involved in git-svn and/or the patch, please?

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
       [not found] ` <7vk49d5t8u.fsf@alter.siamese.dyndns.org>
@ 2011-09-12 23:15   ` Eric Sunshine
  2011-09-12 23:25     ` Junio C Hamano
  2011-09-13  7:51     ` John Szakmeister
  2011-09-12 23:35   ` Junio C Hamano
  1 sibling, 2 replies; 36+ messages in thread
From: Eric Sunshine @ 2011-09-12 23:15 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Jeff King, git, Boaz Harrosh, Brandon Casey, Thomas Rast, Alexey Shumkin

On 9/12/2011 5:46 PM, Junio C Hamano wrote:
> Junio C Hamano<gitster@pobox.com>  writes:
>
>> [Stalled]
>>
>> * jk/default-attr (2011-08-26) 1 commit
>>   - attr: map builtin userdiff drivers to well-known extensions
>>
>> Not urgent; I fixed up the test breakage just for fun.
>
> Could people who participated in the discussion make sure what is queued
> includes their favorite extensions they proposed?

The following extensions I mentioned are missing from jk/default-attr:

	"*.htm diff=html",
	"*.cpp diff=cpp",
	"*.mm diff=objc",

On Windows, .htm is common, and .cpp is required by several Windows C++ 
compilers. On Mac OS X, .mm is used for Objective-C++. The other 
extensions I mentioned (.cs, .hpp, .m) are present in jk/default-attr.

Peff also asked if uppercase extensions are common on Windows. They are, 
so one often sees .HTM, .HTML, etc. Should this issue be handled by 
jk/default-attr?

By the way, there appears to be an error in 1ff2bcf79b (attr: map 
builtin userdiff drivers to well-known extensions, 2011-08-25):

> static const char *builtin_attr[] = {
>  	"[attr]binary -diff -text",
> +	"*.html diff=html",
> 	...omitted...
> +	"*.f[0-9][0-9] diff=fortran",
> +	"*.m objc",
>  	NULL,

Shouldn't the last entry be?

	"*.m diff=objc",

(note the missing 'diff=')

-- ES

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 22:02 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
@ 2011-09-12 23:15   ` Sverre Rabbelier
  0 siblings, 0 replies; 36+ messages in thread
From: Sverre Rabbelier @ 2011-09-12 23:15 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git

Heya,

On Tue, Sep 13, 2011 at 00:02, Junio C Hamano <gitster@pobox.com> wrote:
> I vaguely recall that one of my unrelated topics fixed the issue you were
> trying to work around with this topic, or something? Can we see a re-roll
> after 1.7.7 ships?

Correct, one of your topics added a framework that would fix part of
what I was trying to fix, IIRC. I'm not sure if I'm quite up to the
task of doing that reroll, but I'll give it a shot at least :).

-- 
Cheers,

Sverre Rabbelier

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 23:15   ` Eric Sunshine
@ 2011-09-12 23:25     ` Junio C Hamano
  2011-09-12 23:33       ` Jeff King
  2011-09-13  7:51     ` John Szakmeister
  1 sibling, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 23:25 UTC (permalink / raw)
  To: Eric Sunshine
  Cc: Jeff King, git, Boaz Harrosh, Brandon Casey, Thomas Rast, Alexey Shumkin

Eric Sunshine <sunshine@sunshineco.com> writes:

> The following extensions I mentioned are missing from jk/default-attr:
>
> 	"*.htm diff=html",
> 	"*.cpp diff=cpp",
> 	"*.mm diff=objc",
>
> On Windows, .htm is common, and .cpp is required by several Windows
> C++ compilers. On Mac OS X, .mm is used for Objective-C++. The other
> extensions I mentioned (.cs, .hpp, .m) are present in jk/default-attr.
>
> Peff also asked if uppercase extensions are common on Windows. They
> are, so one often sees .HTM, .HTML, etc. Should this issue be handled
> by jk/default-attr?

I do not think we would mind adding .HTM but would people limit themselves
to uppercase while not limiting themselves to three letters and use .HTML?

> By the way, there appears to be an error in 1ff2bcf79b (attr: map
> builtin userdiff drivers to well-known extensions, 2011-08-25):
>
>> static const char *builtin_attr[] = {
>>  	"[attr]binary -diff -text",
>> +	"*.html diff=html",
>> 	...omitted...
>> +	"*.f[0-9][0-9] diff=fortran",
>> +	"*.m objc",
>>  	NULL,
>
> Shouldn't the last entry be?
>
> 	"*.m diff=objc",

Thanks for spotting. I'll locally amend only this part and hope somebody
would volunteer to submit an agreed version as the final one ;-)

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 21:51 ` Junio C Hamano
@ 2011-09-12 23:27   ` Jeff King
  2011-09-13  0:09     ` Junio C Hamano
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff King @ 2011-09-12 23:27 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Nguyen Thai Ngoc Duy, git

On Mon, Sep 12, 2011 at 02:51:48PM -0700, Junio C Hamano wrote:

> Junio C Hamano <gitster@pobox.com> writes:
> 
> > [Stalled]
> >
> > * jk/add-i-hunk-filter (2011-07-27) 5 commits
> >   (merged to 'next' on 2011-08-11 at 8ff9a56)
> >  + add--interactive: add option to autosplit hunks
> >  + add--interactive: allow negatation of hunk filters

Hmph. After seeing this in WC for weeks, I just now noticed the typo
in the patch subject.

> >  + add--interactive: allow hunk filtering on command line
> >  + add--interactive: factor out regex error handling
> >  + add--interactive: refactor patch mode argument processing
> 
> Could you start thinking about completing this series, or posting a "where
> to go next" summary to guide others with lessor git clout to finish with
> help from people who know "add -i" codepath better (I could help), once
> 1.7.7 ships?

I was really just doing this to help scratch Duy's itch. Do other people
actually find it useful? I sort of imagined he would pick up the patches
and post them as part of a series once he had something working. I
suspect until then, you could just drop them.

-Peff

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 23:25     ` Junio C Hamano
@ 2011-09-12 23:33       ` Jeff King
  2011-09-12 23:53         ` Jeff King
  2011-09-13 15:15         ` Brandon Casey
  0 siblings, 2 replies; 36+ messages in thread
From: Jeff King @ 2011-09-12 23:33 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Eric Sunshine, git, Boaz Harrosh, Brandon Casey, Thomas Rast,
	Alexey Shumkin

On Mon, Sep 12, 2011 at 04:25:31PM -0700, Junio C Hamano wrote:

> > Peff also asked if uppercase extensions are common on Windows. They
> > are, so one often sees .HTM, .HTML, etc. Should this issue be handled
> > by jk/default-attr?
> 
> I do not think we would mind adding .HTM but would people limit themselves
> to uppercase while not limiting themselves to three letters and use .HTML?

I wonder if they should all be in the style of:

  [Hh][Tt][Mm][Ll]
  [Jj][Aa][Vv][Aa]

for case-challenged systems. That feels like the wrong solution, though.
If you're on a case-insensitive system, shouldn't we perhaps be
comparing some kind of canonical version of the filename that is
lowercased? That would help these built-in attributes, as well as ones
that people write.

Or maybe that is too large a can of worms to open. I sort of assume we
have those canonicalization routines somewhere already, though.

> > Shouldn't the last entry be?
> >
> > 	"*.m diff=objc",
> 
> Thanks for spotting. I'll locally amend only this part and hope somebody
> would volunteer to submit an agreed version as the final one ;-)

I think we're missing Brandon's note that ".F" is used (as distinct from
".f", even on case-sensitive filesystems, as it has some magic meaning).
And the pascal ones somebody mentioned.

-Peff

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
       [not found] ` <7vk49d5t8u.fsf@alter.siamese.dyndns.org>
  2011-09-12 23:15   ` Eric Sunshine
@ 2011-09-12 23:35   ` Junio C Hamano
  1 sibling, 0 replies; 36+ messages in thread
From: Junio C Hamano @ 2011-09-12 23:35 UTC (permalink / raw)
  To: git
  Cc: Jeff King, Eric Sunshine, Boaz Harrosh, Brandon Casey,
	Thomas Rast, Alexey Shumkin

[resending to the list as I screwed-up the To/Cc: header in the original]

Junio C Hamano <gitster@pobox.com> writes:

> [Stalled]
>
> * jk/default-attr (2011-08-26) 1 commit
>  - attr: map builtin userdiff drivers to well-known extensions
>
> Not urgent; I fixed up the test breakage just for fun.

Could people who participated in the discussion make sure what is queued
includes their favorite extensions they proposed?

Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 23:33       ` Jeff King
@ 2011-09-12 23:53         ` Jeff King
  2011-09-13 15:15         ` Brandon Casey
  1 sibling, 0 replies; 36+ messages in thread
From: Jeff King @ 2011-09-12 23:53 UTC (permalink / raw)
  To: Junio C Hamano
  Cc: Eric Sunshine, git, Boaz Harrosh, Brandon Casey, Thomas Rast,
	Alexey Shumkin

On Mon, Sep 12, 2011 at 07:33:48PM -0400, Jeff King wrote:

> > Thanks for spotting. I'll locally amend only this part and hope somebody
> > would volunteer to submit an agreed version as the final one ;-)
> 
> I think we're missing Brandon's note that ".F" is used (as distinct from
> ".f", even on case-sensitive filesystems, as it has some magic meaning).
> And the pascal ones somebody mentioned.

I'm keeping my local version of the topic up-to-date. I'll collect any
more comments, and send the final version in a day or two.

-Peff

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 23:27   ` Jeff King
@ 2011-09-13  0:09     ` Junio C Hamano
  2011-09-13  9:24       ` Nguyen Thai Ngoc Duy
  0 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-13  0:09 UTC (permalink / raw)
  To: Jeff King; +Cc: Nguyen Thai Ngoc Duy, git

Jeff King <peff@peff.net> writes:

> ... I
> suspect until then, you could just drop them.

That's a lot simpler than having to worry about it. Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [PATCH v2] Documentation: basic configuration of notes.rewriteRef
  2011-09-12 21:53 ` Junio C Hamano
@ 2011-09-13  7:32   ` Thomas Rast
  2011-09-13 17:16     ` Junio C Hamano
  2011-09-13 17:18     ` Jeff King
  0 siblings, 2 replies; 36+ messages in thread
From: Thomas Rast @ 2011-09-13  7:32 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: git, Jeff King

Users had problems finding a working setting for notes.rewriteRef.
Document how to enable rewriting for notes/commits, which should be a
safe setting.

Signed-off-by: Thomas Rast <trast@student.ethz.ch>
---

Junio C Hamano wrote:
> Should we drop this post 1.7.7, or (preferrably) replace it with better
> instructions?

I'd replace it with this bit.  Users who have trouble setting the
variable to something useful will likely not know how to edit
non-default notes trees, either.


 Documentation/config.txt |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/Documentation/config.txt b/Documentation/config.txt
index 0ecef9d..0813812 100644
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
@@ -1464,7 +1464,8 @@ notes.rewriteRef::
 	You may also specify this configuration several times.
 +
 Does not have a default value; you must configure this variable to
-enable note rewriting.
+enable note rewriting.  Set it to `refs/notes/commits` to enable
+rewriting for the default commit notes.
 +
 This setting can be overridden with the `GIT_NOTES_REWRITE_REF`
 environment variable, which must be a colon separated list of refs or
-- 
1.7.7.rc0.487.g1b75

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 23:15   ` Eric Sunshine
  2011-09-12 23:25     ` Junio C Hamano
@ 2011-09-13  7:51     ` John Szakmeister
  2011-09-13 15:04       ` Eric Sunshine
  1 sibling, 1 reply; 36+ messages in thread
From: John Szakmeister @ 2011-09-13  7:51 UTC (permalink / raw)
  To: Eric Sunshine
  Cc: Junio C Hamano, Jeff King, git, Boaz Harrosh, Brandon Casey,
	Thomas Rast, Alexey Shumkin

On Mon, Sep 12, 2011 at 7:15 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:
[snip]
> Shouldn't the last entry be?
>
>        "*.m diff=objc",

Or maybe not there at all?  We tend to do quite a bit with Matlab, and
Matlab scripts also end in ".m".  Unfortunately, it bears little
resemblance to Objective-C.

-John

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-13  0:09     ` Junio C Hamano
@ 2011-09-13  9:24       ` Nguyen Thai Ngoc Duy
  0 siblings, 0 replies; 36+ messages in thread
From: Nguyen Thai Ngoc Duy @ 2011-09-13  9:24 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jeff King, git

On Tue, Sep 13, 2011 at 10:09 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Jeff King <peff@peff.net> writes:
>
>> ... I
>> suspect until then, you could just drop them.
>
> That's a lot simpler than having to worry about it. Thanks.

Yeah. I've been moving and having less time for open source. Plus
gnome is approaching the release date and translation work's coming
up. I'll resubmit when I get around to it.
-- 
Duy

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 22:56 ` Junio C Hamano
@ 2011-09-13  9:46   ` Erik Faye-Lund
  2011-09-29 12:03     ` Pascal Obry
  0 siblings, 1 reply; 36+ messages in thread
From: Erik Faye-Lund @ 2011-09-13  9:46 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Pascal Obry, Ramsay Jones, Johannes Sixt, git

On Tue, Sep 13, 2011 at 12:56 AM, Junio C Hamano <gitster@pobox.com> wrote:
> Junio C Hamano <gitster@pobox.com> writes:
>
>> [Stalled]
>>
>> * po/cygwin-backslash (2011-08-05) 2 commits
>>  - On Cygwin support both UNIX and DOS style path-names
>>  - git-compat-util: add generic find_last_dir_sep that respects is_dir_sep
>
> Honestly I lost track of this one. How would we want to proceed on this
> topic after 1.7.7?
>
> Asking help from Windows folks.

I believe Hannes pointed out that there were some work left to be done
on it ("enable backslash processing in setup.c:prefix_filename()"),
and I didn't spot a new version after that. He also pointed out that
enabling backslash processing would cause you to lose the ability to
escape special characters, but it sounds to me like this is something
that simply "comes with the territory" of supporting win32-paths in a
POSIX-ish environment, and is already the governing convention in
Cygwin. But I'm not an expert on this topic; Cygwin is not something I
usually care much about.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 22:58 ` Junio C Hamano
@ 2011-09-13 12:05   ` Michael J Gruber
  0 siblings, 0 replies; 36+ messages in thread
From: Michael J Gruber @ 2011-09-13 12:05 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Sam Vilain, Eric Wong, git

Junio C Hamano venit, vidit, dixit 13.09.2011 00:58:
> Junio C Hamano <gitster@pobox.com> writes:
> 
>> * rj/maint-t9159-svn-rev-notation (2011-09-11) 1 commit
>>  - t9159-*.sh: Add an svn version check
> 
> Ack/Nack from people involved in git-svn and/or the patch, please?

Not much time due to conference this week. Don't we have a version check
somewhere else in the tests already? (I may be mixing it up with git-svn
proper.) We should not dupe that and anyways libify or define a
prerequisite.

Michael

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-13  7:51     ` John Szakmeister
@ 2011-09-13 15:04       ` Eric Sunshine
  2011-09-13 17:20         ` Jeff King
  0 siblings, 1 reply; 36+ messages in thread
From: Eric Sunshine @ 2011-09-13 15:04 UTC (permalink / raw)
  To: John Szakmeister
  Cc: Junio C Hamano, Jeff King, git, Boaz Harrosh, Brandon Casey,
	Thomas Rast, Alexey Shumkin

On 9/13/2011 3:51 AM, John Szakmeister wrote:
> On Mon, Sep 12, 2011 at 7:15 PM, Eric Sunshine<sunshine@sunshineco.com>  wrote:
> [snip]
>> Shouldn't the last entry be?
>>
>>         "*.m diff=objc",
>
> Or maybe not there at all?  We tend to do quite a bit with Matlab, and
> Matlab scripts also end in ".m".  Unfortunately, it bears little
> resemblance to Objective-C.

This default mapping is provided as a convenience only. Users can edit 
.gitattributes as needed. If we assume that the number of Macintosh and 
iOS (iPhone, iPad, iPod Touch) programmers heavily outweighs the number 
of Matlab users, then the convenience of having .m in the default list 
may be justified.

It also is reasonable to ask if the "*.m diff=objc" mapping actually 
produces an inferior diff hunk-header[1] for Matlab files than when 
"diff=objc" is not present.

[1]: http://thread.gmane.org/gmane.comp.version-control.git/180103/

-- ES

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 23:33       ` Jeff King
  2011-09-12 23:53         ` Jeff King
@ 2011-09-13 15:15         ` Brandon Casey
  2011-09-13 16:05           ` Jeff King
  1 sibling, 1 reply; 36+ messages in thread
From: Brandon Casey @ 2011-09-13 15:15 UTC (permalink / raw)
  To: Jeff King
  Cc: Junio C Hamano, Eric Sunshine, git, Boaz Harrosh, Thomas Rast,
	Alexey Shumkin

On 09/12/2011 06:33 PM, Jeff King wrote:
> On Mon, Sep 12, 2011 at 04:25:31PM -0700, Junio C Hamano wrote:
> 
>>> Peff also asked if uppercase extensions are common on Windows. They
>>> are, so one often sees .HTM, .HTML, etc. Should this issue be handled
>>> by jk/default-attr?
>>
>> I do not think we would mind adding .HTM but would people limit themselves
>> to uppercase while not limiting themselves to three letters and use .HTML?
> 
> I wonder if they should all be in the style of:
> 
>   [Hh][Tt][Mm][Ll]
>   [Jj][Aa][Vv][Aa]
> 
> for case-challenged systems. That feels like the wrong solution, though.
> If you're on a case-insensitive system, shouldn't we perhaps be
> comparing some kind of canonical version of the filename that is
> lowercased? That would help these built-in attributes, as well as ones
> that people write.

Perhaps fnmatch should be using FNM_CASEFOLD when core.ignorecase is
set. We already provide compat/fnmatch/ and have NO_FNMATCH_CASEFOLD in
Makefile, so it should be safe to use.

...and I see there is already an fnmatch_icase() in dir.c which adds
FNM_CASEFOLD when the global var ignore_case is set.  So, maybe it's as
easy as:

diff --git a/attr.c b/attr.c
index 09cb4fc..b482262 100644
--- a/attr.c
+++ b/attr.c
@@ -2,6 +2,7 @@
 #include "cache.h"
 #include "exec_cmd.h"
 #include "attr.h"
+#include "dir.h"
 
 const char git_attr__true[] = "(builtin)true";
 const char git_attr__false[] = "\0(builtin)false";
@@ -649,7 +650,7 @@ static int path_matches(const char *pathname, int pathlen,
                /* match basename */
                const char *basename = strrchr(pathname, '/');
                basename = basename ? basename + 1 : pathname;
-               return (fnmatch(pattern, basename, 0) == 0);
+               return (fnmatch_icase(pattern, basename, 0) == 0);
        }
        /*
         * match with FNM_PATHNAME; the pattern has base implicitly
@@ -663,7 +664,7 @@ static int path_matches(const char *pathname, int pathlen,
                return 0;
        if (baselen != 0)
                baselen++;
-       return fnmatch(pattern, pathname + baselen, FNM_PATHNAME) == 0;
+       return fnmatch_icase(pattern, pathname + baselen, FNM_PATHNAME) == 0;
 }
 
 static int macroexpand_one(int attr_nr, int rem);


> Or maybe that is too large a can of worms to open. I sort of assume we
> have those canonicalization routines somewhere already, though.

> 
> I think we're missing Brandon's note that ".F" is used (as distinct from
> ".f", even on case-sensitive filesystems, as it has some magic meaning).
> And the pascal ones somebody mentioned.

Yep, that's all that is missing from my perspective.

-Brandon

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-13 15:15         ` Brandon Casey
@ 2011-09-13 16:05           ` Jeff King
  2011-09-13 16:22             ` Brandon Casey
  0 siblings, 1 reply; 36+ messages in thread
From: Jeff King @ 2011-09-13 16:05 UTC (permalink / raw)
  To: Brandon Casey
  Cc: Junio C Hamano, Eric Sunshine, git, Boaz Harrosh, Thomas Rast,
	Alexey Shumkin

On Tue, Sep 13, 2011 at 10:15:15AM -0500, Brandon Casey wrote:

> ...and I see there is already an fnmatch_icase() in dir.c which adds
> FNM_CASEFOLD when the global var ignore_case is set.  So, maybe it's as
> easy as:
> [...]
> -               return (fnmatch(pattern, basename, 0) == 0);
> +               return (fnmatch_icase(pattern, basename, 0) == 0);

OK, wow. That's exactly the level of easy I was hoping for. Do you want
to roll that up into a patch with some tests?

-Peff

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-13 16:05           ` Jeff King
@ 2011-09-13 16:22             ` Brandon Casey
  0 siblings, 0 replies; 36+ messages in thread
From: Brandon Casey @ 2011-09-13 16:22 UTC (permalink / raw)
  To: Jeff King
  Cc: Junio C Hamano, Eric Sunshine, git, Boaz Harrosh, Thomas Rast,
	Alexey Shumkin

On 09/13/2011 11:05 AM, Jeff King wrote:
> On Tue, Sep 13, 2011 at 10:15:15AM -0500, Brandon Casey wrote:
> 
>> ...and I see there is already an fnmatch_icase() in dir.c which adds
>> FNM_CASEFOLD when the global var ignore_case is set.  So, maybe it's as
>> easy as:
>> [...]
>> -               return (fnmatch(pattern, basename, 0) == 0);
>> +               return (fnmatch_icase(pattern, basename, 0) == 0);
> 
> OK, wow. That's exactly the level of easy I was hoping for. Do you want
> to roll that up into a patch with some tests?

I haven't even tested that it runs. :)  No, I was hoping someone 
who was more interested would finish it, and maybe even test on
an affected system.

-Brandon

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2] Documentation: basic configuration of notes.rewriteRef
  2011-09-13  7:32   ` [PATCH v2] Documentation: basic configuration of notes.rewriteRef Thomas Rast
@ 2011-09-13 17:16     ` Junio C Hamano
  2011-09-13 17:18     ` Jeff King
  1 sibling, 0 replies; 36+ messages in thread
From: Junio C Hamano @ 2011-09-13 17:16 UTC (permalink / raw)
  To: Thomas Rast; +Cc: git, Jeff King

Thomas Rast <trast@student.ethz.ch> writes:

> Users had problems finding a working setting for notes.rewriteRef.
> Document how to enable rewriting for notes/commits, which should be a
> safe setting.
>
> Signed-off-by: Thomas Rast <trast@student.ethz.ch>
> ---
>
> Junio C Hamano wrote:
>> Should we drop this post 1.7.7, or (preferrably) replace it with better
>> instructions?
>
> I'd replace it with this bit.  Users who have trouble setting the
> variable to something useful will likely not know how to edit
> non-default notes trees, either.

Ok. Thanks.

> +enable note rewriting.  Set it to `refs/notes/commits` to enable
> +rewriting for the default commit notes.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH v2] Documentation: basic configuration of notes.rewriteRef
  2011-09-13  7:32   ` [PATCH v2] Documentation: basic configuration of notes.rewriteRef Thomas Rast
  2011-09-13 17:16     ` Junio C Hamano
@ 2011-09-13 17:18     ` Jeff King
  1 sibling, 0 replies; 36+ messages in thread
From: Jeff King @ 2011-09-13 17:18 UTC (permalink / raw)
  To: Thomas Rast; +Cc: Junio C Hamano, git

On Tue, Sep 13, 2011 at 09:32:42AM +0200, Thomas Rast wrote:

> Users had problems finding a working setting for notes.rewriteRef.
> Document how to enable rewriting for notes/commits, which should be a
> safe setting.

Thanks. After our discussion, I am left with the feeling that it is
probably going to be the problem of the individual notes-refs to say "I
am immutable; don't rewrite me" (probably by putting them in some
special part of the ref namespace). But until we figure out exactly how
that will work, this is a safe and sane step forward.

-Peff

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-13 15:04       ` Eric Sunshine
@ 2011-09-13 17:20         ` Jeff King
  0 siblings, 0 replies; 36+ messages in thread
From: Jeff King @ 2011-09-13 17:20 UTC (permalink / raw)
  To: Eric Sunshine
  Cc: John Szakmeister, Junio C Hamano, git, Boaz Harrosh,
	Brandon Casey, Thomas Rast, Alexey Shumkin

On Tue, Sep 13, 2011 at 11:04:06AM -0400, Eric Sunshine wrote:

> >Or maybe not there at all?  We tend to do quite a bit with Matlab, and
> >Matlab scripts also end in ".m".  Unfortunately, it bears little
> >resemblance to Objective-C.
> 
> This default mapping is provided as a convenience only. Users can
> edit .gitattributes as needed. If we assume that the number of
> Macintosh and iOS (iPhone, iPad, iPod Touch) programmers heavily
> outweighs the number of Matlab users, then the convenience of having
> .m in the default list may be justified.

Yeah, but the cost of being wrong may be much higher than the cost of
just using the default.

> It also is reasonable to ask if the "*.m diff=objc" mapping actually
> produces an inferior diff hunk-header[1] for Matlab files than when
> "diff=objc" is not present.

I think this is the important question. Is it inferior, and how bad does
it look? And then we can weigh that against the convenience of not
having to specify objc files in gitattributes.

-Peff

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-12 21:59 ` Junio C Hamano
@ 2011-09-14  2:34   ` Jonathon Mah
  2011-09-14 20:57     ` Junio C Hamano
  0 siblings, 1 reply; 36+ messages in thread
From: Jonathon Mah @ 2011-09-14  2:34 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Dan McGee, David Aguilar, git

On 2011-09-12, at 14:59, Junio C Hamano wrote:

>> [Stalled]
>> 
>> * jm/mergetool-pathspec (2011-06-22) 2 commits
>> - mergetool: Don't assume paths are unmerged
>> - mergetool: Add tests for filename with whitespace
>> 
>> I think this is a good idea, but it probably needs a re-roll.
>> Cf. $gmane/176254, 176255, 166256
> 
> What's the plan for this series? Do we still want to pursue it within the
> timeframe for the next round?
> 
> Is there any mergetool/difftool expert who volunteers to help moving this
> topic forward?


I'd love this to stay alive. As I've mentioned before, my relationship with shell is tenuous. My biggest problem is I don't have a mental model of how quoting works, so I end up writing tests and performing trial-and-error until it works.


On 2011-06-22, at 14:33, Junio C Hamano wrote:

> Why do you need a loop here in the else clause, instead of just a single:
> 
> 	files=$(git ls-files -u -- "$@" |...)

See above (the dumb loop isn't necessary; your suggestion is much better). Should I bother re-submitting with just this change?



Jonathon Mah
me@JonathonMah.com

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-14  2:34   ` Jonathon Mah
@ 2011-09-14 20:57     ` Junio C Hamano
  2011-09-16  2:12       ` [PATCH] mergetool: Use args as pathspec to unmerged files Jonathon Mah
  0 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-14 20:57 UTC (permalink / raw)
  To: Jonathon Mah; +Cc: Dan McGee, David Aguilar, git

Jonathon Mah <me@JonathonMah.com> writes:

> On 2011-09-12, at 14:59, Junio C Hamano wrote:
>
>>> [Stalled]
>>> 
>>> * jm/mergetool-pathspec (2011-06-22) 2 commits
>>> - mergetool: Don't assume paths are unmerged
>>> - mergetool: Add tests for filename with whitespace
>> 
>> What's the plan for this series? Do we still want to pursue it within the
>> timeframe for the next round?
>> 
>> Is there any mergetool/difftool expert who volunteers to help moving this
>> topic forward?
>
> I'd love this to stay alive. As I've mentioned before, my relationship
> with shell is tenuous. My biggest problem is...

Hopefully volunteers can help moving this forward with "coding".

  http://thread.gmane.org/gmane.comp.version-control.git/176215
  http://thread.gmane.org/gmane.comp.version-control.git/176216

There were issues with the patches that were _not_ about the coding but
about the documentation and design.

Topics with a stale version in 'pu' that are stalled are not even alive--
they are zombies that need to be wiped at some point, or replaced with
updated series, whichever comes first.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [PATCH] mergetool: Use args as pathspec to unmerged files
  2011-09-14 20:57     ` Junio C Hamano
@ 2011-09-16  2:12       ` Jonathon Mah
  2011-09-16 20:17         ` Junio C Hamano
  0 siblings, 1 reply; 36+ messages in thread
From: Jonathon Mah @ 2011-09-16  2:12 UTC (permalink / raw)
  To: git; +Cc: Dan McGee, David Aguilar, Junio C Hamano

Mergetool now treats its path arguments as a pathspec (like other git
subcommands), restricting action to the given files and directories.
Files matching the pathspec are filtered so mergetool only acts on
unmerged paths; previously it would assume each path argument was in an
unresolved state, and get confused when it couldn't check out their
other stages.

Running "git mergetool subdir" will prompt to resolve all conflicted
blobs under subdir.

Signed-off-by: Jonathon Mah <me@JonathonMah.com>
---
With Junio's change, I'm happy with the code in git-mergetool.sh.
I've tried to clarify the commit message since the first submission.

 Documentation/git-mergetool.txt |    7 ++--
 git-mergetool.sh                |   76 ++++++++++++++------------------------
 t/t7610-mergetool.sh            |   58 ++++++++++++++++++++---------
 3 files changed, 72 insertions(+), 69 deletions(-)

diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt
index 3470910..2a49de7 100644
--- a/Documentation/git-mergetool.txt
+++ b/Documentation/git-mergetool.txt
@@ -17,9 +17,10 @@ Use `git mergetool` to run one of several merge utilities to resolve
 merge conflicts.  It is typically run after 'git merge'.
 
 If one or more <file> parameters are given, the merge tool program will
-be run to resolve differences on each file.  If no <file> names are
-specified, 'git mergetool' will run the merge tool program on every file
-with merge conflicts.
+be run to resolve differences on each file (skipping those without
+conflicts).  Specifying a directory will include all unresolved files in
+that path.  If no <file> names are specified, 'git mergetool' will run
+the merge tool program on every file with merge conflicts.
 
 OPTIONS
 -------
diff --git a/git-mergetool.sh b/git-mergetool.sh
index 3c157bc..12a2706 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -342,64 +342,44 @@ merge_keep_temporaries="$(git config --bool mergetool.keepTemporaries || echo fa
 
 last_status=0
 rollup_status=0
-rerere=false
-
-files_to_merge() {
-    if test "$rerere" = true
-    then
-	git rerere remaining
-    else
-	git ls-files -u | sed -e 's/^[^	]*	//' | sort -u
-    fi
-}
-
+files=
 
 if test $# -eq 0 ; then
     cd_to_toplevel
 
     if test -e "$GIT_DIR/MERGE_RR"
     then
-	rerere=true
+	files=$(git rerere remaining)
+    else
+	files=$(git ls-files -u | sed -e 's/^[^	]*	//' | sort -u)
     fi
+else
+    files=$(git ls-files -u -- "$@" | sed -e 's/^[^	]*	//' | sort -u)
+fi
 
-    files=$(files_to_merge)
-    if test -z "$files" ; then
-	echo "No files need merging"
-	exit 0
-    fi
+if test -z "$files" ; then
+    echo "No files need merging"
+    exit 0
+fi
 
-    # Save original stdin
-    exec 3<&0
+# Save original stdin
+exec 3<&0
 
-    printf "Merging:\n"
-    printf "$files\n"
+printf "Merging:\n"
+printf "$files\n"
 
-    files_to_merge |
-    while IFS= read i
-    do
-	if test $last_status -ne 0; then
-	    prompt_after_failed_merge <&3 || exit 1
-	fi
-	printf "\n"
-	merge_file "$i" <&3
-	last_status=$?
-	if test $last_status -ne 0; then
-	    rollup_status=1
-	fi
-    done
-else
-    while test $# -gt 0; do
-	if test $last_status -ne 0; then
-	    prompt_after_failed_merge || exit 1
-	fi
-	printf "\n"
-	merge_file "$1"
-	last_status=$?
-	if test $last_status -ne 0; then
-	    rollup_status=1
-	fi
-	shift
-    done
-fi
+IFS='
+'; for i in $files
+do
+    if test $last_status -ne 0; then
+	prompt_after_failed_merge <&3 || exit 1
+    fi
+    printf "\n"
+    merge_file "$i" <&3
+    last_status=$?
+    if test $last_status -ne 0; then
+	rollup_status=1
+    fi
+done
 
 exit $rollup_status
diff --git a/t/t7610-mergetool.sh b/t/t7610-mergetool.sh
index cbc08e3..4aab2a7 100755
--- a/t/t7610-mergetool.sh
+++ b/t/t7610-mergetool.sh
@@ -16,6 +16,7 @@ Testing basic merge tool invocation'
 test_expect_success 'setup' '
     git config rerere.enabled true &&
     echo master >file1 &&
+    echo master spaced >"spaced name" &&
     echo master file11 >file11 &&
     echo master file12 >file12 &&
     echo master file13 >file13 &&
@@ -30,13 +31,14 @@ test_expect_success 'setup' '
 	git commit -m "Add foo"
     ) &&
     git submodule add git://example.com/submod submod &&
-    git add file1 file1[1-4] subdir/file3 .gitmodules submod &&
+    git add file1 "spaced name" file1[1-4] subdir/file3 .gitmodules submod &&
     git commit -m "add initial versions" &&
 
     git checkout -b branch1 master &&
     git submodule update -N &&
     echo branch1 change >file1 &&
     echo branch1 newfile >file2 &&
+    echo branch1 spaced >"spaced name" &&
     echo branch1 change file11 >file11 &&
     echo branch1 change file13 >file13 &&
     echo branch1 sub >subdir/file3 &&
@@ -47,7 +49,7 @@ test_expect_success 'setup' '
 	git commit -m "Add bar on branch1" &&
 	git checkout -b submod-branch1
     ) &&
-    git add file1 file11 file13 file2 subdir/file3 submod &&
+    git add file1 "spaced name" file11 file13 file2 subdir/file3 submod &&
     git rm file12 &&
     git commit -m "branch1 changes" &&
 
@@ -55,6 +57,7 @@ test_expect_success 'setup' '
     git submodule update -N &&
     echo master updated >file1 &&
     echo master new >file2 &&
+    echo master updated spaced >"spaced name" &&
     echo master updated file12 >file12 &&
     echo master updated file14 >file14 &&
     echo master new sub >subdir/file3 &&
@@ -65,7 +68,7 @@ test_expect_success 'setup' '
 	git commit -m "Add bar on master" &&
 	git checkout -b submod-master
     ) &&
-    git add file1 file12 file14 file2 subdir/file3 submod &&
+    git add file1 "spaced name" file12 file14 file2 subdir/file3 submod &&
     git rm file11 &&
     git commit -m "master updates" &&
 
@@ -78,8 +81,8 @@ test_expect_success 'custom mergetool' '
     git checkout -b test1 branch1 &&
     git submodule update -N &&
     test_must_fail git merge master >/dev/null 2>&1 &&
-    ( yes "" | git mergetool file1 >/dev/null 2>&1 ) &&
-    ( yes "" | git mergetool file2 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file1 ) &&
+    ( yes "" | git mergetool file2 "spaced name" >/dev/null 2>&1 ) &&
     ( yes "" | git mergetool subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
@@ -97,6 +100,7 @@ test_expect_success 'mergetool crlf' '
     test_must_fail git merge master >/dev/null 2>&1 &&
     ( yes "" | git mergetool file1 >/dev/null 2>&1 ) &&
     ( yes "" | git mergetool file2 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool "spaced name" >/dev/null 2>&1 ) &&
     ( yes "" | git mergetool subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
@@ -126,7 +130,7 @@ test_expect_success 'mergetool on file in parent dir' '
     (
 	cd subdir &&
 	( yes "" | git mergetool ../file1 >/dev/null 2>&1 ) &&
-	( yes "" | git mergetool ../file2 >/dev/null 2>&1 ) &&
+	( yes "" | git mergetool ../file2 ../spaced\ name >/dev/null 2>&1 ) &&
 	( yes "d" | git mergetool ../file11 >/dev/null 2>&1 ) &&
 	( yes "d" | git mergetool ../file12 >/dev/null 2>&1 ) &&
 	( yes "l" | git mergetool ../submod >/dev/null 2>&1 ) &&
@@ -180,6 +184,24 @@ test_expect_success 'mergetool skips resolved paths when rerere is active' '
     git reset --hard
 '
 
+test_expect_success 'mergetool takes partial path' '
+    git config rerere.enabled false &&
+    git checkout -b test12 branch1 &&
+    git submodule update -N &&
+    test_must_fail git merge master &&
+
+    #shouldnt need these lines
+    #( yes "d" | git mergetool file11 >/dev/null 2>&1 ) &&
+    #( yes "d" | git mergetool file12 >/dev/null 2>&1 ) &&
+    #( yes "l" | git mergetool submod >/dev/null 2>&1 ) &&
+    #( yes "" | git mergetool file1 file2 >/dev/null 2>&1 ) &&
+
+    ( yes "" | git mergetool subdir ) &&
+
+    test "$(cat subdir/file3)" = "master new sub" &&
+    git reset --hard
+'
+
 test_expect_success 'deleted vs modified submodule' '
     git checkout -b test6 branch1 &&
     git submodule update -N &&
@@ -189,7 +211,7 @@ test_expect_success 'deleted vs modified submodule' '
     git checkout -b test6.a test6 &&
     test_must_fail git merge master &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "r" | git mergetool submod ) &&
     rmdir submod && mv submod-movedaside submod &&
@@ -205,7 +227,7 @@ test_expect_success 'deleted vs modified submodule' '
     git submodule update -N &&
     test_must_fail git merge master &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "l" | git mergetool submod ) &&
     test ! -e submod &&
@@ -218,7 +240,7 @@ test_expect_success 'deleted vs modified submodule' '
     git submodule update -N &&
     test_must_fail git merge test6 &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "r" | git mergetool submod ) &&
     test ! -e submod &&
@@ -233,7 +255,7 @@ test_expect_success 'deleted vs modified submodule' '
     git submodule update -N &&
     test_must_fail git merge test6 &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "l" | git mergetool submod ) &&
     test "$(cat submod/bar)" = "master submodule" &&
@@ -256,7 +278,7 @@ test_expect_success 'file vs modified submodule' '
     git checkout -b test7.a branch1 &&
     test_must_fail git merge master &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "r" | git mergetool submod ) &&
     rmdir submod && mv submod-movedaside submod &&
@@ -271,7 +293,7 @@ test_expect_success 'file vs modified submodule' '
     git checkout -b test7.b test7 &&
     test_must_fail git merge master &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "l" | git mergetool submod ) &&
     git submodule update -N &&
@@ -286,7 +308,7 @@ test_expect_success 'file vs modified submodule' '
     git submodule update -N &&
     test_must_fail git merge test7 &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "r" | git mergetool submod ) &&
     test -d submod.orig &&
@@ -301,7 +323,7 @@ test_expect_success 'file vs modified submodule' '
     git submodule update -N &&
     test_must_fail git merge test7 &&
     test -n "$(git ls-files -u)" &&
-    ( yes "" | git mergetool file1 file2 subdir/file3 >/dev/null 2>&1 ) &&
+    ( yes "" | git mergetool file1 file2 spaced\ name subdir/file3 >/dev/null 2>&1 ) &&
     ( yes "d" | git mergetool file11 file12 >/dev/null 2>&1 ) &&
     ( yes "l" | git mergetool submod ) &&
     test "$(cat submod/bar)" = "master submodule" &&
@@ -388,7 +410,7 @@ test_expect_success 'directory vs modified submodule' '
     test "$(cat submod/file16)" = "not a submodule" &&
     rm -rf submod.orig &&
 
-    git reset --hard &&
+    git reset --hard >/dev/null 2>&1 &&
     test_must_fail git merge master &&
     test -n "$(git ls-files -u)" &&
     test ! -e submod.orig &&
@@ -400,7 +422,7 @@ test_expect_success 'directory vs modified submodule' '
     ( cd submod && git clean -f && git reset --hard ) &&
     git submodule update -N &&
     test "$(cat submod/bar)" = "master submodule" &&
-    git reset --hard && rm -rf submod-movedaside &&
+    git reset --hard >/dev/null 2>&1 && rm -rf submod-movedaside &&
 
     git checkout -b test11.c master &&
     git submodule update -N &&
@@ -410,7 +432,7 @@ test_expect_success 'directory vs modified submodule' '
     git submodule update -N &&
     test "$(cat submod/bar)" = "master submodule" &&
 
-    git reset --hard &&
+    git reset --hard >/dev/null 2>&1 &&
     git submodule update -N &&
     test_must_fail git merge test11 &&
     test -n "$(git ls-files -u)" &&
@@ -418,7 +440,7 @@ test_expect_success 'directory vs modified submodule' '
     ( yes "r" | git mergetool submod ) &&
     test "$(cat submod/file16)" = "not a submodule" &&
 
-    git reset --hard master &&
+    git reset --hard master >/dev/null 2>&1 &&
     ( cd submod && git clean -f && git reset --hard ) &&
     git submodule update -N
 '
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: [PATCH] mergetool: Use args as pathspec to unmerged files
  2011-09-16  2:12       ` [PATCH] mergetool: Use args as pathspec to unmerged files Jonathon Mah
@ 2011-09-16 20:17         ` Junio C Hamano
  2011-09-25  0:45           ` David Aguilar
  0 siblings, 1 reply; 36+ messages in thread
From: Junio C Hamano @ 2011-09-16 20:17 UTC (permalink / raw)
  To: Jonathon Mah; +Cc: git, Dan McGee, David Aguilar

Jonathon Mah <me@JonathonMah.com> writes:

> Mergetool now treats its path arguments as a pathspec (like other git
> subcommands), restricting action to the given files and directories.
> Files matching the pathspec are filtered so mergetool only acts on
> unmerged paths; previously it would assume each path argument was in an
> unresolved state, and get confused when it couldn't check out their
> other stages.
>
> Running "git mergetool subdir" will prompt to resolve all conflicted
> blobs under subdir.
>
> Signed-off-by: Jonathon Mah <me@JonathonMah.com>

It looks like this simplifies the code quote a bit and make the result
easier to follow ;-)  Nicely done.

As nobody reads from a pipe in while loop and runs merge_file or prompt
inside, there no longer is a reason to redirect the original standard
input and make it available, hence we could perhaps add this patch on top
of your change.

Ack from mergetool/difftool folks?

Thanks.

 git-mergetool.sh |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/git-mergetool.sh b/git-mergetool.sh
index 83551c7..0a06bde 100755
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
@@ -362,20 +362,18 @@ if test -z "$files" ; then
     exit 0
 fi
 
-# Save original stdin
-exec 3<&0
-
 printf "Merging:\n"
 printf "$files\n"
 
 IFS='
-'; for i in $files
+'
+for i in $files
 do
     if test $last_status -ne 0; then
-	prompt_after_failed_merge <&3 || exit 1
+	prompt_after_failed_merge || exit 1
     fi
     printf "\n"
-    merge_file "$i" <&3
+    merge_file "$i"
     last_status=$?
     if test $last_status -ne 0; then
 	rollup_status=1

^ permalink raw reply related	[flat|nested] 36+ messages in thread

* Re: [PATCH] mergetool: Use args as pathspec to unmerged files
  2011-09-16 20:17         ` Junio C Hamano
@ 2011-09-25  0:45           ` David Aguilar
  2011-09-26 16:40             ` Junio C Hamano
  0 siblings, 1 reply; 36+ messages in thread
From: David Aguilar @ 2011-09-25  0:45 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Jonathon Mah, git, Dan McGee

On Fri, Sep 16, 2011 at 01:17:10PM -0700, Junio C Hamano wrote:
> Jonathon Mah <me@JonathonMah.com> writes:
> 
> > Mergetool now treats its path arguments as a pathspec (like other git
> > subcommands), restricting action to the given files and directories.
> > Files matching the pathspec are filtered so mergetool only acts on
> > unmerged paths; previously it would assume each path argument was in an
> > unresolved state, and get confused when it couldn't check out their
> > other stages.
> >
> > Running "git mergetool subdir" will prompt to resolve all conflicted
> > blobs under subdir.
> >
> > Signed-off-by: Jonathon Mah <me@JonathonMah.com>
> 
> It looks like this simplifies the code quote a bit and make the result
> easier to follow ;-)  Nicely done.
> 
> As nobody reads from a pipe in while loop and runs merge_file or prompt
> inside, there no longer is a reason to redirect the original standard
> input and make it available, hence we could perhaps add this patch on top
> of your change.
> 
> Ack from mergetool/difftool folks?

I've been on vacation and am just catching up with my git mail.

I just tested:
6bed9767daaa "Merge branch 'jm/mergetool-pathspec' into pu"
and it looks good to me.

FWIW,
Acked-by: David Aguilar <davvid@gmail.com>

Being able to do "git mergetool -- subdir" is very nice!
Thanks guys,
-- 
					David

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [PATCH] mergetool: Use args as pathspec to unmerged files
  2011-09-25  0:45           ` David Aguilar
@ 2011-09-26 16:40             ` Junio C Hamano
  0 siblings, 0 replies; 36+ messages in thread
From: Junio C Hamano @ 2011-09-26 16:40 UTC (permalink / raw)
  To: David Aguilar; +Cc: Jonathon Mah, git, Dan McGee

David Aguilar <davvid@gmail.com> writes:

>> Ack from mergetool/difftool folks?
> ...
> Acked-by: David Aguilar <davvid@gmail.com>
>
> Being able to do "git mergetool -- subdir" is very nice!
> Thanks guys,

Thanks.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: What's cooking in git.git (Sep 2011, #04; Mon, 12)
  2011-09-13  9:46   ` Erik Faye-Lund
@ 2011-09-29 12:03     ` Pascal Obry
  0 siblings, 0 replies; 36+ messages in thread
From: Pascal Obry @ 2011-09-29 12:03 UTC (permalink / raw)
  To: kusmabite; +Cc: Junio C Hamano, Ramsay Jones, Johannes Sixt, git

Le 13/09/2011 11:46, Erik Faye-Lund a écrit :
> On Tue, Sep 13, 2011 at 12:56 AM, Junio C Hamano<gitster@pobox.com>  wrote:
>> Junio C Hamano<gitster@pobox.com>  writes:
>>
>>> [Stalled]
>>>
>>> * po/cygwin-backslash (2011-08-05) 2 commits
>>>   - On Cygwin support both UNIX and DOS style path-names
>>>   - git-compat-util: add generic find_last_dir_sep that respects is_dir_sep
>>
>> Honestly I lost track of this one. How would we want to proceed on this
>> topic after 1.7.7?
>>
>> Asking help from Windows folks.
>
> I believe Hannes pointed out that there were some work left to be done
> on it ("enable backslash processing in setup.c:prefix_filename()"),
> and I didn't spot a new version after that. He also pointed out that
> enabling backslash processing would cause you to lose the ability to
> escape special characters, but it sounds to me like this is something
> that simply "comes with the territory" of supporting win32-paths in a
> POSIX-ish environment, and is already the governing convention in
> Cygwin. But I'm not an expert on this topic; Cygwin is not something I
> usually care much about.

Same here, not expert. I just can say that this at least fixes a real 
problem and the patches (provided by Theo and I) are going in the right 
direction. They may be some other issues about Windows backslash (my 
experiences show that there is very entertaining issues with this!) but 
I don't think we should hold those patches except if someone prove them 
to be wrong.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|    http://www.obry.net  -  http://v2p.fr.eu.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2011-09-29 12:04 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-12 20:16 What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
2011-09-12 21:48 ` Junio C Hamano
2011-09-12 21:51 ` Junio C Hamano
2011-09-12 23:27   ` Jeff King
2011-09-13  0:09     ` Junio C Hamano
2011-09-13  9:24       ` Nguyen Thai Ngoc Duy
2011-09-12 21:53 ` Junio C Hamano
2011-09-13  7:32   ` [PATCH v2] Documentation: basic configuration of notes.rewriteRef Thomas Rast
2011-09-13 17:16     ` Junio C Hamano
2011-09-13 17:18     ` Jeff King
2011-09-12 21:55 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
2011-09-12 21:59 ` Junio C Hamano
2011-09-14  2:34   ` Jonathon Mah
2011-09-14 20:57     ` Junio C Hamano
2011-09-16  2:12       ` [PATCH] mergetool: Use args as pathspec to unmerged files Jonathon Mah
2011-09-16 20:17         ` Junio C Hamano
2011-09-25  0:45           ` David Aguilar
2011-09-26 16:40             ` Junio C Hamano
2011-09-12 22:02 ` What's cooking in git.git (Sep 2011, #04; Mon, 12) Junio C Hamano
2011-09-12 23:15   ` Sverre Rabbelier
2011-09-12 22:56 ` Junio C Hamano
2011-09-13  9:46   ` Erik Faye-Lund
2011-09-29 12:03     ` Pascal Obry
2011-09-12 22:58 ` Junio C Hamano
2011-09-13 12:05   ` Michael J Gruber
     [not found] ` <7vk49d5t8u.fsf@alter.siamese.dyndns.org>
2011-09-12 23:15   ` Eric Sunshine
2011-09-12 23:25     ` Junio C Hamano
2011-09-12 23:33       ` Jeff King
2011-09-12 23:53         ` Jeff King
2011-09-13 15:15         ` Brandon Casey
2011-09-13 16:05           ` Jeff King
2011-09-13 16:22             ` Brandon Casey
2011-09-13  7:51     ` John Szakmeister
2011-09-13 15:04       ` Eric Sunshine
2011-09-13 17:20         ` Jeff King
2011-09-12 23:35   ` Junio C Hamano

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.