git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* What's cooking in git.git (Nov 2010, #03; Wed, 24)
@ 2010-11-25  3:16 Junio C Hamano
  2010-11-25  3:42 ` Jiang Xin
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: Junio C Hamano @ 2010-11-25  3: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 ones
marked with '.' do not appear in any of the integration branches, but I am
still holding onto them.

Tonight's pushout may be a bit less stable than usual, as I am pushing
this out without waiting for the usual test cycle I ran on the kernel.org
machine, but hey, small breakage here and there will give something for
people to take a look at when they are bored eating roasted bird ;-)

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

* ef/win32-dirent (2010-11-23) 6 commits
 - win32: use our own dirent.h
 - msvc: opendir: handle paths ending with a slash
 - win32: dirent: handle errors
 - msvc: opendir: do not start the search
 - msvc: opendir: allocate enough memory
 - msvc: opendir: fix malloc-failure

* jk/asciidoc-update (2010-11-19) 1 commit
 - docs: default to more modern toolset

* jk/maint-reflog-bottom (2010-11-21) 1 commit
 - reflogs: clear flags properly in corner case

* jn/fast-import-ondemand-checkpoint (2010-11-22) 1 commit
 - fast-import: treat SIGUSR1 as a request to access objects early

* jn/maint-fast-import-object-reuse (2010-11-23) 1 commit
 - fast-import: insert new object entries at start of hash bucket

* jn/maint-svn-fe (2010-10-10) 1 commit
 - t9010 (svn-fe): Eliminate dependency on svn perl bindings

* jn/svn-fe (2010-11-19) 17 commits
 - vcs-svn: Implement Prop-delta handling
 - vcs-svn: Sharpen parsing of property lines
 - vcs-svn: Split off function for handling of individual properties
 - vcs-svn: Make source easier to read on small screens
 - vcs-svn: More dump format sanity checks
 - vcs-svn: Reject path nodes without Node-action
 - vcs-svn: Delay read of per-path properties
 - vcs-svn: Combine repo_replace and repo_modify functions
 - vcs-svn: Replace = Delete + Add
 - vcs-svn: handle_node: Handle deletion case early
 - vcs-svn: Use mark to indicate nodes with included text
 - vcs-svn: Unclutter handle_node by introducing have_props var
 - vcs-svn: Eliminate node_ctx.mark global
 - vcs-svn: Eliminate node_ctx.srcRev global
 - vcs-svn: Check for errors from open()
 - vcs-svn: Allow simple v3 dumps (no deltas yet)
 - vcs-svn: Error out for v3 dumps

Some RFC patches, to give them early and wider exposure.

* mz/rebase-abort-reflog-fix (2010-11-21) 1 commit
 - rebase --abort: do not update branch ref

* mz/rebase-i-verify (2010-11-22) 1 commit
 - rebase: support --verify

* nd/maint-relative (2010-11-20) 1 commit
 - get_cwd_relative(): do not misinterpret root path

* tc/format-patch-p (2010-11-23) 1 commit
 - format-patch: page output with --stdout

* tc/http-urls-ends-with-slash (2010-11-22) 7 commits
 - http-push: add trailing slash at arg-parse time, instead of later on
 - http-push: check path length before using it
 - http-push: Normalise directory names when pushing to some WebDAV servers
 - http-backend: use end_url_with_slash()
 - url: add str wrapper for end_url_with_slash()
 - shift end_url_with_slash() from http.[ch] to url.[ch]
 - t5550-http-fetch: add missing '&&'

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

* ao/send-email-irt (2010-11-12) 2 commits
  (merged to 'next' on 2010-11-15 at 257c77a)
 + git-send-email.perl: make initial In-Reply-To apply only to first email
  (merged to 'next' on 2010-11-08 at d103166)
 + t9001: send-email interation with --in-reply-to and --chain-reply-to

* cb/maint-orphan-merge-noclobber (2010-11-14) 1 commit
  (merged to 'next' on 2010-11-15 at 046c5e5)
 + do not overwrite untracked during merge from unborn branch

* ef/mingw-daemon (2010-11-04) 16 commits
  (merged to 'next' on 2010-11-17 at 4a295c7)
 + daemon: opt-out on features that require posix
 + daemon: make --inetd and --detach incompatible
 + daemon: use socklen_t
 + mingw: use poll-emulation from gnulib
 + mingw: import poll-emulation from gnulib
 + daemon: get remote host address from root-process
 + Improve the mingw getaddrinfo stub to handle more use cases
 + daemon: use full buffered mode for stderr
 + daemon: use run-command api for async serving
 + mingw: add kill emulation
 + mingw: support waitpid with pid > 0 and WNOHANG
 + mingw: use real pid
 + inet_ntop: fix a couple of old-style decls
 + compat: add inet_pton and inet_ntop prototypes
 + mingw: implement syslog
 + mingw: add network-wrappers for daemon

* en/and-cascade-tests (2010-10-31) 25 commits
  (merged to 'next' on 2010-11-15 at d51ec77)
 + t4124 (apply --whitespace): use test_might_fail
 + t3404: do not use 'describe' to implement test_cmp_rev
 + t3404 (rebase -i): introduce helper to check position of HEAD
 + t3404 (rebase -i): move comment to description
 + t3404 (rebase -i): unroll test_commit loops
 + t3301 (notes): use test_expect_code for clarity
 + t1400 (update-ref): use test_must_fail
 + t1502 (rev-parse --parseopt): test exit code from "-h"
 + t6022 (renaming merge): chain test commands with &&
 + test-lib: introduce test_line_count to measure files
 + tests: add missing &&, batch 2
 + tests: add missing &&
 + Introduce sane_unset and use it to ensure proper && chaining
 + t7800 (difftool): add missing &&
 + t7601 (merge-pull-config): add missing &&
 + t7001 (mv): add missing &&
 + t6016 (rev-list-graph-simplify-history): add missing &&
 + t5602 (clone-remote-exec): add missing &&
 + t4026 (color): remove unneeded and unchained command
 + t4019 (diff-wserror): add lots of missing &&
 + t4202 (log): Replace '<git-command> || :' with test_might_fail
 + t4002 (diff-basic): use test_might_fail for commands that might fail
 + t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing &&
 + t4017 (diff-retval): replace manual exit code check with test_expect_code
 + test-lib: make test_expect_code a test command
 (this branch is used by jn/git-cmd-h-bypass-setup.)

* jk/add-e-doc (2010-11-08) 2 commits
  (merged to 'next' on 2010-11-15 at e971401)
 + docs: give more hints about how "add -e" works
  (merged to 'next' on 2010-11-05 at 389fee7)
 + docs: give more hints about how "add -e" works

* kb/maint-rebase-autosquash (2010-11-04) 2 commits
  (merged to 'next' on 2010-11-15 at 9b8c830)
 + rebase: teach --autosquash to match on sha1 in addition to message
 + rebase: better rearranging of fixup!/squash! lines with --autosquash

* mm/phrase-remote-tracking (2010-11-02) 10 commits
  (merged to 'next' on 2010-11-15 at 07d67f4)
 + git-branch.txt: mention --set-upstream as a way to change upstream configuration
 + user-manual: remote-tracking can be checked out, with detached HEAD
 + user-manual.txt: explain better the remote(-tracking) branch terms
 + Change incorrect "remote branch" to "remote tracking branch" in C code
 + Change incorrect uses of "remote branch" meaning "remote-tracking"
 + Change "tracking branch" to "remote-tracking branch"
 + everyday.txt: change "tracking branch" to "remote-tracking branch"
 + Change remote tracking to remote-tracking in non-trivial places
 + Replace "remote tracking" with "remote-tracking"
 + Better "Changed but not updated" message in git-status

* rs/opt-help-text (2010-11-08) 8 commits
  (merged to 'next' on 2010-11-15 at 631c222)
 + verify-tag: document --verbose
 + branch: improve --verbose description
 + archive: improve --verbose description
 + Describe various forms of "be quiet" using OPT__QUIET
 + add OPT__FORCE
 + add description parameter to OPT__QUIET
 + add description parameter to OPT__DRY_RUN
 + add description parameter to OPT__VERBOSE

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

* nd/index-doc (2010-09-06) 1 commit
 - doc: technical details about the index file format

Half-written but it is a good start.  I may need to give some help in
describing more recent index extensions.

* cb/ignored-paths-are-precious (2010-08-21) 1 commit
 - checkout/merge: optionally fail operation when ignored files need to be overwritten

This needs tests; also we know of longstanding bugs in related area that
needs to be addressed---they do not have to be part of this series but
their reproduction recipe would belong to the test script for this topic.

It would hurt users to make the new feature on by default, especially the
ones with subdirectories that come and go.

* jk/tag-contains (2010-07-05) 4 commits
 - Why is "git tag --contains" so slow?
 - default core.clockskew variable to one day
 - limit "contains" traversals based on commit timestamp
 - tag: speed up --contains calculation

The idea of the bottom one is probably Ok, except that the use of object
flags needs to be rethought, or at least the helper needs to be moved to
builtin/tag.c to make it clear that it should not be used outside the
current usage context.

* tr/config-doc (2010-10-24) 2 commits
 . Documentation: complete config list from other manpages
 . Documentation: Move variables from config.txt to separate file

This unfortunately heavily conflicts with patches in flight...

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

* gb/gitweb-remote-heads (2010-11-11) 11 commits
  (merged to 'next' on 2010-11-24 at 6fb4a6f)
 + git instaweb: enable remote_heads
 + gitweb: group remote heads by remote
 + gitweb: provide a routine to display (sub)sections
 + gitweb: refactor repository URL printing
 + gitweb: remotes view for a single remote
 + gitweb: allow action specialization in page header
 + gitweb: nagivation menu for tags, heads and remotes
 + gitweb: separate heads and remotes lists
 + gitweb: git_get_heads_list accepts an optional list of refs
 + gitweb: introduce remote_heads feature
 + gitweb: use fullname as hash_base in heads link

* gc/http-with-non-ascii-username-url (2010-11-14) 2 commits
  (merged to 'next' on 2010-11-24 at 08f317f)
 + Fix username and password extraction from HTTP URLs
 + t5550: test HTTP authentication and userinfo decoding

* jk/maint-decorate-01-bool (2010-11-17) 1 commit
  (merged to 'next' on 2010-11-24 at 347f73b)
 + log.decorate: accept 0/1 bool values
 (this branch is used by jk/pager-per-command.)

* jk/pager-per-command (2010-11-17) 1 commit
  (merged to 'next' on 2010-11-24 at 9ebcffc)
 + allow command-specific pagers in pager.<cmd>
 (this branch uses jk/maint-decorate-01-bool.)

* jn/getenv-poison (2010-11-12) 1 commit
 . add GETENV_POISON option to simulate unfriendly getenv()
 (this branch uses ks/maint-getenv-fix.)

* jn/gitweb-time-hires-comes-with-5.8 (2010-11-09) 1 commit
  (merged to 'next' on 2010-11-24 at 6b91b41)
 + gitweb: Time::HiRes is in core for Perl 5.8

* jn/ignore-doc (2010-11-10) 2 commits
  (merged to 'next' on 2010-11-24 at c0a9730)
 + Documentation: point to related commands from gitignore
 + Documentation: split gitignore page into sections

* jn/thinner-wrapper (2010-11-06) 7 commits
  (merged to 'next' on 2010-11-24 at 3f2227d)
 + Remove pack file handling dependency from wrapper.o
 + pack-objects: mark file-local variable static
 + wrapper: give zlib wrappers their own translation unit
 + strbuf: move strbuf_branchname to sha1_name.c
 + path helpers: move git_mkstemp* to wrapper.c
 + wrapper: move odb_* to environment.c
 + wrapper: move xmmap() to sha1_file.c

* ks/maint-getenv-fix (2010-11-11) 1 commit
  (merged to 'next' on 2010-11-24 at fa89826)
 + setup: make sure git_dir path is in a permanent buffer, getenv(3) case
 (this branch is used by jn/getenv-poison.)

* nd/extended-sha1-relpath (2010-11-11) 2 commits
 - get_sha1: support relative path ":path" syntax
 - Make prefix_path() return char* without const
 (this branch uses jn/parse-options-extra.)

* nd/maint-fix-add-typo-detection (2010-11-11) 1 commit
  (merged to 'next' on 2010-11-24 at 6832306)
 + add: do not rely on dtype being NULL behavior

* jh/gitweb-caching (2010-11-01) 4 commits
 - gitweb: Minimal testing of gitweb caching
 - gitweb: File based caching layer (from git.kernel.org)
 - gitweb: add output buffering and associated functions
 - gitweb: Prepare for splitting gitweb

* jc/abbrev-guard (2010-10-28) 1 commit
  (merged to 'next' on 2010-11-24 at f26c943)
 + core.abbrevguard: Ensure short object names stay unique a bit longer

* jc/emfile (2010-10-28) 2 commits
  (merged to 'next' on 2010-11-17 at dac1bc6)
 + A loose object is not corrupt if it cannot be read due to EMFILE
 + read_sha1_file(): report correct name of packfile with a corrupt object
 (this branch is used by sp/emfile.)

* sp/emfile (2010-11-01) 2 commits
  (merged to 'next' on 2010-11-24 at f46d2ce)
 + Work around EMFILE when there are too many pack files
 + Use git_open_noatime when accessing pack data
 (this branch uses jc/emfile.)

* jl/add-p-reverse-message (2010-10-27) 1 commit
  (merged to 'next' on 2010-11-17 at db2ce14)
 + Correct help blurb in checkout -p and friends

* jl/clone-recurse-sm-synonym (2010-11-04) 1 commit
  (merged to 'next' on 2010-11-17 at 8c326c2)
 + clone: Add the --recurse-submodules option as alias for --recursive

* jn/cherry-pick-refresh-index (2010-10-31) 1 commit
  (merged to 'next' on 2010-11-17 at 75e9103)
 + cherry-pick/revert: transparently refresh index

* jn/parse-options-extra (2010-10-24) 4 commits
 - update-index: migrate to parse-options API
 - setup: save prefix (original cwd relative to toplevel) in startup_info
 - parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION
 - parse-options: allow git commands to invent new option types
 (this branch is used by nd/extended-sha1-relpath.)

Wait for a reroll from Jonathan (2010-11-09).

* md/interix (2010-10-27) 2 commits
  (merged to 'next' on 2010-11-17 at 2a8b562)
 + Interix: add configure checks
 + add support for the SUA layer (interix; windows)

* nd/setup (2010-11-11) 47 commits
 - git.txt: correct where --work-tree path is relative to
 - Revert "Documentation: always respect core.worktree if set"
 - t0001: test git init when run via an alias
 - Remove all logic from get_git_work_tree()
 - setup: rework setup_explicit_git_dir()
 - setup: clean up setup_discovered_git_dir()
 - t1020-subdirectory: test alias expansion in a subdirectory
 - setup: clean up setup_bare_git_dir()
 - setup: limit get_git_work_tree()'s to explicit setup case only
 - Use git_config_early() instead of git_config() during repo setup
 - Add git_config_early()
 - rev-parse: prints --git-dir relative to user's cwd
 - git-rev-parse.txt: clarify --git-dir
 - t1510: setup case #31
 - t1510: setup case #30
 - t1510: setup case #29
 - t1510: setup case #28
 - t1510: setup case #27
 - t1510: setup case #26
 - t1510: setup case #25
 - t1510: setup case #24
 - t1510: setup case #23
 - t1510: setup case #22
 - t1510: setup case #21
 - t1510: setup case #20
 - t1510: setup case #19
 - t1510: setup case #18
 - t1510: setup case #17
 - t1510: setup case #16
 - t1510: setup case #15
 - t1510: setup case #14
 - t1510: setup case #13
 - t1510: setup case #12
 - t1510: setup case #11
 - t1510: setup case #10
 - t1510: setup case #9
 - t1510: setup case #8
 - t1510: setup case #7
 - t1510: setup case #6
 - t1510: setup case #5
 - t1510: setup case #4
 - t1510: setup case #3
 - t1510: setup case #2
 - t1510: setup case #1
 - t1510: setup case #0
 - Add t1510 and basic rules that run repo setup
 - builtins: print setup info if repo is found

I have to queue a handful of fixups still in flight.

* rr/needs-clean-work-tree (2010-10-19) 1 commit
  (merged to 'next' on 2010-11-17 at b8aee21)
 + Porcelain scripts: Rewrite cryptic "needs update" error message

Will merge to master soonish.

* sn/diff-doc (2010-11-04) 3 commits
  (merged to 'next' on 2010-11-24 at 77190a5)
 + docs: clarify git diff modes of operation
 + diff,difftool: Don't use the {0,2} notation in usage strings
 + CodingGuidelines: Add a section on writing documentation

* kb/maint-status-cquote (2010-11-08) 1 commit
  (merged to 'next' on 2010-11-24 at e15b73d)
 + status: Quote paths with spaces in short format

* mg/maint-tag-rfc1991 (2010-11-10) 5 commits
  (merged to 'next' on 2010-11-24 at 03864ed)
 + tag: recognize rfc1991 signatures
 + tag: factor out sig detection for tag display
 + tag: factor out sig detection for body edits
 + verify-tag: factor out signature detection
 + t/t7004-tag: test handling of rfc1991 signatures

* cm/diff-check-at-eol (2010-10-10) 1 commit
  (merged to 'next' on 2010-11-17 at ad7005a)
 + diff --check: correct line numbers of new blank lines at EOF

* fc/apply-p2-get-header-name (2010-10-21) 2 commits
  (merged to 'next' on 2010-11-17 at 05a8e94)
 + test: git-apply -p2 rename/chmod only
 + Fix git-apply with -p greater than 1

* jk/diff-CBM (2010-10-21) 1 commit
  (merged to 'next' on 2010-11-05 at 9d1ec14)
 + diff: report bogus input to -C/-M/-B

Will merge to master soonish.

* jn/fast-import-fix (2010-10-20) 4 commits
  (merged to 'next' on 2010-11-17 at ef3b791)
 + fast-import: do not clear notes in do_change_note_fanout()
 + t9300 (fast-import): another test for the "replace root" feature
 + fast-import: tighten M 040000 syntax
 + fast-import: filemodify after M 040000 <tree> "" crashes

* jn/git-cmd-h-bypass-setup (2010-10-22) 7 commits
 - update-index -h: show usage even with corrupt index
 - merge -h: show usage even with corrupt index
 - ls-files -h: show usage even with corrupt index
 - gc -h: show usage even with broken configuration
 - commit/status -h: show usage even with broken configuration
 - checkout-index -h: show usage even in an invalid repository
 - branch -h: show usage even in an invalid repository

* kb/blame-author-email (2010-10-15) 1 commit
  (merged to 'next' on 2010-11-17 at 6fd6a2f)
 + blame: Add option to show author email instead of name

* np/diff-in-corrupt-repository (2010-10-22) 1 commit
  (merged to 'next' on 2010-11-17 at b57a6cb)
 + diff: don't presume empty file when corresponding object is missing

* np/pack-broken-boundary (2010-10-22) 1 commit
  (merged to 'next' on 2010-11-17 at 69a9f46)
 + make pack-objects a bit more resilient to repo corruption

* yd/dir-rename (2010-10-29) 5 commits
 - Allow hiding renames of individual files involved in a directory rename.
 - Unified diff output format for bulk moves.
 - Add testcases for the --detect-bulk-moves diffcore flag.
 - Raw diff output format for bulk moves.
 - Introduce bulk-move detection in diffcore.

Yet to be rerolled.

* en/merge-recursive (2010-11-08) 40 commits
  (merged to 'next' on 2010-11-17 at 1b6f865)
 + t6022: Use -eq not = to test output of wc -l
  (merged to 'next' on 2010-11-05 at 16902eb)
 + merge-recursive:make_room_for_directories - work around dumb compilers
 + merge-recursive: Remove redundant path clearing for D/F conflicts
 + merge-recursive: Make room for directories in D/F conflicts
 + handle_delete_modify(): Check whether D/F conflicts are still present
 + merge_content(): Check whether D/F conflicts are still present
 + conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts
 + conflict_rename_delete(): Check whether D/F conflicts are still present
 + merge-recursive: Delay modify/delete conflicts if D/F conflict present
 + merge-recursive: Delay content merging for renames
 + merge-recursive: Delay handling of rename/delete conflicts
 + merge-recursive: Move handling of double rename of one file to other file
 + merge-recursive: Move handling of double rename of one file to two
 + merge-recursive: Avoid doubly merging rename/add conflict contents
 + merge-recursive: Update merge_content() call signature
 + merge-recursive: Update conflict_rename_rename_1to2() call signature
 + merge-recursive: Structure process_df_entry() to handle more cases
 + merge-recursive: Have process_entry() skip D/F or rename entries
 + merge-recursive: New function to assist resolving renames in-core only
 + merge-recursive: New data structures for deferring of D/F conflicts
 + merge-recursive: Move process_entry's content merging into a function
 + merge-recursive: Move delete/modify handling into dedicated function
 + merge-recursive: Move rename/delete handling into dedicated function
 + merge-recursive: Nuke rename/directory conflict detection
 + merge-recursive: Rename conflict_rename_rename*() for clarity
 + merge-recursive: Small code clarification -- variable name and comments
 + t6036: Add testcase for undetected conflict
 + t6036: Add a second testcase similar to the first but with content changes
 + t6036: Test index and worktree state, not just that merge fails
 + t6020: Add a testcase for modify/delete + directory/file conflict
 + t6020: Modernize style a bit
 + t6022: Add tests for rename/rename combined with D/F conflicts
 + t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two)
 + t6022: Add tests with both rename source & dest involved in D/F conflicts
 + t6022: Add tests for reversing order of merges when D/F conflicts present
 + t6022: Add test combinations of {content conflict?, D/F conflict remains?}
 + t6032: Add a test checking for excessive output from merge
 + merge-recursive: Restructure showing how to chain more process_* functions
 + t3030: Add a testcase for resolvable rename/add conflict with symlinks
 + Merge branch 'en/rename-d-f' into en/merge-recursive
 (this branch uses en/rename-d-f.)

* il/remote-fd-ext (2010-11-17) 4 commits
  (merged to 'next' on 2010-11-24 at ef80cf1)
 + remote-fd/ext: finishing touches after code review
  (merged to 'next' on 2010-11-05 at 7413413)
 + git-remote-ext
 + git-remote-fd
 + Add bidirectional_transfer_loop()

* ak/apply-non-git-epoch (2010-09-29) 2 commits
  (merged to 'next' on 2010-11-17 at a00579c)
 + apply: handle patches with funny filename and colon in timezone
 + apply: Recognize epoch timestamps with : in the timezone

* cb/leading-path-removal (2010-11-15) 6 commits
  (merged to 'next' on 2010-11-17 at ec7d709)
 + use persistent memory for rejected paths
  (merged to 'next' on 2010-11-05 at 55ea322)
 + do not overwrite files in leading path
 + lstat_cache: optionally return match_len
 + add function check_ok_to_remove()
 + t7607: add leading-path tests
 + t7607: use test-lib functions and check MERGE_HEAD

* jh/notes-merge (2010-11-09) 23 commits
  (merged to 'next' on 2010-11-24 at 6218115)
 + Provide 'git merge --abort' as a synonym to 'git reset --merge'
 + cmd_merge(): Parse options before checking MERGE_HEAD
 + Provide 'git notes get-ref' to easily retrieve current notes ref
 + git notes merge: Add testcases for merging notes trees at different fanouts
 + git notes merge: Add another auto-resolving strategy: "cat_sort_uniq"
 + git notes merge: --commit should fail if underlying notes ref has moved
 + git notes merge: List conflicting notes in notes merge commit message
 + git notes merge: Manual conflict resolution, part 2/2
 + git notes merge: Manual conflict resolution, part 1/2
 + Documentation: Preliminary docs on 'git notes merge'
 + git notes merge: Add automatic conflict resolvers (ours, theirs, union)
 + git notes merge: Handle real, non-conflicting notes merges
 + builtin/notes.c: Refactor creation of notes commits.
 + git notes merge: Initial implementation handling trivial merges only
 + builtin/notes.c: Split notes ref DWIMmery into a separate function
 + notes.c: Use two newlines (instead of one) when concatenating notes
 + (trivial) t3303: Indent with tabs instead of spaces for consistency
 + notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond
 + notes.h/c: Allow combine_notes functions to remove notes
 + notes.c: Reorder functions in preparation for next commit
 + notes.h: Make default_notes_ref() available in notes API
 + (trivial) notes.h: Minor documentation fixes to copy_notes()
 + notes.c: Hexify SHA1 in die() message from init_notes()

* pn/commit-autosquash (2010-11-02) 6 commits
  (merged to 'next' on 2010-11-24 at acc9c78)
 + add tests of commit --squash
 + commit: --squash option for use with rebase --autosquash
 + add tests of commit --fixup
 + commit: --fixup option for use with rebase --autosquash
 + pretty.c: teach format_commit_message() to reencode the output
 + commit: helper methods to reduce redundant blocks of code

* jj/icase-directory (2010-10-03) 8 commits
  (merged to 'next' on 2010-11-24 at 0da9385)
 + Support case folding in git fast-import when core.ignorecase=true
 + Support case folding for git add when core.ignorecase=true
 + Add case insensitivity support when using git ls-files
 + Add case insensitivity support for directories when using git status
 + Case insensitivity support for .gitignore via core.ignorecase
 + Add string comparison functions that respect the ignore_case variable.
 + Makefile & configure: add a NO_FNMATCH_CASEFOLD flag
 + Makefile & configure: add a NO_FNMATCH flag

* nd/struct-pathspec (2010-09-20) 5 commits
 - ce_path_match: drop prefix matching in favor of match_pathspec
 - Convert ce_path_match() to use struct pathspec
 - tree_entry_interesting: turn to match_pathspec if wildcard is present
 - pathspec: add tree_recursive_diff parameter
 - pathspec: mark wildcard pathspecs from the beginning
 (this branch uses en/object-list-with-pathspec.)

This is related to something I have long been wanting to see happen.
Wait Nguyen for another round (2010-11-11).

* en/object-list-with-pathspec (2010-09-20) 8 commits
 - Add testcases showing how pathspecs are handled with rev-list --objects
 - Make rev-list --objects work together with pathspecs
 - Move tree_entry_interesting() to tree-walk.c and export it
 - tree_entry_interesting(): remove dependency on struct diff_options
 - Convert struct diff_options to use struct pathspec
 - pathspec: cache string length when initializing pathspec
 - diff-no-index: use diff_tree_setup_paths()
 - Add struct pathspec
 (this branch is used by nd/struct-pathspec.)

* tc/smart-http-post-redirect (2010-09-25) 1 commit
  (merged to 'next' on 2010-11-17 at 6478f7f)
 + smart-http: Don't change POST to GET when following redirect

* en/rename-d-f (2010-09-08) 2 commits
 + merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir
 + t3509: Add rename + D/F conflict testcase that recursive strategy fails
 (this branch is used by en/merge-recursive.)

* jl/fetch-submodule-recursive (2010-11-11) 3 commits
 - Submodules: Add the "fetchRecurseSubmodules" config option
 - Add the 'fetch.recurseSubmodules' config setting
 - fetch/pull: Add the --recurse-submodules option

* tr/merge-unborn-clobber (2010-08-22) 1 commit
 - Exhibit merge bug that clobbers index&WT

* ab/i18n (2010-10-07) 161 commits
 - po/de.po: complete German translation
 - po/sv.po: add Swedish translation
 - gettextize: git-bisect bisect_next_check "You need to" message
 - gettextize: git-bisect [Y/n] messages
 - gettextize: git-bisect bisect_replay + $1 messages
 - gettextize: git-bisect bisect_reset + $1 messages
 - gettextize: git-bisect bisect_run + $@ messages
 - gettextize: git-bisect die + eval_gettext messages
 - gettextize: git-bisect die + gettext messages
 - gettextize: git-bisect echo + eval_gettext message
 - gettextize: git-bisect echo + gettext messages
 - gettextize: git-bisect gettext + echo message
 - gettextize: git-bisect add git-sh-i18n
 - gettextize: git-stash drop_stash say/die messages
 - gettextize: git-stash "unknown option" message
 - gettextize: git-stash die + eval_gettext $1 messages
 - gettextize: git-stash die + eval_gettext $* messages
 - gettextize: git-stash die + eval_gettext messages
 - gettextize: git-stash die + gettext messages
 - gettextize: git-stash say + gettext messages
 - gettextize: git-stash echo + gettext message
 - gettextize: git-stash add git-sh-i18n
 - gettextize: git-submodule "blob" and "submodule" messages
 - gettextize: git-submodule "path not initialized" message
 - gettextize: git-submodule "[...] path is ignored" message
 - gettextize: git-submodule "Entering [...]" message
 - gettextize: git-submodule $errmsg messages
 - gettextize: git-submodule "Submodule change[...]" messages
 - gettextize: git-submodule "cached cannot be used" message
 - gettextize: git-submodule $update_module say + die messages
 - gettextize: git-submodule die + eval_gettext messages
 - gettextize: git-submodule say + eval_gettext messages
 - gettextize: git-submodule echo + eval_gettext messages
 - gettextize: git-submodule add git-sh-i18n
 - gettextize: git-pull "rebase against" / "merge with" messages
 - gettextize: git-pull "[...] not currently on a branch" message
 - gettextize: git-pull "You asked to pull" message
 - gettextize: git-pull split up "no candidate" message
 - gettextize: git-pull eval_gettext + warning message
 - gettextize: git-pull eval_gettext + die message
 - gettextize: git-pull die messages
 - gettextize: git-pull add git-sh-i18n
 - gettext docs: add "Testing marked strings" section to po/README
 - gettext docs: the Git::I18N Perl interface
 - gettext docs: the git-sh-i18n.sh Shell interface
 - gettext docs: the gettext.h C interface
 - gettext docs: add "Marking strings for translation" section in po/README
 - gettext docs: add a "Testing your changes" section to po/README
 - po/pl.po: add Polish translation
 - po/hi.po: add Hindi Translation
 - po/en_GB.po: add British English translation
 - po/de.po: add German translation
 - Makefile: only add gettext tests on XGETTEXT_INCLUDE_TESTS=YesPlease
 - gettext docs: add po/README file documenting Git's gettext
 - gettextize: git-am printf(1) message to eval_gettext
 - gettextize: git-am core say messages
 - gettextize: git-am "Apply?" message
 - gettextize: git-am clean_abort messages
 - gettextize: git-am cannot_fallback messages
 - gettextize: git-am die messages
 - gettextize: git-am eval_gettext messages
 - gettextize: git-am multi-line getttext $msg; echo
 - gettextize: git-am one-line gettext $msg; echo
 - gettextize: git-am add git-sh-i18n
 - gettext tests: add GETTEXT_POISON tests for shell scripts
 - gettext tests: add GETTEXT_POISON support for shell scripts
 - Makefile: MSGFMT="msgfmt --check" under GNU_GETTEXT
 - Makefile: add GNU_GETTEXT, set when we expect GNU gettext
 - gettextize: git-shortlog basic messages
 - gettextize: git-revert split up "could not revert/apply" message
 - gettextize: git-revert literal "me" messages
 - gettextize: git-revert "Your local changes" message
 - gettextize: git-revert basic messages
 - gettextize: git-notes "Refusing to %s notes in %s" message
 - gettextize: git-notes GIT_NOTES_REWRITE_MODE error message
 - gettextize: git-notes basic commands
 - gettextize: git-gc "Auto packing the repository" message
 - gettextize: git-gc basic messages
 - gettextize: git-describe basic messages
 - gettextize: git-clean clean.requireForce messages
 - gettextize: git-clean basic messages
 - gettextize: git-bundle basic messages
 - gettextize: git-archive basic messages
 - gettextize: git-status "renamed: " message
 - gettextize: git-status "Initial commit" message
 - gettextize: git-status "Changes to be committed" message
 - gettextize: git-status shortstatus messages
 - gettextize: git-status "nothing to commit" messages
 - gettextize: git-status basic messages
 - gettextize: git-push "prevent you from losing" message
 - gettextize: git-push basic messages
 - gettextize: git-tag tag_template message
 - gettextize: git-tag basic messages
 - gettextize: git-reset "Unstaged changes after reset" message
 - gettextize: git-reset reset_type_names messages
 - gettextize: git-reset basic messages
 - gettextize: git-rm basic messages
 - gettextize: git-mv "bad" messages
 - gettextize: git-mv basic messages
 - gettextize: git-merge "Wonderful" message
 - gettextize: git-merge "You have not concluded your merge" messages
 - gettextize: git-merge "Updating %s..%s" message
 - gettextize: git-merge basic messages
 - gettextize: git-log "--OPT does not make sense" messages
 - gettextize: git-log basic messages
 - gettextize: git-grep "--open-files-in-pager" message
 - gettextize: git-grep basic messages
 - gettextize: git-fetch split up "(non-fast-forward)" message
 - gettextize: git-fetch update_local_ref messages
 - gettextize: git-fetch formatting messages
 - gettextize: git-fetch basic messages
 - gettextize: git-diff basic messages
 - gettextize: git-commit advice messages
 - gettextize: git-commit "enter the commit message" message
 - gettextize: git-commit print_summary messages
 - gettextize: git-commit formatting messages
 - gettextize: git-commit "middle of a merge" message
 - gettextize: git-commit basic messages
 - gettextize: git-checkout "Switched to a .. branch" message
 - gettextize: git-checkout "HEAD is now at" message
 - gettextize: git-checkout describe_detached_head messages
 - gettextize: git-checkout: our/their version message
 - gettextize: git-checkout basic messages
 - gettextize: git-branch "(no branch)" message
 - gettextize: git-branch "git branch -v" messages
 - gettextize: git-branch "Deleted branch [...]" message
 - gettextize: git-branch "remote branch '%s' not found" message
 - gettextize: git-branch basic messages
 - gettextize: git-add refresh_index message
 - gettextize: git-add "remove '%s'" message
 - gettextize: git-add "pathspec [...] did not match" message
 - gettextize: git-add "Use -f if you really want" message
 - gettextize: git-add "no files added" message
 - gettextize: git-add basic messages
 - gettextize: git-clone "Cloning into" message
 - gettextize: git-clone basic messages
 - gettext tests: test message re-encoding under C
 - po/is.po: add Icelandic translation
 - gettext tests: mark a test message as not needing translation
 - gettext tests: test re-encoding with a UTF-8 msgid under Shell
 - gettext tests: test message re-encoding under Shell
 - gettext tests: add detection for is_IS.ISO-8859-1 locale
 - gettext tests: test if $VERSION exists before using it
 - gettextize: git-init "Initialized [...] repository" message
 - gettextize: git-init basic messages
 - gettext tests: skip lib-gettext.sh tests under GETTEXT_POISON
 - gettext tests: add GETTEXT_POISON=YesPlease Makefile parameter
 - gettext.c: use libcharset.h instead of langinfo.h when available
 - gettext.c: work around us not using setlocale(LC_CTYPE, "")
 - builtin.h: Include gettext.h
 - Makefile: use variables and shorter lines for xgettext
 - Makefile: tell xgettext(1) that our source is in UTF-8
 - Makefile: provide a --msgid-bugs-address to xgettext(1)
 - Makefile: A variable for options used by xgettext(1) calls
 - gettext tests: locate i18n lib&data correctly under --valgrind
 - gettext: setlocale(LC_CTYPE, "") breaks Git's C function assumptions
 - gettext tests: rename test to work around GNU gettext bug
 - gettext: add infrastructure for translating Git with gettext
 - builtin: use builtin.h for all builtin commands
 - tests: use test_cmp instead of piping to diff(1)
 - t7004-tag.sh: re-arrange git tag comment for clarity

It is getting ridiculously painful to keep re-resolving the conflicts with
other topics in flight, even with the help with rerere.

Needs a bit more minor work to get the basic code structure right.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25  3:16 What's cooking in git.git (Nov 2010, #03; Wed, 24) Junio C Hamano
@ 2010-11-25  3:42 ` Jiang Xin
  2010-11-25  9:45 ` Ævar Arnfjörð Bjarmason
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 23+ messages in thread
From: Jiang Xin @ 2010-11-25  3:42 UTC (permalink / raw
  To: Junio C Hamano, git

于 2010年11月25日 11:16, Junio C Hamano 写道:

> * fc/apply-p2-get-header-name (2010-10-21) 2 commits
>   (merged to 'next' on 2010-11-17 at 05a8e94)
>  + test: git-apply -p2 rename/chmod only
>  + Fix git-apply with -p greater than 1
> 

I see these commit in next, do the same fix I just send to this list
([PATCH v2] git apply: apply patches with -pN (N>1) properly for some cases).

cefd43b7f9b86b1c5de5216a8a03fac5e611afa9
aae1f6acf1984f4ae4453ad299a1fa4d261fb188

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25  3:16 What's cooking in git.git (Nov 2010, #03; Wed, 24) Junio C Hamano
  2010-11-25  3:42 ` Jiang Xin
