The latest feature release Git 1.7.4 is available at the usual places: http://www.kernel.org/pub/software/scm/git/ git-1.7.4.tar.{gz,bz2} (source tarball) git-htmldocs-1.7.4.tar.{gz,bz2} (preformatted docs) git-manpages-1.7.4.tar.{gz,bz2} (preformatted docs) The RPM binary packages for a few architectures are found in: RPMS/$arch/git-*-1.7.4-1.fc13.$arch.rpm (RPM) Git v1.7.4 Release Notes ======================== Updates since v1.7.3 -------------------- * The documentation Makefile now assumes by default asciidoc 8 and docbook-xsl >= 1.73. If you have older versions, you can set ASCIIDOC7 and ASCIIDOC_ROFF, respectively. * The option parsers of various commands that create new branches (or rename existing ones to a new name) were too loose and users were allowed to give a branch a name that begins with a dash by creative abuse of their command line options, which only led to burning themselves. The name of a branch cannot begin with a dash now. * System-wide fallback default attributes can be stored in /etc/gitattributes; the core.attributesfile configuration variable can be used to customize the path to this file. * The thread structure generated by "git send-email" has changed slightly. Setting the cover letter of the latest series as a reply to the cover letter of the previous series with --in-reply-to used to make the new cover letter and all the patches replies to the cover letter of the previous series; this has been changed to make the patches in the new series replies to the new cover letter. * The Bash completion script in contrib/ has been adjusted to be usable with Bash 4 (options with '=value' didn't complete). It has been also made usable with zsh. * Different pagers can be chosen depending on which subcommand is being run under the pager, using the "pager.<subcommand>" variable. * The hardcoded tab-width of 8 that is used in whitespace breakage checks is now configurable via the attributes mechanism. * Support of case insensitive filesystems (i.e. "core.ignorecase") has been improved. For example, the gitignore mechanism didn't pay attention to case insensitivity. * The <tree>:<path> syntax for naming a blob in a tree, and the :<path> syntax for naming a blob in the index (e.g. "master:Makefile", ":hello.c") have been extended. You can start <path> with "./" to implicitly have the (sub)directory you are in prefixed to the lookup. Similarly, ":../Makefile" from a subdirectory would mean "the Makefile of the parent directory in the index". * "git blame" learned the --show-email option to display the e-mail addresses instead of the names of authors. * "git commit" learned the --fixup and --squash options to help later invocation of interactive rebase. * Command line options to "git cvsimport" whose names are in capital letters (-A, -M, -R and -S) can now be specified as the default in the .git/config file by their longer names (cvsimport.authorsFile, cvsimport.mergeRegex, cvsimport.trackRevisions, cvsimport.ignorePaths). * "git daemon" can be built in the MinGW environment. * "git daemon" can take more than one --listen option to listen to multiple addresses. * "git describe --exact-match" was optimized not to read commit objects unnecessarily. * "git diff" and "git grep" learned what functions and subroutines in Fortran, Pascal and Perl look like. * "git fetch" learned the "--recurse-submodules" option. * "git mergetool" tells vim/gvim to show a three-way diff by default (use vimdiff2/gvimdiff2 as the tool name for old behavior). * "git log -G<pattern>" limits the output to commits whose change has added or deleted lines that match the given pattern. * "git read-tree" with no argument as a way to empty the index is deprecated; we might want to remove it in the future. Users can use the new --empty option to be more explicit instead. * "git repack -f" does not spend cycles to recompress objects in the non-delta representation anymore (use -F if you really mean it e.g. after you changed the core.compression variable setting). * "git merge --log" used to limit the resulting merge log to 20 entries; this is now customizable by giving e.g. "--log=47". * "git merge" may work better when all files were moved out of a directory in one branch while a new file is created in place of that directory in the other branch. * "git merge" learned the "--abort" option, synonymous to "git reset --merge" when a merge is in progress. * "git notes" learned the "merge" subcommand to merge notes refs. In addition to the default manual conflict resolution, there are also several notes merge strategies for automatically resolving notes merge conflicts. * "git rebase --autosquash" can use SHA-1 object names to name the commit which is to be fixed up (e.g. "fixup! e83c5163"). * The default "recursive" merge strategy learned the --rename-threshold option to influence the rename detection, similar to the -M option of "git diff". From the "git merge" frontend, the "-X<strategy option>" interface, e.g. "git merge -Xrename-threshold=50% ...", can be used to trigger this. * The "recursive" strategy also learned to ignore various whitespace changes; the most notable is -Xignore-space-at-eol. * "git send-email" learned "--to-cmd", similar to "--cc-cmd", to read the recipient list from a command output. * "git send-email" learned to read and use "To:" from its input files. * you can extend "git shell", which is often used on boxes that allow git-only login over ssh as login shell, with a custom set of commands. * The current branch name in "git status" output can be colored differently from the generic header color by setting the "color.status.branch" variable. * "git submodule sync" updates metainformation for all submodules, not just the ones that have been checked out. * gitweb can use a custom 'highlight' command with its configuration file. * other gitweb updates. Also contains various documentation updates. Fixes since v1.7.3 ------------------ All of the fixes in the v1.7.3.X maintenance series are included in this release, unless otherwise noted. * "git log --author=me --author=her" did not find commits written by me or by her; instead it looked for commits written by me and by her, which is impossible. * "git push --progress" shows progress indicators now. * "git rebase -i" showed a confusing error message when given a branch name that does not exist. * "git repack" places its temporary packs under $GIT_OBJECT_DIRECTORY/pack instead of $GIT_OBJECT_DIRECTORY/ to avoid cross directory renames. * "git submodule update --recursive --other-flags" passes flags down to its subinvocations. ---------------------------------------------------------------- Changes since v1.7.3 are as follows: Adam Tkac (1): Don't pass "--xhtml" to hightlight in gitweb.perl script. Alan Raison (1): contrib/hooks/post-receive-email: fix return values from prep_for_email Alejandro R. SedeÃo (1): Add --force to git-send-email documentation Aleksi Aalto (1): status: show branchname with a configurable color Alexander Sulfrian (2): daemon: add helper function named_sock_setup daemon: allow more than one host address given via --listen Alexandre Erwin Ittner (1): gitk: Add Brazilian Portuguese (pt-BR) translation Alexey Shumkin (1): userdiff: match Pascal class methods Anders Kaseorg (6): apply: Recognize epoch timestamps with : in the timezone describe: Use for_each_rawref describe: Do not use a flex array in struct commit_name describe: Store commit_names in a hash table by commit SHA1 describe: Delay looking up commits until searching for an inexact match Mark gitk script executable Andreas Gruenbacher (1): Clarify and extend the "git diff" format documentation Andreas KÃhler (1): submodule sync: Update "submodule.<name>.url" for empty directories Andrew Waters (1): Fix handling of git-p4 on deleted files Antonio Ospite (3): t/t9001-send-email.sh: fix stderr redirection in 'Invalid In-Reply-To' git-send-email.perl: make initial In-Reply-To apply only to first email t/t9001-send-email.sh: fix '&&' chain in some tests Bert Wesarg (1): Documentation: update-index: -z applies also to --index-info BjÃrn Steinbrink (1): Correctly report corrupted objects Brandon Casey (13): userdiff.c: add builtin fortran regex patterns t/t3903-stash: improve testing of git-stash show builtin/revert.c: don't dereference a NULL pointer wt-status.c: don't leak directory entries when processing untracked,ignored git-send-email.perl: ensure $domain is defined before using it diffcore-pickaxe.c: remove unnecessary curly braces diffcore-pickaxe.c: a void function shouldn't try to return something test-lib.sh/test_decode_color(): use octal not hex in awk script Makefile: add NO_FNMATCH_CASEFOLD to IRIX sections t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' trace.c: ensure NULL is not passed to printf t0001,t1510,t3301: use sane_unset which always returns with status 0 t3032: limit sed branch labels to 8 characters Brian Gernhardt (3): git-stash: fix flag parsing t/gitweb-lib: Don't pass constant to decode_utf8 t6022: Use -eq not = to test output of wc -l Christian Couder (1): t6050 (replace): fix bogus "fetch branch with replacement" test Christoph Mallon (1): diff --check: correct line numbers of new blank lines at EOF Christopher Wilson (1): Enable highlight executable path as a configuration option Clemens Buchacher (15): add rebase patch id tests do not search functions for patch ID t7607: use test-lib functions and check MERGE_HEAD t7607: add leading-path tests add function check_ok_to_remove() lstat_cache: optionally return match_len do not overwrite files in leading path do not overwrite untracked during merge from unborn branch use persistent memory for rejected paths t7607: use test-lib functions and check MERGE_HEAD t7607: add leading-path tests add function check_ok_to_remove() lstat_cache: optionally return match_len do not overwrite files in leading path use persistent memory for rejected paths Cliff Frey (1): documentation: git-config minor cleanups Dan McGee (3): mergetool-lib: combine vimdiff and gvimdiff run blocks mergetool-lib: add a three-way diff view for vim/gvim mergetool-lib: make the three-way diff the default for vim/gvim Daniel Knittl-Frank (1): Improvements to `git checkout -h` David Barr (3): fast-import: Allow filemodify to set the root fast-import: insert new object entries at start of hash bucket fast-import: let importers retrieve blobs David KÃgedal (1): git-blame.el: Add (require 'format-spec) Diego Elio Pettenà (1): imap-send: link against libcrypto for HMAC and others Elijah Newren (54): Document pre-condition for tree_entry_interesting tree-walk: Correct bitrotted comment about tree_entry() tree_entry_interesting(): Make return value more specific diff_tree(): Skip skip_uninteresting() when all remaining paths interesting t3509: Add rename + D/F conflict testcase that recursive strategy fails merge-recursive: D/F conflicts where was_a_dir/file -> was_a_dir t6032: Add a test checking for excessive output from merge t6022: Add test combinations of {content conflict?, D/F conflict remains?} t6022: Add tests for reversing order of merges when D/F conflicts present t6022: Add tests with both rename source & dest involved in D/F conflicts t6022: Add paired rename+D/F conflict: (two/file, one/file) -> (one, two) t6022: Add tests for rename/rename combined with D/F conflicts t6020: Modernize style a bit t6020: Add a testcase for modify/delete + directory/file conflict t6036: Test index and worktree state, not just that merge fails t6036: Add a second testcase similar to the first but with content changes t6036: Add testcase for undetected conflict merge-recursive: Small code clarification -- variable name and comments merge-recursive: Rename conflict_rename_rename*() for clarity merge-recursive: Nuke rename/directory conflict detection merge-recursive: Move rename/delete handling into dedicated function merge-recursive: Move delete/modify handling into dedicated function merge-recursive: Move process_entry's content merging into a function merge-recursive: New data structures for deferring of D/F conflicts merge-recursive: New function to assist resolving renames in-core only merge-recursive: Have process_entry() skip D/F or rename entries merge-recursive: Structure process_df_entry() to handle more cases merge-recursive: Update conflict_rename_rename_1to2() call signature merge-recursive: Update merge_content() call signature merge-recursive: Avoid doubly merging rename/add conflict contents merge-recursive: Move handling of double rename of one file to two merge-recursive: Move handling of double rename of one file to other file merge-recursive: Delay handling of rename/delete conflicts merge-recursive: Delay content merging for renames merge-recursive: Delay modify/delete conflicts if D/F conflict present conflict_rename_delete(): Check whether D/F conflicts are still present conflict_rename_rename_1to2(): Fix checks for presence of D/F conflicts merge_content(): Check whether D/F conflicts are still present handle_delete_modify(): Check whether D/F conflicts are still present merge-recursive: Make room for directories in D/F conflicts merge-recursive: Remove redundant path clearing for D/F conflicts t3020 (ls-files-error-unmatch): remove stray '1' from end of file t4017 (diff-retval): replace manual exit code check with test_expect_code t100[12] (read-tree-m-2way, read_tree_m_u_2way): add missing && t4002 (diff-basic): use test_might_fail for commands that might fail t4202 (log): Replace '<git-command> || :' with test_might_fail t4019 (diff-wserror): add lots of missing && t4026 (color): remove unneeded and unchained command t5602 (clone-remote-exec): add missing && t6016 (rev-list-graph-simplify-history): add missing && t7001 (mv): add missing && t7601 (merge-pull-config): add missing && t7800 (difftool): add missing && Introduce sane_unset and use it to ensure proper && chaining Eric Sunshine (5): Side-step sed line-ending "corruption" leading to t6038 failure. Side-step MSYS-specific path "corruption" leading to t5560 failure. Fix 'clone' failure at DOS root directory. Fix Windows-specific macro redefinition warning. Add MinGW-specific execv() override. Eric Wong (1): Documentation/git-svn: discourage "noMetadata" Erik Faye-Lund (23): mingw: do not crash on open(NULL, ...) do not depend on signed integer overflow inet_ntop: fix a couple of old-style decls mingw: use real pid mingw: support waitpid with pid > 0 and WNOHANG mingw: add kill emulation daemon: use run-command api for async serving daemon: use full buffered mode for stderr daemon: get remote host address from root-process mingw: import poll-emulation from gnulib mingw: use poll-emulation from gnulib daemon: use socklen_t daemon: make --inetd and --detach incompatible daemon: opt-out on features that require posix msvc: opendir: fix malloc-failure msvc: opendir: allocate enough memory msvc: opendir: do not start the search win32: dirent: handle errors msvc: opendir: handle paths ending with a slash win32: use our own dirent.h mingw: do not set errno to 0 on success help: always suggest common-cmds if prefix of cmd exec_cmd: remove unused extern Federico Cuello (1): Fix git-apply with -p greater than 1 Gabriel Corona (2): t5550: test HTTP authentication and userinfo decoding Fix username and password extraction from HTTP URLs Giuseppe Bilotta (16): gitweb: use fullname as hash_base in heads link gitweb: introduce remote_heads feature gitweb: git_get_heads_list accepts an optional list of refs gitweb: separate heads and remotes lists gitweb: nagivation menu for tags, heads and remotes gitweb: allow action specialization in page header gitweb: remotes view for a single remote gitweb: refactor repository URL printing gitweb: provide a routine to display (sub)sections gitweb: group remote heads by remote git instaweb: enable remote_heads web--browse: coding style web--browse: split valid_tool list web--browse: support opera, seamonkey and elinks web--browse: better support for chromium CodingGuidelines: mention whitespace preferences for shell scripts Greg Brockman (4): Allow creation of arbitrary git-shell commands Add interactive mode to git-shell for user-friendliness Add sample commands for git-shell shell: Display errors from improperly-formatted command lines Ilari Liusvaara (4): Add bidirectional_transfer_loop() git-remote-fd git-remote-ext remote-fd/ext: finishing touches after code review Jakub Narebski (14): t/gitweb-lib.sh: Use GIT_BUILD_DIR t/gitweb-lib.sh: Use tabs for indent consistently gitweb: Move call to evaluate_git_version after evaluate_gitweb_config t/gitweb-lib.sh: Add support for GITWEB_TEST_INSTALLED gitweb/Makefile: Add 'test' and 'test-installed' targets gitweb/Makefile: Include gitweb/config.mak gitweb: Fix test of highlighting support in t9500 gitweb: Fix bug in evaluate_path_info gitweb: Improve behavior for actionless path_info gitweb URLs gitweb: Time::HiRes is in core for Perl 5.8 gitweb: selectable configurations that change with each request gitweb: Fix handling of whitespace in generated links gitweb: Introduce esc_attr to escape attributes of HTML elements gitweb: Include links to feeds in HTML header only for '200 OK' response Jan KrÃger (3): read-tree: deprecate syntax without tree-ish args repack: add -F flag to let user choose between --no-reuse-delta/object Documentation: pack.compression: explain how to recompress Jari Aalto (2): git-commit.txt: (synopsis): move -i and -o before "--" git-pull.txt: Mention branch.autosetuprebase Jeff King (27): diff: don't use pathname-based diff drivers for symlinks prefer test -h over test -L in shell scripts rev-list: handle %x00 NUL in user format tests: factor out terminal handling from t7006 tests: test terminal output to both stdout and stderr push: pass --progress down to git-pack-objects docs: give more hints about how "add -e" works config: treat non-existent config files as empty diff: report bogus input to -C/-M/-B apply: don't segfault on binary files with missing data docs: clarify git diff modes of operation docs: give more hints about how "add -e" works document sigchain api log.decorate: accept 0/1 bool values allow command-specific pagers in pager.<cmd> reflogs: clear flags properly in corner case docs: default to more modern toolset default color.status.branch to "same as header" tests: add some script lint checks tests: flip executable bit on t9158 handle arbitrary ints in git_config_maybe_bool t2107: mark passing test as success ident: die on bogus date format docs: explain diff.*.binary option rebase: use explicit "--" with checkout rebase: give a better error message for bogus branch tests: sanitize more git environment variables Jens Lehmann (6): pull: Remove --tags option from manpage clone: Add the --recurse-submodules option as alias for --recursive fetch/pull: Add the --recurse-submodules option Add the 'fetch.recurseSubmodules' config setting Submodules: Add the "fetchRecurseSubmodules" config option git submodule: Remove now obsolete tests before cloning a repo Jiang Xin (1): Fix typo in git-gc document. Jim Meyering (1): mailmap: fix use of freed memory Joe Perches (2): git-send-email.perl: Add --to-cmd git-send-email.perl: Deduplicate "to:" and "cc:" entries with names Johan Herland (23): notes.c: Hexify SHA1 in die() message from init_notes() (trivial) notes.h: Minor documentation fixes to copy_notes() notes.h: Make default_notes_ref() available in notes API notes.c: Reorder functions in preparation for next commit notes.h/c: Allow combine_notes functions to remove notes notes.h/c: Propagate combine_notes_fn return value to add_note() and beyond (trivial) t3303: Indent with tabs instead of spaces for consistency notes.c: Use two newlines (instead of one) when concatenating notes builtin/notes.c: Split notes ref DWIMmery into a separate function git notes merge: Initial implementation handling trivial merges only builtin/notes.c: Refactor creation of notes commits. git notes merge: Handle real, non-conflicting notes merges git notes merge: Add automatic conflict resolvers (ours, theirs, union) Documentation: Preliminary docs on 'git notes merge' git notes merge: Manual conflict resolution, part 1/2 git notes merge: Manual conflict resolution, part 2/2 git notes merge: List conflicting notes in notes merge commit message git notes merge: --commit should fail if underlying notes ref has moved git notes merge: Add another auto-resolving strategy: "cat_sort_uniq" git notes merge: Add testcases for merging notes trees at different fanouts Provide 'git notes get-ref' to easily retrieve current notes ref cmd_merge(): Parse options before checking MERGE_HEAD Provide 'git merge --abort' as a synonym to 'git reset --merge' Johannes Schindelin (3): Make sure that git_getpass() never returns NULL Fix typo in pack-objects' usage merge-octopus: Work around environment issue on Windows Johannes Sixt (6): t7300: add a missing SYMLINKS prerequisite apply --whitespace=fix: fix tab-in-indent Make the tab width used for whitespace checks configurable Avoid duplicate test number t7609 Fix expected values of setup tests on Windows t/README: hint about using $(pwd) rather than $PWD in tests Jon Seymour (2): stash: fix git stash branch regression when branch creation fails stash: simplify parsing fixes Jonathan "Duke" Leto (1): Correct help blurb in checkout -p and friends Jonathan Nieder (89): merge-recursive: expose merge options for builtin merge ll-merge: replace flag argument with options struct t0004 (unwritable files): simplify error handling environment.c: remove unused variable setup: make sure git dir path is in a permanent buffer init: plug tiny one-time memory leak xdiff: cast arguments for ctype functions to unsigned char commit-tree: free commit message before exiting Documentation: No argument of ALLOC_GROW should have side-effects Documentation: gitrevisions is in section 7 Documentation: diff can compare blobs Documentation: expand 'git diff' SEE ALSO section Documentation: update implicit "--no-index" behavior in "git diff" t4203 (mailmap): stop hardcoding commit ids and dates send-pack: avoid redundant "pack-objects died with strange error" test-lib: allow test code to check the list of declared prerequisites test_terminal: catch use without TTY prerequisite test_terminal: ensure redirections work reliably fast-import: filemodify after M 040000 <tree> "" crashes fast-import: tighten M 040000 syntax t9300 (fast-import): another test for the "replace root" feature fast-import: do not clear notes in do_change_note_fanout() user-manual: remote-tracking can be checked out, with detached HEAD Documentation: document show -s tests: add missing && tests: add missing &&, batch 2 test-lib: introduce test_line_count to measure files t6022 (renaming merge): chain test commands with && t1502 (rev-parse --parseopt): test exit code from "-h" t1400 (update-ref): use test_must_fail t3301 (notes): use test_expect_code for clarity t3404 (rebase -i): unroll test_commit loops t3404 (rebase -i): move comment to description t3404 (rebase -i): introduce helper to check position of HEAD t4124 (apply --whitespace): use test_might_fail apply: handle patches with funny filename and colon in timezone cherry-pick/revert: transparently refresh index wrapper: move xmmap() to sha1_file.c wrapper: move odb_* to environment.c path helpers: move git_mkstemp* to wrapper.c strbuf: move strbuf_branchname to sha1_name.c wrapper: give zlib wrappers their own translation unit pack-objects: mark file-local variable static Remove pack file handling dependency from wrapper.o Documentation: split gitignore page into sections Documentation: point to related commands from gitignore Describe various forms of "be quiet" using OPT__QUIET vcs-svn: Error out for v3 dumps fast-import: treat SIGUSR1 as a request to access objects early git-rev-parse.txt: clarify --git-dir gitweb: document $per_request_config better fast-import: stricter parsing of integer options fast-import: clarify documentation of "feature" command fast-import: Allow cat-blob requests at arbitrary points in stream add: introduce add.ignoreerrors synonym for add.ignore-errors Documentation: do not misinterpret pull refspec as bold text git submodule -b ... of current HEAD fails Makefile: dependencies for vcs-svn tests parse-options: clearer reporting of API misuse parse-options: move NODASH sanity checks to parse_options_check parse-options: sanity check PARSE_OPT_NOARG flag parse-options: never suppress arghelp if LITERAL_ARGHELP is set parse-options: allow git commands to invent new option types parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION update-index: migrate to parse-options API treap: make treap_insert return inserted node vcs-svn: fix intermittent repo_tree corruption Makefile: transport-helper uses thread-utils.h t9300: avoid short reads from dd bash: simple reimplementation of _get_comp_words_by_ref t9300: use perl "head -c" clone in place of "dd bs=1 count=16000" kluge t0050: fix printf format strings for portability t0001: test git init when run via an alias diff: funcname and word patterns for perl gitweb: skip logo in atom feed when there is none gitweb: make logo optional daemon: support <directory> arguments again t9010: svnadmin can fail even if available ll-merge: simplify opts == NULL case Documentation/fast-import: capitalize beginning of sentence remote-ext: do not segfault for blank lines Documentation/fast-import: put explanation of M 040000 <dataref> "" in context tests: cosmetic improvements to the repo-setup test tests: compress the setup tests Documentation: do not treat reset --keep as a special case Subject: setup: officially support --work-tree without --git-dir t1510: fix typo in the comment of a test fast-import: treat filemodify with empty tree as delete rebase -i: clarify in-editor documentation of "exec" Joshua Jensen (6): Add string comparison functions that respect the ignore_case variable. Case insensitivity support for .gitignore via core.ignorecase Add case insensitivity support for directories when using git status Add case insensitivity support when using git ls-files Support case folding for git add when core.ignorecase=true Support case folding in git fast-import when core.ignorecase=true Junio C Hamano (59): gitdiffcore doc: update pickaxe description diff: pass the entire diff-options to diffcore_pickaxe() git log/diff: add -G<regexp> that greps in the patch text diff/log -G<pattern>: tests grep: move logic to compile header pattern into a separate helper log --author: take union of multiple "author" requests disallow branch names that start with a hyphen CodingGuidelines: spell Arithmetic Expansion with $(($var)) Git 1.7.3.1 MinGW: avoid collisions between "tags" and "TAGS" Start 1.7.4 cycle merge-recursive: Restructure showing how to chain more process_* functions Martin Langhoff has a new e-mail address Make test script t9157 executable CodingGuidelines: reword parameter expansion section shell portability: no "export VAR=VAL" t4203: do not let "git shortlog" DWIM based on tty merge-recursive:make_room_for_directories - work around dumb compilers Git 1.7.3.2 core.abbrevguard: Ensure short object names stay unique a bit longer read_sha1_file(): report correct name of packfile with a corrupt object A loose object is not corrupt if it cannot be read due to EMFILE t9001: send-email interation with --in-reply-to and --chain-reply-to test: git-apply -p2 rename/chmod only t3404: do not use 'describe' to implement test_cmp_rev t3402: test "rebase -s<strategy> -X<opt>" Update draft release notes to 1.7.4 Documentation: Fix mark-up of lines with more than one tilde Git 1.7.0.8 Update draft release notes to 1.7.4 t9300: remove unnecessary use of /dev/stdin Git 1.7.3.3 t9119: do not compare "Text Last Updated" line from "svn info" Do not link with -lcrypto under NO_OPENSSL t9010 fails when no svn is available get_sha1: teach ":$n:<path>" the same relative path logic Documentation/git.txt: update list of maintenance releases fetch_populated_submodules(): document dynamic allocation thread-utils.h: simplify the inclusion Prepare for 1.7.3.4 Relnotes: remove items fixed on 'maint' get_sha1_oneline: fix lifespan rule of temp_commit_buffer variable Prepare for 1.7.3.4 Git 1.6.4.5 Update draft release notes to 1.7.4 commit: die before asking to edit the log message set_try_to_free_routine(NULL) means "do nothing special" am --abort: keep unrelated commits since the last failure and warn t0021: avoid getting filter killed with SIGPIPE rebase --skip: correctly wrap-up when skipping the last patch userdiff/perl: catch BEGIN/END/... and POD as headers Prepare for 1.7.3.5 Git 1.7.4-rc0 Git 1.7.3.5 Git 1.7.4-rc1 Git 1.7.4-rc2 Documentation updates for 'GIT_WORK_TREE without GIT_DIR' historical usecase Git 1.7.4-rc3 Git 1.7.4 Justin Frankel (2): merge-recursive --patience merge-recursive: options to ignore whitespace changes Kevin Ballard (13): merge-recursive: option to specify rename threshold diff: add synonyms for -M, -C, -B completion: Support the DWIM mode for git checkout blame: Add option to show author email instead of name Update test script annotate-tests.sh to handle missing/extra authors test-lib: extend test_decode_color to handle more color codes diff: handle lines containing only whitespace and tabs better submodule: preserve all arguments exactly when recursing submodule: only preserve flags across recursive status/update invocations status: Quote paths with spaces in short format rebase: better rearranging of fixup!/squash! lines with --autosquash rebase: teach --autosquash to match on sha1 in addition to message diff: add --detect-copies-harder as a synonym for --find-copies-harder Kevin P. Fleming (1): post-receive-email: ensure sent messages are not empty Kirill Smelkov (8): gitk: Show notes by default (like git log does) user-manual: be consistent in illustrations to 'git rebase' blame,cat-file: Prepare --textconv tests for correctly-failing conversion program blame,cat-file: Demonstrate --textconv is wrongly running converter on symlinks blame,cat-file --textconv: Don't assume mode is ``S_IFREF | 0664'' setup: make sure git_dir path is in a permanent buffer, getenv(3) case t/t8006: Demonstrate blame is broken when cachetextconv is on fill_textconv(): Don't get/put cache if sha1 is not valid Linus Torvalds (1): Fix missing 'does' in man-page for 'git checkout' Mark Lodato (3): completion: make compatible with zsh completion: fix zsh check under bash with 'set -u' fsck docs: remove outdated and useless diagnostic Markus Duft (2): add support for the SUA layer (interix; windows) Interix: add configure checks Martin Storsjà (1): Improve the mingw getaddrinfo stub to handle more use cases Martin von Zweigbergk (7): rebase -X: do not clobber strategy Documentation/git-pull: clarify configuration rebase: support --verify rebase --abort: do not update branch ref rebase: only show stat if configured to true Use reflog in 'pull --rebase . foo' completion: add missing configuration variables Mathias Lafeldt (1): git-svn: fix processing of decorated commit hashes Matthieu Moy (12): update comment and documentation for :/foo syntax diff: trivial fix for --output file error message Better "Changed but not updated" message in git-status Replace "remote tracking" with "remote-tracking" Change remote tracking to remote-tracking in non-trivial places everyday.txt: change "tracking branch" to "remote-tracking branch" Change "tracking branch" to "remote-tracking branch" Change incorrect uses of "remote branch" meaning "remote-tracking" Change incorrect "remote branch" to "remote tracking branch" in C code user-manual.txt: explain better the remote(-tracking) branch terms git-branch.txt: mention --set-upstream as a way to change upstream configuration commit: suggest --amend --reset-author to fix commiter identity Michael J Gruber (26): git-reset.txt: clarify branch vs. branch head git-reset.txt: reset does not change files in target git-reset.txt: reset --soft is not a no-op git-reset.txt: use "working tree" consistently git-reset.txt: point to git-checkout git-reset.txt: make modes description more consistent remote-helpers: build in platform independent directory contrib/completion: --no-index option to git diff user-manual: fix anchor name Finding-comments-With-given-Content rev-list-options: clarify --parents and --children t5503: fix typo git-show-ref.txt: clarify the pattern matching test: allow running the tests under "prove" t/t7004-tag: test handling of rfc1991 signatures verify-tag: factor out signature detection tag: factor out sig detection for body edits tag: factor out sig detection for tag display tag: recognize rfc1991 signatures cvsimport: partial whitespace cleanup git-rm.txt: Fix quoting t800?-blame.sh: retitle uniquely git-difftool.txt: correct the description of $BASE and describe $MERGED difftool: provide basename to external tools t1020-subdirectory: test alias expansion in a subdirectory cvsimport: handle the parsing of uppercase config options RelNotes/1.7.4: minor fixes Mike Pape (3): mingw: add network-wrappers for daemon mingw: implement syslog compat: add inet_pton and inet_ntop prototypes Nathan W. Panike (1): Fix a formatting error in git-merge.txt Nguyán ThÃi Ngác Duy (68): branch -h: show usage even in an invalid repository checkout-index -h: show usage even in an invalid repository commit/status -h: show usage even with broken configuration gc -h: show usage even with broken configuration ls-files -h: show usage even with corrupt index merge -h: show usage even with corrupt index update-index -h: show usage even with corrupt index dir.c: fix EXC_FLAG_MUSTBEDIR match in sparse checkout add: do not rely on dtype being NULL behavior clean: avoid quoting twice clean: remove redundant variable baselen get_cwd_relative(): do not misinterpret root path builtins: print setup info if repo is found Add t1510 and basic rules that run repo setup t1510: setup case #0 t1510: setup case #1 t1510: setup case #2 t1510: setup case #3 t1510: setup case #4 t1510: setup case #5 t1510: setup case #6 t1510: setup case #7 t1510: setup case #8 t1510: setup case #9 t1510: setup case #10 t1510: setup case #11 t1510: setup case #12 t1510: setup case #13 t1510: setup case #14 t1510: setup case #15 t1510: setup case #16 t1510: setup case #17 t1510: setup case #18 t1510: setup case #19 t1510: setup case #20 t1510: setup case #21 t1510: setup case #22 t1510: setup case #23 t1510: setup case #24 t1510: setup case #25 t1510: setup case #26 t1510: setup case #27 t1510: setup case #28 t1510: setup case #29 t1510: setup case #30 t1510: setup case #31 cache.h: realign and use (1 << x) form for CE_* constants dir.c: add free_excludes() unpack-trees: move all skip-worktree checks back to unpack_trees() entry.c: remove "checkout-index" from error messages unpack-trees: fix sparse checkout's "unable to match directories" Revert "excluded_1(): support exclude files in index" setup: save prefix (original cwd relative to toplevel) in startup_info Make prefix_path() return char* without const get_sha1: support relative path ":path" syntax get_sha1_oneline: make callers prepare the commit list to traverse get_sha1: support $commit^{/regex} syntax get_sha1: handle special case $commit^{/} Add git_config_early() Use git_config_early() instead of git_config() during repo setup setup: limit get_git_work_tree()'s to explicit setup case only setup: clean up setup_bare_git_dir() setup: clean up setup_discovered_git_dir() setup: rework setup_explicit_git_dir() Remove all logic from get_git_work_tree() Revert "Documentation: always respect core.worktree if set" git.txt: correct where --work-tree path is relative to setup_work_tree: adjust relative $GIT_WORK_TREE after moving cwd Nicolas Pitre (2): diff: don't presume empty file when corresponding object is missing make pack-objects a bit more resilient to repo corruption Pascal Obry (3): Minor indentation fix. Remove @smtp_host_parts variable as not used. New send-email option smtpserveroption. Pat Notz (8): strbuf.h: fix comment typo dir.c: squelch false uninitialized memory warning commit: helper methods to reduce redundant blocks of code pretty.c: teach format_commit_message() to reencode the output commit: --fixup option for use with rebase --autosquash add tests of commit --fixup commit: --squash option for use with rebase --autosquash add tests of commit --squash Pat Thoyts (13): MinGW: fix stat() and lstat() implementations for handling symlinks MinGW: Report errors when failing to launch the html browser. Skip t1300.70 and 71 on msysGit. Do not strip CR when grepping HTTP headers. Skip 'git archive --remote' test on msysGit git-am: fix detection of absolute paths for windows git-gui: show command-line errors in a messagebox on Windows git-gui: enable the Tk console when tracing/debugging on Windows git-gui: generic version trimming git-gui: use full dialog width for old name when renaming branch git-gui: correct assignment of work-tree git-gui: use wordprocessor tab style to ensure tabs work as expected git-gui: apply color information from git diff output Pete Wyckoff (1): convert filter: supply path to external driver Peter Krefting (1): gitk: Update Swedish translation (290t) Peter van der Does (1): bash: get --pretty=m<tab> completion to work with bash v4 Petr Onderka (1): Add global and system-wide gitattributes Ralf Thielow (1): commit.c: Remove backward goto in read_craft_line() Ralf Wildenhues (1): Fix typos in the documentation Ramkumar Ramachandra (11): shell: Rewrite documentation and improve error message t4014-format-patch: Call test_tick before committing format-patch: Don't go over merge commits fmt_merge_msg: Change fmt_merge_msg API to accept shortlog_len merge: Make '--log' an integer option for number of shortlog entries merge: Make 'merge.log' an integer or boolean option t6200-fmt-merge-msg: Exercise 'merge.log' to configure shortlog length t6200-fmt-merge-msg: Exercise '--log' to configure shortlog length SubmittingPatches: Document some extra tags used in commit messages Porcelain scripts: Rewrite cryptic "needs update" error message t9010 (svn-fe): Eliminate dependency on svn perl bindings Ramsay Allan Jones (20): t1503: Fix arithmetic expansion syntax error when using dash msvc: Fix compilation errors in compat/win32/sys/poll.c msvc: git-daemon.exe: Fix linker "unresolved externals" error msvc: Fix build by adding missing INTMAX_MAX define msvc: Fix macro redefinition warnings t3600-rm.sh: Don't pass a non-existent prereq to test #15 t9142: Move call to start_httpd into the setup test lib-git-svn.sh: Avoid setting web server variables unnecessarily lib-git-svn.sh: Add check for mis-configured web server variables t9501-*.sh: Fix a test failure on Cygwin difftool: Fix failure on Cygwin t3419-*.sh: Fix arithmetic expansion syntax error lib-git-svn.sh: Move web-server handling code into separate function t9157-*.sh: Add an svn version check t6038-*.sh: Pass the -b (--binary) option to sed on cygwin t3032-*.sh: Pass the -b (--binary) option to sed on cygwin t3032-*.sh: Do not strip CR from line-endings while grepping on MinGW t4135-*.sh: Skip the "backslash" tests on cygwin t9157-*.sh: Make the svn version check more precise svndump.c: Fix a printf format compiler warning Renà Scharfe (10): diff: avoid repeated scanning while looking for funcname work around buggy S_ISxxx(m) implementations add description parameter to OPT__VERBOSE add description parameter to OPT__DRY_RUN add description parameter to OPT__QUIET add OPT__FORCE archive: improve --verbose description branch: improve --verbose description verify-tag: document --verbose close file on error in read_mmfile() Robin H. Johnson (2): Fix false positives in t3404 due to SHELL=/bin/false t9001: Fix test prerequisites SZEDER GÃbor (7): bisect: improve error message of 'bisect log' while not bisecting bisect: improve error msg of 'bisect reset' when original HEAD is deleted bisect: check for mandatory argument of 'bisect replay' bash: offer refs for 'git bisect start' bash: not all 'git bisect' subcommands make sense when not bisecting bash: support more 'git notes' subcommands and their options bash: support pretty format aliases Santi BÃjar (1): parse-remote: handle detached HEAD Schalk, Ken (1): t3030: Add a testcase for resolvable rename/add conflict with symlinks Sebastian Schuberth (3): MinGW: Use pid_t more consequently, introduce uid_t for greater compatibility MinGW: Add missing file mode bit defines On Windows, avoid git-gui to call Cygwin's nice utility Shawn O. Pearce (2): Use git_open_noatime when accessing pack data Work around EMFILE when there are too many pack files Stefan Haller (2): gitk: Prevent the text pane from becoming editable gitk: Make text selectable on Mac Stephen Boyd (4): send-email: Use To: headers in patch files send-email: Don't leak To: headers between patches parse-options: Don't call parse_options_check() so much parse-options: do not infer PARSE_OPT_NOARG from option type StephenB (1): git svn: fix the final example in man page Steven Walter (2): git-svn: check_cherry_pick should exclude commits already in our history git-svn: allow the mergeinfo property to be set Sven Eckelmann (1): contrib/ciabot: git-describe commit instead of HEAD Sylvain Rabot (2): gitweb: add extensions to highlight feature map gitweb: remove unnecessary test when closing file descriptor Tay Ray Chuan (14): smart-http: Don't change POST to GET when following redirect t5523-push-upstream: add function to ensure fresh upstream repo t5523-push-upstream: test progress messages format-patch: page output with --stdout t5550-http-fetch: add missing '&&' t5550-http-fetch: add test for http-fetch shift end_url_with_slash() from http.[ch] to url.[ch] url: add str wrapper for end_url_with_slash() http-backend: use end_url_with_slash() http-push: Normalise directory names when pushing to some WebDAV servers http-push: check path length before using it http-push: add trailing slash at arg-parse time, instead of later on http-fetch: rework url handling bash completion: add basic support for git-reflog Thiago Farina (3): commit: Add commit_list prefix in two function names. builtin/branch.c: Use ALLOC_GROW instead of alloc_nr and xrealloc. builtin/rm.c: Use ALLOC_GROW instead of alloc_nr and xrealloc. Thomas Rast (12): send-email: Refuse to send cover-letter template subject prefix_filename(): safely handle the case where pfx_len=0 merge-file: correctly find files when called in subdir repack: place temporary packs under .git/objects/pack/ {cvs,svn}import: use the new 'git read-tree --empty' t0003: properly quote $HOME gitk: Add the equivalent of diff --color-words userdiff: fix typo in ruby and python word regexes Documentation/git-archive: spell --worktree-attributes correctly Documentation/githooks: post-rewrite-copy-notes never existed submodule: fix relative url parsing for scp-style origin t0000: quote TAP snippets in test code Tomas Carnecky (1): stash drops the stash even if creating the branch fails because it already exists Tony Luck (1): Better advice on using topic branches for kernel development Torsten BÃgershausen (1): t9143: do not fail when unhandled.log.gz is not created Uwe Kleine-KÃnig (2): get_author_ident_from_commit(): remove useless quoting Documentation/git-clone: describe --mirror more verbosely Vasyl' Vavrychuk (1): trace.c: mark file-local function static Wesley J. Landaker (1): Documentation: Refer to git-commit-tree in git-filter-branch help Yann Dirson (5): t/t3415: use && where applicable. Fix copy-pasted comments related to tree diff handling. Keep together options controlling the behaviour of diffcore-rename. Document that rev-list --graph triggers parent rewriting. diff: use "find" instead of "detect" as prefix for long forms of -M and -C knittl (1): bash: Match lightweight tags in prompt Ãvar ArnfjÃrà Bjarmason (25): send-email: use catfile() to concatenate files Makefile: add CC to TRACK_CFLAGS perl: bump the required Perl version to 5.8 from 5.6.[21] perl: use "use warnings" instead of -w send-email: use lexical filehandle for opendir send-email: use lexical filehandles for $compose send-email: use lexical filehandles during sending send-email: get_patch_subject doesn't need a prototype send-email: file_declares_8bit_cte doesn't need a prototype send-email: unique_email_list doesn't need a prototype send-email: cleanup_compose_files doesn't need a prototype send-email: use \E***\Q instead of \*\*\* send-email: sanitize_address use $foo, not "$foo" send-email: sanitize_address use qq["foo"], not "\"foo\"" send-email: use (?:) instead of () if no match variables are needed send-email: send_message die on $!, not $? send-email: make_message_id use "require" instead of "use" send-email: use Perl idioms in while loop send-email: is_rfc2047_quoted use qr// regexes send-email: extract_valid_address use qr// regexes Makefile & configure: add a NO_FNMATCH flag Makefile & configure: add a NO_FNMATCH_CASEFOLD flag test-lib: make test_expect_code a test command t7004-tag.sh: re-arrange git tag comment for clarity tests: use test_cmp instead of piping to diff(1) ÅtÄpÃn NÄmec (8): Use angles for placeholders consistently Fix odd markup in --diff-filter documentation Use parentheses and `...' where appropriate Remove stray quotes in --pretty and --format documentation Put a space between `<' and argument in pack-objects usage string Fix {update,checkout}-index usage strings CodingGuidelines: Add a section on writing documentation diff,difftool: Don't use the {0,2} notation in usage strings -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html