summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-03-23t1502: protect runs of SPs used in the indentationLibravatar Junio C Hamano1-56/+56
The expected output from the argument help use runs of SPs to align the description of each option; a careless use of --whitespace=fix can turn leading parts of them into appropriate number of HTs. Prevent such a breakage by prefixing all the expected lines with leading vertical bars in the original and stripping them with a small sed script. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-23rev-parse --parseopt: option argument name hintsLibravatar Ilya Bobyr3-3/+64
Built-in commands can specify names for option arguments when usage text is generated for a command. sh based commands should be able to do the same. Option argument name hint is any text that comes after [*=?!] after the argument name up to the first whitespace. Signed-off-by: Ilya Bobyr <ilya.bobyr@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-21Update draft release notes to 2.0Libravatar Junio C Hamano1-2/+26
2014-03-21Merge branch 'lt/request-pull'Libravatar Junio C Hamano3-83/+126
Discard the accumulated "heuristics" to guess from which branch the result wants to be pulled from and make sure what the end user specified is not second-guessed by "git request-pull", to avoid mistakes. * lt/request-pull: request-pull: documentation updates request-pull: resurrect "pretty refname" feature request-pull: test updates request-pull: pick up tag message as before request-pull: allow "local:remote" to specify names on both ends request-pull: more strictly match local/remote branches
2014-03-21Merge branch 'es/sh-i18n-envsubst'Libravatar Junio C Hamano1-12/+0
* es/sh-i18n-envsubst: sh-i18n--envsubst: retire unused string_list_member()
2014-03-21Merge branch 'nd/upload-pack-shallow'Libravatar Junio C Hamano4-3/+65
Serving objects from a shallow repository needs to write a temporary file to be used, but the serving upload-pack may not have write access to the repository which is meant to be read-only. Instead feed these temporary shallow bounds from the standard input of pack-objects so that we do not have to use a temporary file. * nd/upload-pack-shallow: upload-pack: send shallow info over stdin to pack-objects
2014-03-21Merge branch 'jn/wt-status'Libravatar Junio C Hamano3-55/+88
Unify the codepaths that format new/modified/changed sections and conflicted paths in the "git status" output and make it possible to properly internationalize their output. * jn/wt-status: wt-status: lift the artificual "at least 20 columns" floor wt-status: i18n of section labels wt-status: extract the code to compute width for labels wt-status: make full label string to be subject to l10n
2014-03-21Merge branch 'jc/stash-pop-not-popped'Libravatar Junio C Hamano1-2/+8
"stash pop", upon failing to apply the stash, refrains from discarding the stash to avoid information loss. Be more explicit in the error message. The wording may want to get a bit more bikeshedding. * jc/stash-pop-not-popped: stash pop: mention we did not drop the stash upon failing to apply
2014-03-21Merge branch 'dk/skip-prefix-scan-only-once'Libravatar Junio C Hamano1-2/+5
Update implementation of skip_prefix() to scan only once; given that most "prefix" arguments to the inline function are constant strings whose strlen() can be determined at the compile time, this might actually make things worse with a compiler with sufficient intelligence. * dk/skip-prefix-scan-only-once: skip_prefix(): scan prefix only once
2014-03-21Merge branch 'nd/tag-version-sort'Libravatar Junio C Hamano6-5/+211
Allow v1.9.0 sorted before v1.10.0 in "git tag --list" output. * nd/tag-version-sort: tag: support --sort=<spec>
2014-03-21Merge branch 'jk/shallow-update-fix'Libravatar Junio C Hamano5-56/+49
Serving objects from a shallow repository needs to write a new file to hold the temporary shallow boundaries but it was not cleaned when we exit due to die() or a signal. * jk/shallow-update-fix: shallow: verify shallow file after taking lock shallow: automatically clean up shallow tempfiles shallow: use stat_validity to check for up-to-date file
2014-03-21Merge branch 'tc/commit-dry-run-exit-status-tests'Libravatar Junio C Hamano1-0/+36
* tc/commit-dry-run-exit-status-tests: demonstrate git-commit --dry-run exit code behaviour
2014-03-18Sync with 1.9.1Libravatar Junio C Hamano2-1/+61
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-18Update draft release notes to Git 2.0Libravatar Junio C Hamano1-0/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-18Git 1.9.1Libravatar Junio C Hamano4-3/+63
The version numbering scheme has changed since Git 1.9 and we dropped the third dewey-decimal from the traditional numbering (e.g. both 1.8.4 and 1.8.5 were major feature releases). This release 1.9.1 is the first maintenance relase for Git 1.9. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-18Merge branch 'jk/clean-d-pathspec' into maintLibravatar Junio C Hamano2-11/+25
"git clean -d pathspec" did not use the given pathspec correctly and ended up cleaning too much. * jk/clean-d-pathspec: clean: simplify dir/not-dir logic clean: respect pathspecs with "-d"
2014-03-18Merge branch 'da/difftool-git-files' into maintLibravatar Junio C Hamano2-16/+16
"git difftool" misbehaved when the repository is bound to the working tree with the ".git file" mechanism, where a textual file ".git" tells us where it is. * da/difftool-git-files: t7800: add a difftool test for .git-files difftool: support repositories with .git-files
2014-03-18Merge branch 'jk/remote-pushremote-config-reading' into maintLibravatar Junio C Hamano2-1/+19
"git push" did not pay attention to branch.*.pushremote if it is defined earlier than remote.pushdefault; the order of these two variables in the configuration file should not matter, but it did by mistake. * jk/remote-pushremote-config-reading: remote: handle pushremote config in any order
2014-03-18Merge branch 'jk/commit-dates-parsing-fix' into maintLibravatar Junio C Hamano6-11/+96
Codepaths that parse timestamps in commit objects have been tightened. * jk/commit-dates-parsing-fix: show_ident_date: fix tz range check log: do not segfault on gmtime errors log: handle integer overflow in timestamps date: check date overflow against time_t fsck: report integer overflow in author timestamps t4212: test bogus timestamps with git-log
2014-03-18Merge branch 'tr/diff-submodule-no-reuse-worktree' into maintLibravatar Junio C Hamano2-3/+32
"git diff --external-diff" incorrectly fed the submodule directory in the working tree to the external diff driver when it knew it is the same as one of the versions being compared. * tr/diff-submodule-no-reuse-worktree: diff: do not reuse_worktree_file for submodules
2014-03-18Merge branch 'nd/reset-setup-worktree' into maintLibravatar Junio C Hamano2-3/+15
"git reset" needs to refresh the index when working in a working tree (it can also be used to match the index to the HEAD in an otherwise bare repository), but it failed to set up the working tree properly, causing GIT_WORK_TREE to be ignored. * nd/reset-setup-worktree: reset: optionally setup worktree and refresh index on --mixed
2014-03-18Merge branch 'jc/check-attr-honor-working-tree' into maintLibravatar Junio C Hamano2-22/+43
"git check-attr" when working on a repository with a working tree did not work well when the working tree was specified via the --work-tree (and obviously with --git-dir) option. * jc/check-attr-honor-working-tree: check-attr: move to the top of working tree when in non-bare repository t0003: do not chdir the whole test process
2014-03-18Merge branch 'bk/refresh-missing-ok-in-merge-recursive' into maintLibravatar Junio C Hamano4-14/+70
"merge-recursive" was broken in 1.7.7 era and stopped working in an empty (temporary) working tree, when there are renames involved. This has been corrected. * bk/refresh-missing-ok-in-merge-recursive: merge-recursive.c: tolerate missing files while refreshing index read-cache.c: extend make_cache_entry refresh flag with options read-cache.c: refactor --ignore-missing implementation t3030-merge-recursive: test known breakage with empty work tree
2014-03-18Merge branch 'ds/rev-parse-required-args' into maintLibravatar Junio C Hamano1-6/+11
"git rev-parse" was loose in rejecting command line arguments that do not make sense, e.g. "--default" without the required value for that option. * ds/rev-parse-required-args: rev-parse: check i before using argv[i] against argc
2014-03-18Merge branch 'jk/config-path-include-fix' into maintLibravatar Junio C Hamano2-2/+6
include.path variable (or any variable that expects a path that can use ~username expansion) in the configuration file is not a boolean, but the code failed to check it. * jk/config-path-include-fix: handle_path_include: don't look at NULL value expand_user_path: do not look at NULL path
2014-03-18Merge branch 'nd/diff-quiet-stat-dirty' into maintLibravatar Junio C Hamano3-24/+51
"git diff --quiet -- pathspec1 pathspec2" sometimes did not return correct status value. * nd/diff-quiet-stat-dirty: diff: do not quit early on stat-dirty files diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
2014-03-18Merge branch 'nd/http-fetch-shallow-fix' into maintLibravatar Junio C Hamano12-37/+105
Attempting to deepen a shallow repository by fetching over smart HTTP transport failed in the protocol exchange, when no-done extension was used. The fetching side waited for the list of shallow boundary commits after the sending end stopped talking to it. * nd/http-fetch-shallow-fix: t5537: move http tests out to t5539 fetch-pack: fix deepen shallow over smart http with no-done cap protocol-capabilities.txt: document no-done protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done' test: rename http fetch and push test files tests: auto-set LIB_HTTPD_PORT from test name
2014-03-18Merge branch 'nd/submodule-pathspec-ending-with-slash' into maintLibravatar Junio C Hamano22-76/+89
Allow "git cmd path/", when the 'path' is where a submodule is bound to the top-level working tree, to match 'path', despite the extra and unnecessary trailing slash (such a slash is often given by command line completion). * nd/submodule-pathspec-ending-with-slash: clean: use cache_name_is_other() clean: replace match_pathspec() with dir_path_match() pathspec: pass directory indicator to match_pathspec_item() match_pathspec: match pathspec "foo/" against directory "foo" dir.c: prepare match_pathspec_item for taking more flags pathspec: rename match_pathspec_depth() to match_pathspec() pathspec: convert some match_pathspec_depth() to dir_path_match() pathspec: convert some match_pathspec_depth() to ce_path_match()
2014-03-18Merge branch 'rs/grep-h-c'Libravatar Junio C Hamano2-31/+46
"git grep" learns to handle combination of "-h (no header)" and "-c (counts)". * rs/grep-h-c: grep: support -h (no header) with --count t7810: add missing variables to tests in loop
2014-03-18Merge branch 'rm/strchrnul-not-strlen'Libravatar Junio C Hamano9-54/+31
* rm/strchrnul-not-strlen: use strchrnul() in place of strchr() and strlen()
2014-03-18Merge branch 'jc/tag-contains-with'Libravatar Junio C Hamano1-0/+6
* jc/tag-contains-with: tag: grok "--with" as synonym to "--contains"
2014-03-18Merge branch 'bg/install-branch-config-skip-prefix'Libravatar Junio C Hamano2-9/+19
* bg/install-branch-config-skip-prefix: branch: use skip_prefix() in install_branch_config() t3200-branch: test setting branch as own upstream
2014-03-18Merge branch 'jc/no-need-for-env-in-sh-scripts'Libravatar Junio C Hamano2-2/+2
* jc/no-need-for-env-in-sh-scripts: *.sh: drop useless use of "env"
2014-03-18Merge branch 'sh/use-hashcpy'Libravatar Junio C Hamano5-6/+6
* sh/use-hashcpy: Use hashcpy() when copying object names
2014-03-18Merge branch 'mh/simplify-cache-tree-find'Libravatar Junio C Hamano1-10/+7
* mh/simplify-cache-tree-find: cache_tree_find(): use path variable when passing over slashes cache_tree_find(): remove early return cache_tree_find(): remove redundant check cache_tree_find(): fix comment formatting cache_tree_find(): find the end of path component using strchrnul() cache_tree_find(): remove redundant checks
2014-03-18Merge branch 'jn/branch-lift-unnecessary-name-length-limit'Libravatar Junio C Hamano1-4/+0
* jn/branch-lift-unnecessary-name-length-limit: branch.c: delete size check of newly tracked branch names
2014-03-18Merge branch 'jk/doc-deprecate-grafts'Libravatar Junio C Hamano2-0/+8
* jk/doc-deprecate-grafts: docs: mark info/grafts as outdated
2014-03-18Merge branch 'jk/detect-push-typo-early'Libravatar Junio C Hamano4-31/+130
Catch "git push $there no-such-branch" early. * jk/detect-push-typo-early: push: detect local refspec errors early match_explicit_lhs: allow a "verify only" mode match_explicit: hoist refspec lhs checks into their own function
2014-03-18Merge branch 'jk/repack-pack-keep-objects'Libravatar Junio C Hamano4-2/+44
* jk/repack-pack-keep-objects: repack: add `repack.packKeptObjects` config var
2014-03-18Merge branch 'sh/finish-tmp-packfile'Libravatar Junio C Hamano4-21/+22
* sh/finish-tmp-packfile: finish_tmp_packfile():use strbuf for pathname construction
2014-03-18Merge branch 'dd/use-alloc-grow'Libravatar Junio C Hamano14-87/+21
Replace open-coded reallocation with ALLOC_GROW() macro. * dd/use-alloc-grow: sha1_file.c: use ALLOC_GROW() in pretend_sha1_file() read-cache.c: use ALLOC_GROW() in add_index_entry() builtin/mktree.c: use ALLOC_GROW() in append_to_tree() attr.c: use ALLOC_GROW() in handle_attr_line() dir.c: use ALLOC_GROW() in create_simplify() reflog-walk.c: use ALLOC_GROW() replace_object.c: use ALLOC_GROW() in register_replace_object() patch-ids.c: use ALLOC_GROW() in add_commit() diffcore-rename.c: use ALLOC_GROW() diff.c: use ALLOC_GROW() commit.c: use ALLOC_GROW() in register_commit_graft() cache-tree.c: use ALLOC_GROW() in find_subtree() bundle.c: use ALLOC_GROW() in add_to_ref_list() builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
2014-03-18Merge branch 'dd/find-graft-with-sha1-pos'Libravatar Junio C Hamano1-15/+9
Replace a hand-rolled binary search with a call to our generic binary search helper function. * dd/find-graft-with-sha1-pos: commit.c: use the generic "sha1_pos" function for lookup
2014-03-18Merge branch 'fc/transport-helper-fixes'Libravatar Junio C Hamano7-12/+105
Updates transport-helper, fast-import and fast-export to allow the ref mapping and ref deletion in a way similar to the natively supported transports. * fc/transport-helper-fixes: remote-bzr: support the new 'force' option test-hg.sh: tests are now expected to pass transport-helper.c: do not overwrite forced bit transport-helper: check for 'forced update' message transport-helper: add 'force' to 'export' helpers transport-helper: don't update refs in dry-run transport-helper: mismerge fix
2014-03-18Merge branch 'nd/sha1-file-delta-stack-leakage-fix'Libravatar Junio C Hamano1-0/+4
Fix a small leak in the delta stack used when resolving a long delta chain at runtime. * nd/sha1-file-delta-stack-leakage-fix: sha1_file: fix delta_stack memory leak in unpack_entry
2014-03-18Merge branch 'jk/diff-filespec-cleanup'Libravatar Junio C Hamano1-1/+1
Portability fix to a topic already in v1.9 * jk/diff-filespec-cleanup: diffcore.h: be explicit about the signedness of is_binary
2014-03-18Merge branch 'jk/clean-d-pathspec'Libravatar Junio C Hamano2-11/+25
"git clean -d pathspec" did not use the given pathspec correctly and ended up cleaning too much. * jk/clean-d-pathspec: clean: simplify dir/not-dir logic clean: respect pathspecs with "-d"
2014-03-17shallow: verify shallow file after taking lockLibravatar Jeff King1-2/+2
Before writing the shallow file, we stat() the existing file to make sure it has not been updated since our operation began. However, we do not do so under a lock, so there is a possible race: 1. Process A takes the lock. 2. Process B calls check_shallow_file_for_update and finds no update. 3. Process A commits the lockfile. 4. Process B takes the lock, then overwrite's process A's changes. We can fix this by doing our check while we hold the lock. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-14Update draft release notes to Git 2.0Libravatar Junio C Hamano2-3/+64
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-03-14Merge branch 'ta/parse-commit-with-skip-prefix'Libravatar Junio C Hamano1-8/+6
* ta/parse-commit-with-skip-prefix: commit.c: use skip_prefix() instead of starts_with()
2014-03-14Merge branch 'sr/add--interactive-term-readkey'Libravatar Junio C Hamano2-1/+4
* sr/add--interactive-term-readkey: git-add--interactive: warn if module for interactive.singlekey is missing git-config: document interactive.singlekey requires Term::ReadKey