@ 2010-11-25  9:45 ` Ævar Arnfjörð Bjarmason
  2010-11-25 10:35   ` Erik Faye-Lund
  2010-11-25 10:41   ` Johannes Sixt
  2010-11-25 16:26 ` Jakub Narebski
  2010-12-03 10:36 ` Thomas Rast
  3 siblings, 2 replies; 23+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-11-25  9:45 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

On Thu, Nov 25, 2010 at 04:16, Junio C Hamano <gitster@pobox.com> wrote:

> It is getting ridiculously painful to keep re-resolving the conflicts with
> other topics in flight, even with the help with rerere.
>
> Needs a bit more minor work to get the basic code structure right.

Still waiting on input about what exactly needs to be fixed. See
<AANLkTikw0+FGJmj7C0B9J_3ZVXrbqCw+UzyP3sqfyVdm@mail.gmail.com.

Is there anything else than that (the builtin.h includes) that you
think needs work?

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25  9:45 ` Ævar Arnfjörð Bjarmason
@ 2010-11-25 10:35   ` Erik Faye-Lund
  2010-11-25 12:00     ` Ævar Arnfjörð Bjarmason
  2010-11-25 10:41   ` Johannes Sixt
  1 sibling, 1 reply; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 10:35 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 10:45 AM, Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 04:16, Junio C Hamano <gitster@pobox.com> wrote:
>
>> It is getting ridiculously painful to keep re-resolving the conflicts with
>> other topics in flight, even with the help with rerere.
>>
>> Needs a bit more minor work to get the basic code structure right.
>
> Still waiting on input about what exactly needs to be fixed. See
> <AANLkTikw0+FGJmj7C0B9J_3ZVXrbqCw+UzyP3sqfyVdm@mail.gmail.com.
>
> Is there anything else than that (the builtin.h includes) that you
> think needs work?

There was an issue where setting NO_GETTEXT wasn't enough to disable
internationalization. Has this been fixed?

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25  9:45 ` Ævar Arnfjörð Bjarmason
  2010-11-25 10:35   ` Erik Faye-Lund
@ 2010-11-25 10:41   ` Johannes Sixt
  1 sibling, 0 replies; 23+ messages in thread
From: Johannes Sixt @ 2010-11-25 10:41 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

Am 11/25/2010 10:45, schrieb Ævar Arnfjörð Bjarmason:
> On Thu, Nov 25, 2010 at 04:16, Junio C Hamano <gitster@pobox.com> wrote:
> 
>> It is getting ridiculously painful to keep re-resolving the conflicts with
>> other topics in flight, even with the help with rerere.
>>
>> Needs a bit more minor work to get the basic code structure right.
> 
> Still waiting on input about what exactly needs to be fixed. See
> <AANLkTikw0+FGJmj7C0B9J_3ZVXrbqCw+UzyP3sqfyVdm@mail.gmail.com.
> 
> Is there anything else than that (the builtin.h includes) that you
> think needs work?

One open question was why you do not want to move 'LIB_OBJS += gettext.o'
away from the LIB_OBJS section down to the configuration evaluation
section, i.e., why gettext.o would be different from block-sha1/sha1.o.

-- Hannes

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 10:35   ` Erik Faye-Lund
@ 2010-11-25 12:00     ` Ævar Arnfjörð Bjarmason
  2010-11-25 12:34       ` Erik Faye-Lund
  0 siblings, 1 reply; 23+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-11-25 12:00 UTC (permalink / raw
  To: kusmabite; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 11:35, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 10:45 AM, Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:

>> Is there anything else than that (the builtin.h includes) that you
>> think needs work?
>
> There was an issue where setting NO_GETTEXT wasn't enough to disable
> internationalization. Has this been fixed?

Do you mean the issue with eval_gettext in git-sh-i18n.sh? I fixed
that issue, but even under NO_GETTEXT=YesPlease we'll still pass
things through git-sh-i18n--envsubst. Since I can't just #define
things out under NO_GETTEXT=Yes like I can in the C code.

Maybe you mean something different that I'm forgetting. But IIRC that
was the only issue.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 12:00     ` Ævar Arnfjörð Bjarmason
@ 2010-11-25 12:34       ` Erik Faye-Lund
  2010-11-25 14:54         ` Erik Faye-Lund
  0 siblings, 1 reply; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 12:34 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 1:00 PM, Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 11:35, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>> On Thu, Nov 25, 2010 at 10:45 AM, Ævar Arnfjörð Bjarmason
>> <avarab@gmail.com> wrote:
>
>>> Is there anything else than that (the builtin.h includes) that you
>>> think needs work?
>>
>> There was an issue where setting NO_GETTEXT wasn't enough to disable
>> internationalization. Has this been fixed?
>
> Do you mean the issue with eval_gettext in git-sh-i18n.sh? I fixed
> that issue, but even under NO_GETTEXT=YesPlease we'll still pass
> things through git-sh-i18n--envsubst. Since I can't just #define
> things out under NO_GETTEXT=Yes like I can in the C code.
>
> Maybe you mean something different that I'm forgetting. But IIRC that
> was the only issue.
>

I'm talking about this:

$ git diff
diff --git a/Makefile b/Makefile
index 8357106..0a49c2c 100644
--- a/Makefile
+++ b/Makefile
@@ -1124,6 +1124,7 @@ ifeq ($(uname_S),Windows)
        NO_STRTOK_R = YesPlease
        NO_FNMATCH = YesPlease
        NO_MEMMEM = YesPlease
+       NO_GETTEXT = YesPlease
        # NEEDS_LIBICONV = YesPlease
        NO_ICONV = YesPlease
        NO_C99_FORMAT = YesPlease

kusma@KUSMA-EEE2 /git (pu)
$ make
GIT_VERSION = 1.7.3.2.846.gf4b062.dirty
    * new build flags or prefix
    CC daemon.o
In file included from daemon.c:7:
gettext.h:15:21: error: libintl.h: No such file or directory
make: *** [daemon.o] Error 1

Basically, it seems like you're treating NO_GETTEXT and NEEDS_LIBINTL
as two independent flags but they shouldn't be. libintl is just
another name for gettext, and I've already declared that I don't want
to use it. NEEDS_LIBINTL should only matter if NO_GETTEXT isn't set.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 12:34       ` Erik Faye-Lund
@ 2010-11-25 14:54         ` Erik Faye-Lund
  2010-11-25 15:03           ` Erik Faye-Lund
  0 siblings, 1 reply; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 14:54 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 1:34 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 1:00 PM, Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> On Thu, Nov 25, 2010 at 11:35, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>>> On Thu, Nov 25, 2010 at 10:45 AM, Ævar Arnfjörð Bjarmason
>>> <avarab@gmail.com> wrote:
>>
>>>> Is there anything else than that (the builtin.h includes) that you
>>>> think needs work?
>>>
>>> There was an issue where setting NO_GETTEXT wasn't enough to disable
>>> internationalization. Has this been fixed?
>>
>> Do you mean the issue with eval_gettext in git-sh-i18n.sh? I fixed
>> that issue, but even under NO_GETTEXT=YesPlease we'll still pass
>> things through git-sh-i18n--envsubst. Since I can't just #define
>> things out under NO_GETTEXT=Yes like I can in the C code.
>>
>> Maybe you mean something different that I'm forgetting. But IIRC that
>> was the only issue.
>>
>
> I'm talking about this:
>
> $ git diff
> diff --git a/Makefile b/Makefile
> index 8357106..0a49c2c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1124,6 +1124,7 @@ ifeq ($(uname_S),Windows)
>        NO_STRTOK_R = YesPlease
>        NO_FNMATCH = YesPlease
>        NO_MEMMEM = YesPlease
> +       NO_GETTEXT = YesPlease
>        # NEEDS_LIBICONV = YesPlease
>        NO_ICONV = YesPlease
>        NO_C99_FORMAT = YesPlease
>

Uhm, my bad. This was in the MINGW-section. Seems this issue has been
fixed now, thanks.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 14:54         ` Erik Faye-Lund
@ 2010-11-25 15:03           ` Erik Faye-Lund
  2010-11-25 15:22             ` Erik Faye-Lund
  2010-11-25 16:33             ` Ævar Arnfjörð Bjarmason
  0 siblings, 2 replies; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 15:03 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 3:54 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 1:34 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>> On Thu, Nov 25, 2010 at 1:00 PM, Ævar Arnfjörð Bjarmason
>> <avarab@gmail.com> wrote:
>>> On Thu, Nov 25, 2010 at 11:35, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>>>> On Thu, Nov 25, 2010 at 10:45 AM, Ævar Arnfjörð Bjarmason
>>>> <avarab@gmail.com> wrote:
>>>
>>>>> Is there anything else than that (the builtin.h includes) that you
>>>>> think needs work?
>>>>
>>>> There was an issue where setting NO_GETTEXT wasn't enough to disable
>>>> internationalization. Has this been fixed?
>>>
>>> Do you mean the issue with eval_gettext in git-sh-i18n.sh? I fixed
>>> that issue, but even under NO_GETTEXT=YesPlease we'll still pass
>>> things through git-sh-i18n--envsubst. Since I can't just #define
>>> things out under NO_GETTEXT=Yes like I can in the C code.
>>>
>>> Maybe you mean something different that I'm forgetting. But IIRC that
>>> was the only issue.
>>>
>>
>> I'm talking about this:
>>
>> $ git diff
>> diff --git a/Makefile b/Makefile
>> index 8357106..0a49c2c 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1124,6 +1124,7 @@ ifeq ($(uname_S),Windows)
>>        NO_STRTOK_R = YesPlease
>>        NO_FNMATCH = YesPlease
>>        NO_MEMMEM = YesPlease
>> +       NO_GETTEXT = YesPlease
>>        # NEEDS_LIBICONV = YesPlease
>>        NO_ICONV = YesPlease
>>        NO_C99_FORMAT = YesPlease
>>
>
> Uhm, my bad. This was in the MINGW-section. Seems this issue has been
> fixed now, thanks.
>

I'm really not thinking straight today: This was in the MSVC-section,
and I tried to build with MinGW. If I move it to the MinGW section,
then it's closer to working:

$ make
    CC alias.o
    CC alloc.o
<...>
    CC gettext.o
gettext.c:3:21: error: libintl.h: No such file or directory
gettext.c:7:22: error: langinfo.h: No such file or directory
gettext.c: In function 'git_setup_gettext':
gettext.c:17: warning: implicit declaration of function 'bindtextdomain'
gettext.c:25: error: 'LC_MESSAGES' undeclared (first use in this function)
gettext.c:25: error: (Each undeclared identifier is reported only once
gettext.c:25: error: for each function it appears in.)
gettext.c:30: warning: implicit declaration of function 'nl_langinfo'
gettext.c:30: error: 'CODESET' undeclared (first use in this function)
gettext.c:30: warning: assignment makes pointer from integer without a cast
gettext.c:32: warning: implicit declaration of function 'bind_textdomain_codeset
'
gettext.c:34: warning: implicit declaration of function 'textdomain'
make: *** [gettext.o] Error 1

So this seems to be the same issue as what Hannes is talking about;
gettext.o being included into LIB_OBJS before we know if it should or
not.

Moving it down to the rest of the NO_GETTEXT-magic fixes the problem for me:


diff --git a/Makefile b/Makefile
index 8357106..a858708 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,5 @@
 # The default target of this Makefile is...
 all::
-
 # Define V=1 to have a more verbose compile.
 #
 # Define SHELL_PATH to a POSIX shell if your /bin/sh is broken.
@@ -628,9 +627,6 @@ LIB_OBJS += entry.o
 LIB_OBJS += environment.o
 LIB_OBJS += exec_cmd.o
 LIB_OBJS += fsck.o
-ifndef NO_GETTEXT
-LIB_OBJS += gettext.o
-endif
 LIB_OBJS += graph.o
 LIB_OBJS += grep.o
 LIB_OBJS += hash.o
@@ -1603,6 +1600,8 @@ endif

 ifdef NO_GETTEXT
        COMPAT_CFLAGS += -DNO_GETTEXT
+else
+       LIB_OBJS += gettext.o
 endif

 ifdef NEEDS_LIBINTL

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 15:03           ` Erik Faye-Lund
@ 2010-11-25 15:22             ` Erik Faye-Lund
  2010-11-25 16:33             ` Ævar Arnfjörð Bjarmason
  1 sibling, 0 replies; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 15:22 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 4:03 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 3:54 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>> On Thu, Nov 25, 2010 at 1:34 PM, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>>> On Thu, Nov 25, 2010 at 1:00 PM, Ævar Arnfjörð Bjarmason
>>> <avarab@gmail.com> wrote:
>>>> On Thu, Nov 25, 2010 at 11:35, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>>>>> On Thu, Nov 25, 2010 at 10:45 AM, Ævar Arnfjörð Bjarmason
>>>>> <avarab@gmail.com> wrote:
>>>>
>>>>>> Is there anything else than that (the builtin.h includes) that you
>>>>>> think needs work?
>>>>>
>>>>> There was an issue where setting NO_GETTEXT wasn't enough to disable
>>>>> internationalization. Has this been fixed?
>>>>
>>>> Do you mean the issue with eval_gettext in git-sh-i18n.sh? I fixed
>>>> that issue, but even under NO_GETTEXT=YesPlease we'll still pass
>>>> things through git-sh-i18n--envsubst. Since I can't just #define
>>>> things out under NO_GETTEXT=Yes like I can in the C code.
>>>>
>>>> Maybe you mean something different that I'm forgetting. But IIRC that
>>>> was the only issue.
>>>>
>>>
>>> I'm talking about this:
>>>
>>> $ git diff
>>> diff --git a/Makefile b/Makefile
>>> index 8357106..0a49c2c 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -1124,6 +1124,7 @@ ifeq ($(uname_S),Windows)
>>>        NO_STRTOK_R = YesPlease
>>>        NO_FNMATCH = YesPlease
>>>        NO_MEMMEM = YesPlease
>>> +       NO_GETTEXT = YesPlease
>>>        # NEEDS_LIBICONV = YesPlease
>>>        NO_ICONV = YesPlease
>>>        NO_C99_FORMAT = YesPlease
>>>
>>
>> Uhm, my bad. This was in the MINGW-section. Seems this issue has been
>> fixed now, thanks.
>>
>
> I'm really not thinking straight today: This was in the MSVC-section,
> and I tried to build with MinGW. If I move it to the MinGW section,
> then it's closer to working:
>
> $ make
>    CC alias.o
>    CC alloc.o
> <...>
>    CC gettext.o
> gettext.c:3:21: error: libintl.h: No such file or directory
> gettext.c:7:22: error: langinfo.h: No such file or directory
> gettext.c: In function 'git_setup_gettext':
> gettext.c:17: warning: implicit declaration of function 'bindtextdomain'
> gettext.c:25: error: 'LC_MESSAGES' undeclared (first use in this function)
> gettext.c:25: error: (Each undeclared identifier is reported only once
> gettext.c:25: error: for each function it appears in.)
> gettext.c:30: warning: implicit declaration of function 'nl_langinfo'
> gettext.c:30: error: 'CODESET' undeclared (first use in this function)
> gettext.c:30: warning: assignment makes pointer from integer without a cast
> gettext.c:32: warning: implicit declaration of function 'bind_textdomain_codeset
> '
> gettext.c:34: warning: implicit declaration of function 'textdomain'
> make: *** [gettext.o] Error 1
>
> So this seems to be the same issue as what Hannes is talking about;
> gettext.o being included into LIB_OBJS before we know if it should or
> not.
>
> Moving it down to the rest of the NO_GETTEXT-magic fixes the problem for me:
>
>
> diff --git a/Makefile b/Makefile
> index 8357106..a858708 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,6 +1,5 @@
>  # The default target of this Makefile is...
>  all::
> -
>  # Define V=1 to have a more verbose compile.
>  #
>  # Define SHELL_PATH to a POSIX shell if your /bin/sh is broken.
> @@ -628,9 +627,6 @@ LIB_OBJS += entry.o
>  LIB_OBJS += environment.o
>  LIB_OBJS += exec_cmd.o
>  LIB_OBJS += fsck.o
> -ifndef NO_GETTEXT
> -LIB_OBJS += gettext.o
> -endif
>  LIB_OBJS += graph.o
>  LIB_OBJS += grep.o
>  LIB_OBJS += hash.o
> @@ -1603,6 +1600,8 @@ endif
>
>  ifdef NO_GETTEXT
>        COMPAT_CFLAGS += -DNO_GETTEXT
> +else
> +       LIB_OBJS += gettext.o
>  endif
>
>  ifdef NEEDS_LIBINTL
>

change that last hunk to:
@@ -1603,11 +1600,13 @@ endif

 ifdef NO_GETTEXT
        COMPAT_CFLAGS += -DNO_GETTEXT
-endif
+else
+       LIB_OBJS += gettext.o

 ifdef NEEDS_LIBINTL
        EXTLIBS += -lintl
 endif
+endif

 ifdef GNU_GETTEXT
        MSGFMT += --check

...so we don't end up trying to link to -lintl.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25  3:16 What's cooking in git.git (Nov 2010, #03; Wed, 24) Junio C Hamano
  2010-11-25  3:42 ` Jiang Xin
  2010-11-25  9:45 ` Ævar Arnfjörð Bjarmason
@ 2010-11-25 16:26 ` Jakub Narebski
  2010-12-03 10:36 ` Thomas Rast
  3 siblings, 0 replies; 23+ messages in thread
From: Jakub Narebski @ 2010-11-25 16:26 UTC (permalink / raw
  To: Junio C Hamano; +Cc: git

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

> * tr/config-doc (2010-10-24) 2 commits
>  . Documentation: complete config list from other manpages
>  . Documentation: Move variables from config.txt to separate file
> 
> This unfortunately heavily conflicts with patches in flight...

The first patch in series can be automatically generated e.g. using
the following Perl script.  I have succesfully rebased this series on
top of current 'master' using it (checkout + script + commit), see
't/doc-config-extraction' branch in my clone of git repo:
  http://repo.or.cz/w/git/jnareb-git.git (can't push currently here)
  http://github.com/jnareb/git

Though that doesn't help with issues with second patch in this series,
which were discussed on git mailing list when sending it.

-- >8 --
#!/usr/bin/perl

use strict;
use warnings;

my ($in, $out, $line);

open $in,  '<', "Documentation/config.txt"
	or die "$!";

open $out, '>', "Documentation/config.txt+"
	or die "$!";
while ($line = <$in>) {
	last if ($line =~ /^.*::$/);
	print {$out} $line;
}
close $out;

open $out, '>', "Documentation/config-vars.txt"
	or die "$!";
print {$out} $line;
while ($line = <$in>) {
	print {$out} $line;
}
close $out;

open $out, '>>', "Documentation/config.txt+"
	or die "$!";
print {$out} "include:config-vars.txt[]\n";
close $out;

rename "Documentation/config.txt+", "Documentation/config.txt"
	or die "$!";

__END__
-- 8< --
-- 
Jakub Narebski
Poland
ShadeHawk on #git

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 15:03           ` Erik Faye-Lund
  2010-11-25 15:22             ` Erik Faye-Lund
@ 2010-11-25 16:33             ` Ævar Arnfjörð Bjarmason
  2010-11-25 17:55               ` Erik Faye-Lund
  1 sibling, 1 reply; 23+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-11-25 16:33 UTC (permalink / raw
  To: kusmabite; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 16:03, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> I'm really not thinking straight today: This was in the MSVC-section,
> and I tried to build with MinGW. If I move it to the MinGW section,
> then it's closer to working:
>
> $ make
>    CC alias.o
>    CC alloc.o
> <...>
>    CC gettext.o
> gettext.c:3:21: error: libintl.h: No such file or directory
> gettext.c:7:22: error: langinfo.h: No such file or directory
> gettext.c: In function 'git_setup_gettext':
> gettext.c:17: warning: implicit declaration of function 'bindtextdomain'
> gettext.c:25: error: 'LC_MESSAGES' undeclared (first use in this function)
> gettext.c:25: error: (Each undeclared identifier is reported only once
> gettext.c:25: error: for each function it appears in.)
> gettext.c:30: warning: implicit declaration of function 'nl_langinfo'
> gettext.c:30: error: 'CODESET' undeclared (first use in this function)
> gettext.c:30: warning: assignment makes pointer from integer without a cast
> gettext.c:32: warning: implicit declaration of function 'bind_textdomain_codeset
> '
> gettext.c:34: warning: implicit declaration of function 'textdomain'
> make: *** [gettext.o] Error 1
>
> So this seems to be the same issue as what Hannes is talking about;
> gettext.o being included into LIB_OBJS before we know if it should or
> not.
>
> Moving it down to the rest of the NO_GETTEXT-magic fixes the problem for me:
>
>
> diff --git a/Makefile b/Makefile
> index 8357106..a858708 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1,6 +1,5 @@
>  # The default target of this Makefile is...
>  all::
> -
>  # Define V=1 to have a more verbose compile.
>  #
>  # Define SHELL_PATH to a POSIX shell if your /bin/sh is broken.
> @@ -628,9 +627,6 @@ LIB_OBJS += entry.o
>  LIB_OBJS += environment.o
>  LIB_OBJS += exec_cmd.o
>  LIB_OBJS += fsck.o
> -ifndef NO_GETTEXT
> -LIB_OBJS += gettext.o
> -endif
>  LIB_OBJS += graph.o
>  LIB_OBJS += grep.o
>  LIB_OBJS += hash.o
> @@ -1603,6 +1600,8 @@ endif
>
>  ifdef NO_GETTEXT
>        COMPAT_CFLAGS += -DNO_GETTEXT
> +else
> +       LIB_OBJS += gettext.o
>  endif
>
>  ifdef NEEDS_LIBINTL

Doesn't it also work for you to just add:

    NO_GETTEXT = YesPlease
    NEEDS_LIBINTL =

To the MinGW specific section in the Makefile? That's why I did the
"Makefile: move "Platform specific tweaks" above LIB_{H,OBJS}"
patch. I just hadn't submitted another patch to disable it on MinGW. I
think I asked someone to look into that (e.g. I know that you're
working on MinGW + gettext, so maybe we don't want to disable it
anymore). But I can't find that posting now, and maybe I didn't send it.

Anyway, if that works it's a cleaner way to disable it.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 16:33             ` Ævar Arnfjörð Bjarmason
@ 2010-11-25 17:55               ` Erik Faye-Lund
  2010-11-25 18:06                 ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 17:55 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 5:33 PM, Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 16:03, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>> I'm really not thinking straight today: This was in the MSVC-section,
>> and I tried to build with MinGW. If I move it to the MinGW section,
>> then it's closer to working:
>>
>> $ make
>>    CC alias.o
>>    CC alloc.o
>> <...>
>>    CC gettext.o
>> gettext.c:3:21: error: libintl.h: No such file or directory
>> gettext.c:7:22: error: langinfo.h: No such file or directory
>> gettext.c: In function 'git_setup_gettext':
>> gettext.c:17: warning: implicit declaration of function 'bindtextdomain'
>> gettext.c:25: error: 'LC_MESSAGES' undeclared (first use in this function)
>> gettext.c:25: error: (Each undeclared identifier is reported only once
>> gettext.c:25: error: for each function it appears in.)
>> gettext.c:30: warning: implicit declaration of function 'nl_langinfo'
>> gettext.c:30: error: 'CODESET' undeclared (first use in this function)
>> gettext.c:30: warning: assignment makes pointer from integer without a cast
>> gettext.c:32: warning: implicit declaration of function 'bind_textdomain_codeset
>> '
>> gettext.c:34: warning: implicit declaration of function 'textdomain'
>> make: *** [gettext.o] Error 1
>>
>> So this seems to be the same issue as what Hannes is talking about;
>> gettext.o being included into LIB_OBJS before we know if it should or
>> not.
>>
>> Moving it down to the rest of the NO_GETTEXT-magic fixes the problem for me:
>>
>>
>> diff --git a/Makefile b/Makefile
>> index 8357106..a858708 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -1,6 +1,5 @@
>>  # The default target of this Makefile is...
>>  all::
>> -
>>  # Define V=1 to have a more verbose compile.
>>  #
>>  # Define SHELL_PATH to a POSIX shell if your /bin/sh is broken.
>> @@ -628,9 +627,6 @@ LIB_OBJS += entry.o
>>  LIB_OBJS += environment.o
>>  LIB_OBJS += exec_cmd.o
>>  LIB_OBJS += fsck.o
>> -ifndef NO_GETTEXT
>> -LIB_OBJS += gettext.o
>> -endif
>>  LIB_OBJS += graph.o
>>  LIB_OBJS += grep.o
>>  LIB_OBJS += hash.o
>> @@ -1603,6 +1600,8 @@ endif
>>
>>  ifdef NO_GETTEXT
>>        COMPAT_CFLAGS += -DNO_GETTEXT
>> +else
>> +       LIB_OBJS += gettext.o
>>  endif
>>
>>  ifdef NEEDS_LIBINTL
>
> Doesn't it also work for you to just add:
>
>    NO_GETTEXT = YesPlease
>    NEEDS_LIBINTL =
>
> To the MinGW specific section in the Makefile? That's why I did the
> "Makefile: move "Platform specific tweaks" above LIB_{H,OBJS}"
> patch. I just hadn't submitted another patch to disable it on MinGW. I
> think I asked someone to look into that (e.g. I know that you're
> working on MinGW + gettext, so maybe we don't want to disable it
> anymore). But I can't find that posting now, and maybe I didn't send it.
>
> Anyway, if that works it's a cleaner way to disable it.
>

Yes, that works. But that is a work-around, not a solution. I already
told the make system not to translate git, why should I have to
anything else? In fact, I did exactly what the documentation at the
top of the makefile told me to do. It says to set NO_GETTEXT, nothing
about clearing NEEDS_LIBINTL.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 17:55               ` Erik Faye-Lund
@ 2010-11-25 18:06                 ` Ævar Arnfjörð Bjarmason
  2010-11-25 20:02                   ` Erik Faye-Lund
  0 siblings, 1 reply; 23+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-11-25 18:06 UTC (permalink / raw
  To: kusmabite; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 18:55, Erik Faye-Lund <kusmabite@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 5:33 PM, Ævar Arnfjörð Bjarmason
> <avarab@gmail.com> wrote:
>> Anyway, if that works it's a cleaner way to disable it.
>>
>
> Yes, that works. But that is a work-around, not a solution. I already
> told the make system not to translate git, why should I have to
> anything else? In fact, I did exactly what the documentation at the
> top of the makefile told me to do. It says to set NO_GETTEXT, nothing
> about clearing NEEDS_LIBINTL.

Oh yeah that's definitely a bug that I need to solve. But that should
just be something like:

ifdef NO_GETTEXT
    NEEDS_LIBINTL =
endif

Stuck in some strategic location. Then it all should just work.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 18:06                 ` Ævar Arnfjörð Bjarmason
@ 2010-11-25 20:02                   ` Erik Faye-Lund
  2010-11-26  0:40                     ` Ævar Arnfjörð Bjarmason
  0 siblings, 1 reply; 23+ messages in thread
From: Erik Faye-Lund @ 2010-11-25 20:02 UTC (permalink / raw
  To: Ævar Arnfjörð Bjarmason; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 7:06 PM, Ævar Arnfjörð Bjarmason
<avarab@gmail.com> wrote:
> On Thu, Nov 25, 2010 at 18:55, Erik Faye-Lund <kusmabite@gmail.com> wrote:
>> On Thu, Nov 25, 2010 at 5:33 PM, Ævar Arnfjörð Bjarmason
>> <avarab@gmail.com> wrote:
>>> Anyway, if that works it's a cleaner way to disable it.
>>>
>>
>> Yes, that works. But that is a work-around, not a solution. I already
>> told the make system not to translate git, why should I have to
>> anything else? In fact, I did exactly what the documentation at the
>> top of the makefile told me to do. It says to set NO_GETTEXT, nothing
>> about clearing NEEDS_LIBINTL.
>
> Oh yeah that's definitely a bug that I need to solve. But that should
> just be something like:
>
> ifdef NO_GETTEXT
>    NEEDS_LIBINTL =
> endif
>
> Stuck in some strategic location. Then it all should just work.
>

Well, there you go. That's one of the things that needs to get fixed ;)

I don't quite understand why you won't do it the way I just proposed
(and IIRC a while ago by Hannes), though.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25 20:02                   ` Erik Faye-Lund
@ 2010-11-26  0:40                     ` Ævar Arnfjörð Bjarmason
  0 siblings, 0 replies; 23+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-11-26  0:40 UTC (permalink / raw
  To: kusmabite; +Cc: Junio C Hamano, git

On Thu, Nov 25, 2010 at 21:02, Erik Faye-Lund <kusmabite@gmail.com> wrote:

> Well, there you go. That's one of the things that needs to get fixed ;)
>
> I don't quite understand why you won't do it the way I just proposed
> (and IIRC a while ago by Hannes), though.

Does it help if I don't understand it either ? :)

Anyway, there's obviously a bug that needs to be fixed. I'm just going
to have to poke the Makefile to see how to fix it. When I do I'll make
sure to try both ways and see which one makes sense, then document
that in the commit message.

Hopefully you or some other win32 dev can help test whatever I come up
with, thanks for all your help so far on that front.

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-11-25  3:16 What's cooking in git.git (Nov 2010, #03; Wed, 24) Junio C Hamano
                   ` (2 preceding siblings ...)
  2010-11-25 16:26 ` Jakub Narebski
@ 2010-12-03 10:36 ` Thomas Rast
  2010-12-03 11:13   ` Jakub Narebski
  3 siblings, 1 reply; 23+ messages in thread
From: Thomas Rast @ 2010-12-03 10:36 UTC (permalink / raw
  To: John 'Warthog9' Hawley, Jakub Narebski; +Cc: Junio C Hamano, git

Junio C Hamano wrote:
> * jh/gitweb-caching (2010-11-01) 4 commits
>  - gitweb: Minimal testing of gitweb caching
>  - gitweb: File based caching layer (from git.kernel.org)
>  - gitweb: add output buffering and associated functions
>  - gitweb: Prepare for splitting gitweb

"gitweb: File based caching layer (from git.kernel.org)" does not work
on my automated tester:

  ok 1 - setup

  expecting success: 
          gitweb_run "p=.git;a=snapshot;h=$FULL_ID;sf=tar" &&
          check_snapshot ".git-$SHORT_ID"

  basename=.git-1005c80
  tar: This does not look like a tar archive
  tar: Error exit delayed from previous errors
  not ok - 2 snapshot: full sha1
  #       
  #               gitweb_run "p=.git;a=snapshot;h=$FULL_ID;sf=tar" &&
  #               check_snapshot ".git-$SHORT_ID"
  #       

Should I disable something with a Makefile option, or is that a bug?

(If you need more data you need to tell me what to look for, since I
don't usually do gitweb.  The above is just the relevant snippet from
'make test' output).

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-12-03 10:36 ` Thomas Rast
@ 2010-12-03 11:13   ` Jakub Narebski
  2010-12-03 11:22     ` Thomas Rast
  0 siblings, 1 reply; 23+ messages in thread
From: Jakub Narebski @ 2010-12-03 11:13 UTC (permalink / raw
  To: Thomas Rast; +Cc: John 'Warthog9' Hawley, Junio C Hamano, git

On Fri, 3 Dec 2010, Thomas Rast wrote:
> Junio C Hamano wrote:
> > * jh/gitweb-caching (2010-11-01) 4 commits
> >  - gitweb: Minimal testing of gitweb caching
> >  - gitweb: File based caching layer (from git.kernel.org)
> >  - gitweb: add output buffering and associated functions
> >  - gitweb: Prepare for splitting gitweb
> 
> "gitweb: File based caching layer (from git.kernel.org)" does not work
> on my automated tester:
> 
>   ok 1 - setup
> 
>   expecting success: 
>           gitweb_run "p=.git;a=snapshot;h=$FULL_ID;sf=tar" &&
>           check_snapshot ".git-$SHORT_ID"
> 
>   basename=.git-1005c80
>   tar: This does not look like a tar archive
>   tar: Error exit delayed from previous errors
>   not ok - 2 snapshot: full sha1
>   #       
>   #               gitweb_run "p=.git;a=snapshot;h=$FULL_ID;sf=tar" &&
>   #               check_snapshot ".git-$SHORT_ID"
>   #       
> 
> Should I disable something with a Makefile option, or is that a bug?
> 
> (If you need more data you need to tell me what to look for, since I
> don't usually do gitweb.  The above is just the relevant snippet from
> 'make test' output).

What are the results of relevant part of

 $ cd t
 $ ./t9502-gitweb-standalone-parse-output.sh --debug

output?

Gitweb output caching should be turned off by default, so it shouldn't
affect tests before 'enable caching' test.
-- 
Jakub Narebski
Poland

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-12-03 11:13   ` Jakub Narebski
@ 2010-12-03 11:22     ` Thomas Rast
  2010-12-03 13:02       ` Jakub Narebski
  0 siblings, 1 reply; 23+ messages in thread
From: Thomas Rast @ 2010-12-03 11:22 UTC (permalink / raw
  To: Jakub Narebski; +Cc: John 'Warthog9' Hawley, Junio C Hamano, git

Jakub Narebski wrote:
> On Fri, 3 Dec 2010, Thomas Rast wrote:
> > "gitweb: File based caching layer (from git.kernel.org)" does not work
> > on my automated tester:
[...]
> What are the results of relevant part of
> 
>  $ cd t
>  $ ./t9502-gitweb-standalone-parse-output.sh --debug
> 
> output?

  ok 1 - setup
  FULL_ID  = 1005c80cc11c531d327b12195027cbbb4ff9e3cb
  SHORT_ID = 1005c80
  not ok - 2 snapshot: full sha1
  #       
  #               gitweb_run "p=.git;a=snapshot;h=$FULL_ID;sf=tar" &&
  #               check_snapshot ".git-$SHORT_ID"
  #       
  Status: 200 OK
  Content-disposition: inline; filename=".git-1005c80.tar"
  Content-Type: application/x-tar

They all fail after that, the rest of the output is at the end.  OTOH
if I check out v1.7.3.1-48-g5768176 instead, where the test works ok,
it looks like this:

  ok 1 - setup
  FULL_ID  = 1005c80cc11c531d327b12195027cbbb4ff9e3cb
  SHORT_ID = 1005c80
  ok 2 - snapshot: full sha1
  Status: 200 OK
  Content-disposition: inline; filename=".git-1005c80.tar"
  Content-Type: application/x-tar

In other words, I cannot see a difference except that it fails. :-(

> Gitweb output caching should be turned off by default, so it shouldn't
> affect tests before 'enable caching' test.

Well, my test setup has a slight habit of uncovering bugs in odd code
paths since it usually runs under valgrind in a cronjob (i.e. without
a tty).  However, this one also fails when run normally.

In case it matters, this is RHEL5.5 with

  $ perl --version
  This is perl, v5.8.8 built for x86_64-linux-thread-multi



--- Rest of the --debug output ---
not ok - 3 snapshot: shortened sha1
#       
#               gitweb_run "p=.git;a=snapshot;h=$SHORT_ID;sf=tar" &&
#               check_snapshot ".git-$SHORT_ID"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-1005c80.tar"
Content-Type: application/x-tar

not ok - 4 snapshot: almost full sha1
#       
#               ID=$(git rev-parse --short=30 HEAD) &&
#               gitweb_run "p=.git;a=snapshot;h=$ID;sf=tar" &&
#               check_snapshot ".git-$SHORT_ID"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-1005c80.tar"
Content-Type: application/x-tar

not ok - 5 snapshot: HEAD
#       
#               gitweb_run "p=.git;a=snapshot;h=HEAD;sf=tar" &&
#               check_snapshot ".git-HEAD-$SHORT_ID"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-HEAD-1005c80.tar"
Content-Type: application/x-tar

not ok - 6 snapshot: short branch name (master)
#       
#               gitweb_run "p=.git;a=snapshot;h=master;sf=tar" &&
#               ID=$(git rev-parse --verify --short=7 master) &&
#               check_snapshot ".git-master-$ID"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-master-1005c80.tar"
Content-Type: application/x-tar

not ok - 7 snapshot: short tag name (first)
#       
#               gitweb_run "p=.git;a=snapshot;h=first;sf=tar" &&
#               ID=$(git rev-parse --verify --short=7 first) &&
#               check_snapshot ".git-first-$ID"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-first-1005c80.tar"
Content-Type: application/x-tar

not ok - 8 snapshot: full branch name (refs/heads/master)
#       
#               gitweb_run "p=.git;a=snapshot;h=refs/heads/master;sf=tar" &&
#               ID=$(git rev-parse --verify --short=7 master) &&
#               check_snapshot ".git-master-$ID"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-master-1005c80.tar"
Content-Type: application/x-tar

not ok - 9 snapshot: full tag name (refs/tags/first)
#       
#               gitweb_run "p=.git;a=snapshot;h=refs/tags/first;sf=tar" &&
#               check_snapshot ".git-first"
#       
Status: 200 OK
Content-disposition: inline; filename=".git-first.tar"
Content-Type: application/x-tar

ok 10 - snapshot: hierarchical branch name (xx/test)
Status: 200 OK
Content-disposition: inline; filename=".git-xx.test-1005c80.tar"
Content-Type: application/x-tar

ok 11 - setup for caching tests (utf8 commit, binary file)
ok 12 - enable caching
not ok - 13 caching enabled, HTML output, generating cache
#       
#                       gitweb_run "p=.git;a=patch" &&
#                       mv gitweb.body cache.html &&
#                       test_cmp no_cache.html cache.html
#               
ok 14 - caching enabled, HTML output, cached version
not ok - 15 caching enabled, binary output, generating cache
#       
#                       gitweb_run "p=.git;a=blob_plain;f=image.png" &&
#                       mv gitweb.body cache.png &&
#                       cmp no_cache.png cache.png
#               
not ok - 16 caching enabled, binary output, cached version
#       
#                       gitweb_run "p=.git;a=blob_plain;f=image.png" &&
#                       mv gitweb.body cache.png &&
#                       cmp no_cache.png cache.png
#               
# failed 11 among 16 test(s)
1..16

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-12-03 11:22     ` Thomas Rast
@ 2010-12-03 13:02       ` Jakub Narebski
  2010-12-03 13:06         ` Thomas Rast
  0 siblings, 1 reply; 23+ messages in thread
From: Jakub Narebski @ 2010-12-03 13:02 UTC (permalink / raw
  To: Thomas Rast; +Cc: John 'Warthog9' Hawley, Junio C Hamano, git

On Fri, 3 Dec 2010, Thomas Rast wrote:
> Jakub Narebski wrote:
> > On Fri, 3 Dec 2010, Thomas Rast wrote:

> > > "gitweb: File based caching layer (from git.kernel.org)" does not work
> > > on my automated tester:
> [...]
> > What are the results of relevant part of
> > 
> >  $ cd t
> >  $ ./t9502-gitweb-standalone-parse-output.sh --debug
> > 
> > output?
> 
>   ok 1 - setup
>   FULL_ID  = 1005c80cc11c531d327b12195027cbbb4ff9e3cb
>   SHORT_ID = 1005c80
>   not ok - 2 snapshot: full sha1
>   #       
>   #               gitweb_run "p=.git;a=snapshot;h=$FULL_ID;sf=tar" &&
>   #               check_snapshot ".git-$SHORT_ID"
>   #       
>   Status: 200 OK
>   Content-disposition: inline; filename=".git-1005c80.tar"
>   Content-Type: application/x-tar
> 
> They all fail after that, the rest of the output is at the end.  

Could you add 'exit' just after second test in 
t/t9502-gitweb-standalone-parse-output.sh test script, or running it
with `--immediate' option, and show us the results (after 'cd t') of

  $ file "trash directory.t9502-gitweb-standalone-parse-output/gitweb.body"
  should be:

    trash directory.t9502-gitweb-standalone-parse-output/gitweb.body: tar archive

  $ grep '<head>' "trash directory.t9502-gitweb-standalone-parse-output/gitweb.body"
  should be empty

  $ du -b "trash directory.t9502-gitweb-standalone-parse-output/gitweb.body"
  should be:

    10240   trash directory.t9502-gitweb-standalone-parse-output/gitweb.body

> OTOH if I check out v1.7.3.1-48-g5768176 instead, where the test
> works ok, it looks like this: [...]

Could you bisect to commit that introduces breakage?

Thanks in advance.
-- 
Jakub Narebski
Poland

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-12-03 13:02       ` Jakub Narebski
@ 2010-12-03 13:06         ` Thomas Rast
  2010-12-03 14:12           ` Jakub Narebski
  0 siblings, 1 reply; 23+ messages in thread
From: Thomas Rast @ 2010-12-03 13:06 UTC (permalink / raw
  To: Jakub Narebski; +Cc: John 'Warthog9' Hawley, Junio C Hamano, git

Jakub Narebski wrote:
> Could you add 'exit' just after second test in 
> t/t9502-gitweb-standalone-parse-output.sh test script, or running it
> with `--immediate' option, and show us the results (after 'cd t') of
> 
>   $ file "trash directory.t9502-gitweb-standalone-parse-output/gitweb.body"
>   should be:
> 
>     trash directory.t9502-gitweb-standalone-parse-output/gitweb.body: tar archive

Well, you're onto something...

  trash directory.t9502-gitweb-standalone-parse-output$ file *
  file_list:          empty
  foo:                ASCII text
  gitweb.body:        empty
  gitweb_config.perl: perl script text executable
  gitweb.headers:     ASCII text, with CRLF line terminators
  gitweb.log:         empty
  gitweb.output:      ASCII text, with CRLF line terminators
  GLOB(0xdf18fc0):    tar archive

Huh.  Seems something got confused about what to use as a filename?

> > OTOH if I check out v1.7.3.1-48-g5768176 instead, where the test
> > works ok, it looks like this: [...]
> 
> Could you bisect to commit that introduces breakage?

That's what the automatic tester does by itself (again under
valgrind), and it came back with "gitweb: File based caching layer
(from git.kernel.org)", i.e., 17b15d4.  I should have pointed out that
this was already a bisection in the first mail.

(The manual runs on the server now verified that the bisecter worked
ok, so it really is that commit.)

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-12-03 13:06         ` Thomas Rast
@ 2010-12-03 14:12           ` Jakub Narebski
  2010-12-03 15:03             ` Thomas Rast
  0 siblings, 1 reply; 23+ messages in thread
From: Jakub Narebski @ 2010-12-03 14:12 UTC (permalink / raw
  To: Thomas Rast; +Cc: John 'Warthog9' Hawley, Junio C Hamano, git

On Fri, 3 Dec 2010, Thomas Rast wrote:
> Jakub Narebski wrote:
> > Could you add 'exit' just after second test in 
> > t/t9502-gitweb-standalone-parse-output.sh test script, or running it
> > with `--immediate' option, and show us the results (after 'cd t') of
> > 
> >   $ file "trash directory.t9502-gitweb-standalone-parse-output/gitweb.body"
> >   should be:
> > 
> >     trash directory.t9502-gitweb-standalone-parse-output/gitweb.body: tar archive
> 
> Well, you're onto something...
> 
>   trash directory.t9502-gitweb-standalone-parse-output$ file *
>   file_list:          empty
>   foo:                ASCII text
>   gitweb.body:        empty
>   gitweb_config.perl: perl script text executable
>   gitweb.headers:     ASCII text, with CRLF line terminators
>   gitweb.log:         empty
>   gitweb.output:      ASCII text, with CRLF line terminators
>   GLOB(0xdf18fc0):    tar archive
> 
> Huh.  Seems something got confused about what to use as a filename?

Hmmm... let me examine 17b15d4 (gitweb: File based caching layer
(from git.kernel.org), 2010-11-01)

Ah, I see.  It looks like I forgot to update git_blob_plain and 
git_snapshot when I was modifying original patch by J.H. (which didn't
pass test suite for other reasons) to have test for $caching_enabled
outside cache_fetch().

Could you try if the following patch applied on top of 17b15d4 fixes
it for you?  If it does, I'll resend fixed series (yet again, I'm sorry
Junio).

It is not most elegant solution.


Sidenote: 

  open BINOUT, '>', \$fullhashbinpath

should open in-memory file, and not be equivalent to

  open BINOUT, '>', "\$fullhashbinpath"

Hmmm... in the case of !$caching_enabled, $fullhasbinpath is *STDOUT.


BTW replacing 

  open BINOUT, '>', \$fullhashbinpath

with

  open BINOUT, '>&STDOUT'

or

  open BINOUT, '>&', \$fullhashbinpath

could be simpler, alternate solution.

-- 8< -- 8< --
diff --git i/gitweb/gitweb.perl w/gitweb/gitweb.perl
index abaeec6..3d787c1 100755
--- i/gitweb/gitweb.perl
+++ w/gitweb/gitweb.perl
@@ -5648,13 +5648,14 @@ sub git_blob_plain {
 	local $/ = undef;
 	if ($caching_enabled) {
 		open BINOUT, '>', $fullhashbinpath or die_error(500, "Could not open bin dump file");
-	}else{
-		open BINOUT, '>', \$fullhashbinpath or die_error(500, "Could not open bin dump file");
+		binmode BINOUT, ':raw';
+		print BINOUT <$fd>;
+		close BINOUT;
+	} else {
+		binmode STDOUT, ':raw';
+		print <$fd>;
+		binmode STDOUT, ':utf8'; # as set at the beginning of gitweb.cgi
 	}
-	binmode BINOUT, ':raw';
-	print BINOUT <$fd>;
-	binmode BINOUT, ':utf8'; # as set at the beginning of gitweb.cgi
-	close BINOUT;
 	close $fd;
 }
 
@@ -5941,13 +5942,14 @@ sub git_snapshot {
 		or die_error(500, "Execute git-archive failed");
 	if ($caching_enabled) {
 		open BINOUT, '>', $fullhashbinpath or die_error(500, "Could not open bin dump file");
-	}else{
-		open BINOUT, '>', \$fullhashbinpath or die_error(500, "Could not open bin dump file");
+		binmode BINOUT, ':raw';
+		print BINOUT <$fd>;
+		close BINOUT;
+	} else {
+		binmode STDOUT, ':raw';
+		print <$fd>;
+		binmode STDOUT, ':utf8'; # as set at the beginning of gitweb.cgi
 	}
-	binmode BINOUT, ':raw';
-	print BINOUT <$fd>;
-	binmode BINOUT, ':utf8'; # as set at the beginning of gitweb.cgi
-	close BINOUT;
 	close $fd;
 }
 

-- >8 -- >8 -- 
-- 
Jakub Narebski
Poland

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

* Re: What's cooking in git.git (Nov 2010, #03; Wed, 24)
  2010-12-03 14:12           ` Jakub Narebski
@ 2010-12-03 15:03             ` Thomas Rast
  0 siblings, 0 replies; 23+ messages in thread
From: Thomas Rast @ 2010-12-03 15:03 UTC (permalink / raw
  To: Jakub Narebski; +Cc: John 'Warthog9' Hawley, Junio C Hamano, git

Jakub Narebski wrote:
> Could you try if the following patch applied on top of 17b15d4 fixes
> it for you?  If it does, I'll resend fixed series (yet again, I'm sorry
> Junio).

Yes, that works.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

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

end of thread, other threads:[~2010-12-03 15:03 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-25  3:16 What's cooking in git.git (Nov 2010, #03; Wed, 24) Junio C Hamano
2010-11-25  3:42 ` Jiang Xin
2010-11-25  9:45 ` Ævar Arnfjörð Bjarmason
2010-11-25 10:35   ` Erik Faye-Lund
2010-11-25 12:00     ` Ævar Arnfjörð Bjarmason
2010-11-25 12:34       ` Erik Faye-Lund
2010-11-25 14:54         ` Erik Faye-Lund
2010-11-25 15:03           ` Erik Faye-Lund
2010-11-25 15:22             ` Erik Faye-Lund
2010-11-25 16:33             ` Ævar Arnfjörð Bjarmason
2010-11-25 17:55               ` Erik Faye-Lund
2010-11-25 18:06                 ` Ævar Arnfjörð Bjarmason
2010-11-25 20:02                   ` Erik Faye-Lund
2010-11-26  0:40                     ` Ævar Arnfjörð Bjarmason
2010-11-25 10:41   ` Johannes Sixt
2010-11-25 16:26 ` Jakub Narebski
2010-12-03 10:36 ` Thomas Rast
2010-12-03 11:13   ` Jakub Narebski
2010-12-03 11:22     ` Thomas Rast
2010-12-03 13:02       ` Jakub Narebski
2010-12-03 13:06         ` Thomas Rast
2010-12-03 14:12           ` Jakub Narebski
2010-12-03 15:03             ` Thomas Rast

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).