summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-10-29Merge branch 'nd/status-long'Libravatar Jeff King3-6/+30
Allow an earlier "--short" option on the command line to be countermanded with the "--long" option for "git status" and "git commit". * nd/status-long: status: add --long output format option
2012-10-29Merge branch 'jk/sh-setup-in-filter-branch'Libravatar Jeff King3-54/+59
Refactoring to avoid code duplication in shell scripts. * jk/sh-setup-in-filter-branch: filter-branch: use git-sh-setup's ident parsing functions git-sh-setup: refactor ident-parsing functions
2012-10-29Merge branch 'nd/grep-true-path'Libravatar Jeff King4-17/+51
"git grep -e pattern <tree>" asked the attribute system to read "<tree>:.gitattributes" file in the working tree, which was nonsense. * nd/grep-true-path: grep: stop looking at random places for .gitattributes
2012-10-29Merge branch 'jk/maint-http-init-not-in-result-handler'Libravatar Jeff King3-14/+12
Further clean-up to the http codepath that picks up results after cURL library is done with one request slot. * jk/maint-http-init-not-in-result-handler: http: do not set up curl auth after a 401 remote-curl: do not call run_slot repeatedly
2012-10-29Merge branch 'jc/grep-pcre-loose-ends'Libravatar Jeff King7-129/+225
"git log -F -E --grep='<ere>'" failed to use the given <ere> pattern as extended regular expression, and instead looked for the string literally. The early part of this series is a fix for it; the latter part teaches log to respect the grep.* configuration. * jc/grep-pcre-loose-ends: log: honor grep.* configuration log --grep: accept --basic-regexp and --perl-regexp log --grep: use the same helper to set -E/-F options as "git grep" revisions: initialize revs->grep_filter using grep_init() grep: move pattern-type bits support to top-level grep.[ch] grep: move the configuration parsing logic to grep.[ch] builtin/grep.c: make configuration callback more reusable
2012-10-29Merge branch 'jl/submodule-add-by-name'Libravatar Jeff King5-14/+121
If you remove a submodule, in order to keep the repository so that "git checkout" to an older commit in the superproject history can resurrect the submodule, the real repository will stay in $GIT_DIR of the superproject. A later "git submodule add $path" to add a different submodule at the same path will fail. Diagnose this case a bit better, and if the user really wants to add an unrelated submodule at the same path, give the "--name" option to give it a place in $GIT_DIR of the superproject that does not conflict with the original submodule. * jl/submodule-add-by-name: submodule add: Fail when .git/modules/<name> already exists unless forced Teach "git submodule add" the --name option
2012-10-29Merge branch 'jl/submodule-rm'Libravatar Jeff King5-15/+550
"git rm submodule" cannot blindly remove a submodule directory as its working tree may have local changes, and worse yet, it may even have its repository embedded in it. Teach it some special cases where it is safe to remove a submodule, specifically, when there is no local changes in the submodule working tree, and its repository is not embedded in its working tree but is elsewhere and uses the gitfile mechanism to point at it. * jl/submodule-rm: submodule: teach rm to remove submodules unless they contain a git directory
2012-10-25Merge branch 'jk/strbuf-detach-always-non-null'Libravatar Jeff King1-1/+3
* jk/strbuf-detach-always-non-null: strbuf: always return a non-NULL value from strbuf_detach
2012-10-25Merge branch 'js/mingw-fflush-errno'Libravatar Jeff King3-6/+26
* js/mingw-fflush-errno: maybe_flush_or_die: move a too-loose Windows specific error
2012-10-25Merge branch 'da/mergetools-p4'Libravatar Jeff King1-0/+25
* da/mergetools-p4: mergetools/p4merge: Handle "/dev/null"
2012-10-25Merge branch 'jc/test-say-color-avoid-echo-escape'Libravatar Jeff King1-1/+1
Recent nd/wildmatch series was the first to reveal this ancient bug in the test scaffolding. * jc/test-say-color-avoid-echo-escape: test-lib: Fix say_color () not to interpret \a\b\c in the message
2012-10-25Merge branch 'nd/attr-match-optim'Libravatar Jeff King1-8/+13
Trivial and obvious optimization for finding attributes that match a given path. * nd/attr-match-optim: attr: avoid searching for basename on every match attr: avoid strlen() on every match
2012-10-25Merge branch 'jk/peel-ref'Libravatar Jeff King5-36/+19
Speeds up "git upload-pack" (what is invoked by "git fetch" on the other side of the connection) by reducing the cost to advertise the branches and tags that are available in the repository. * jk/peel-ref: upload-pack: use peel_ref for ref advertisements peel_ref: check object type before loading peel_ref: do not return a null sha1 peel_ref: use faster deref_tag_noverify
2012-10-25Merge branch 'bw/config-lift-variable-name-length-limit'Libravatar Jeff King1-30/+29
The configuration parser had an unnecessary hardcoded limit on variable names that was not checked consistently. Lift the limit. * bw/config-lift-variable-name-length-limit: Remove the hard coded length limit on variable names in config files
2012-10-25Merge branch 'fa/remote-svn'Libravatar Jeff King16-38/+655
A GSoC project. * fa/remote-svn: Add a test script for remote-svn remote-svn: add marks-file regeneration Add a svnrdump-simulator replaying a dump file for testing remote-svn: add incremental import remote-svn: Activate import/export-marks for fast-import Create a note for every imported commit containing svn metadata vcs-svn: add fast_export_note to create notes Allow reading svn dumps from files via file:// urls remote-svn, vcs-svn: Enable fetching to private refs When debug==1, start fast-import with "--stats" instead of "--quiet" Add documentation for the 'bidi-import' capability of remote-helpers Connect fast-import to the remote-helper via pipe, adding 'bidi-import' capability Add argv_array_detach and argv_array_free_detached Add svndump_init_fd to allow reading dumps from arbitrary FDs Add git-remote-testsvn to Makefile Implement a remote helper for svn in C
2012-10-25Merge branch 'jm/diff-context-config'Libravatar Jeff King3-1/+104
Teaches a new configuration variable to "git diff" Porcelain and its friends. * jm/diff-context-config: t4055: avoid use of sed 'a' command diff: diff.context configuration gives default to -U
2012-10-25Merge branch 'jk/no-more-pre-exec-callback'Libravatar Jeff King3-29/+0
Removes a workaround for buggy version of less older than version 406. * jk/no-more-pre-exec-callback: pager: drop "wait for output to run less" hack
2012-10-21Git 1.8.0Libravatar Junio C Hamano3-10/+19
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18filter-branch: use git-sh-setup's ident parsing functionsLibravatar Jeff King2-35/+16
This saves us some code, but it also reduces the number of processes we start for each filtered commit. Since we can parse both author and committer in the same sed invocation, we save one process. And since the new interface avoids tr, we save 4 processes. It also avoids using "tr", which has had some odd portability problems reported with from Solaris's xpg6 version. We also tweak one of the tests in t7003 to double-check that we are properly exporting the variables (because test-lib.sh exports GIT_AUTHOR_NAME, it will be automatically exported in subprograms. We override this to make sure that filter-branch handles it properly itself). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18git-sh-setup: refactor ident-parsing functionsLibravatar Jeff King1-19/+43
The only ident-parsing function we currently provide is get_author_ident_from_commit. This is not very flexible for two reasons: 1. It takes a commit as an argument, and can't read from commit headers saved on disk. 2. It will only parse authors, not committers. This patch provides a more flexible interface which will parse multiple idents from a commit provide on stdin. We can easily use it as a building block for the current function to retain compatibility. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18status: add --long output format optionLibravatar Jeff King3-6/+30
You can currently set the output format to --short or --porcelain. There is no --long, because we default to it already. However, you may want to override an alias that uses "--short" to get back to the default. This requires a little bit of refactoring, because currently we use STATUS_FORMAT_LONG internally to mean the same as "the user did not specify anything". By expanding the enum to include STATUS_FORMAT_NONE, we can distinguish between the implicit and explicit cases. This effects these conditions: 1. The user has asked for NUL termination. With NONE, we currently default to turning on the porcelain mode. With an explicit --long, we would in theory use NUL termination with the long mode, but it does not support it. So we can just complain and die. 2. When an output format is given to "git commit", we default to "--dry-run". This behavior would now kick in when "--long" is given, too. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-18strbuf: always return a non-NULL value from strbuf_detachLibravatar Jeff King1-1/+3
The current behavior is to return NULL when strbuf did not actually allocate a string. This can be quite surprising to callers, though, who may feed the strbuf from arbitrary data and expect to always get a valid value. In most cases, it does not make a difference because calling any strbuf function will cause an allocation (even if the function ends up not inserting any data). But if the code is structured like: struct strbuf buf = STRBUF_INIT; if (some_condition) strbuf_addstr(&buf, some_string); return strbuf_detach(&buf, NULL); then you may or may not return NULL, depending on the condition. This can cause us to segfault in http-push (when fed an empty URL) and in http-backend (when an empty parameter like "foo=bar&&" is in the $QUERY_STRING). This patch forces strbuf_detach to allocate an empty NUL-terminated string when it is called on a strbuf that has not been allocated. I investigated all call-sites of strbuf_detach. The majority are either not affected by the change (because they call a strbuf_* function unconditionally), or can handle the empty string just as easily as NULL. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Merge tag 'gitgui-0.17.0' of git://repo.or.cz/git-guiLibravatar Junio C Hamano15-37/+65
git-gui 0.17.0 * tag 'gitgui-0.17.0' of git://repo.or.cz/git-gui: git-gui 0.17 git-gui: Don't prepend the prefix if value looks like a full path git-gui: Detect full path when parsing arguments git-gui: remove .git/CHERRY_PICK_HEAD after committing git-gui: Fix a loose/lose mistake git-gui: Fix semi-working shortcuts for unstage and revert git-gui: de.po: translate "remote" as "extern" git-gui: de.po: translate "bare" as "bloß" git-gui: de.po: consistently add untranslated hook names within braces git-gui: preserve commit messages in utf-8 git-gui: open console when using --trace on windows git-gui: fix a typo in po/ files git-gui: Use PWD if it exists on Mac OS X git-gui: fix git-gui crash due to uninitialized variable
2012-10-17git-gui 0.17Libravatar Pat Thoyts1-1/+1
Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-10-17git-gui: Don't prepend the prefix if value looks like a full pathLibravatar Andrew Wong1-2/+7
When argument parsing fails to detect a file name, "git-gui" will try to use the previously detected "head" as the file name. We should avoid prepending the prefix if "head" looks like a full path. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-10-17git-gui: Detect full path when parsing argumentsLibravatar Andrew Wong1-1/+10
When running "git-gui blame" from a subfolder (which means prefix is non-empty), if we pass a full path as argument, the argument parsing will fail to recognize the argument as a file name, because prefix is prepended to the argument. This patch handles that scenario by adding an additional branch that checks the file name without using the prefix. Signed-off-by: Andrew Wong <andrew.kw.w@gmail.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
2012-10-17Git 1.8.0-rc3Libravatar Junio C Hamano2-5/+4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano2-914/+913
* git://github.com/git-l10n/git-po: l10n: vi.po: update from v1.8.0-rc2-4-g42e55 l10n: Update Swedish translation (1964t0f0u)
2012-10-17Sync with 1.7.12.4Libravatar Junio C Hamano2-1/+25
2012-10-17Git 1.7.12.4Libravatar Junio C Hamano4-3/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Merge branch 'jk/maint-http-half-auth-push' into maintLibravatar Junio C Hamano3-6/+6
* jk/maint-http-half-auth-push: http: fix segfault in handle_curl_result
2012-10-17Merge branch 'rr/git-uri-doc' into maintLibravatar Junio C Hamano1-2/+6
* rr/git-uri-doc: Git url doc: mark ftp/ftps as read-only and deprecate them
2012-10-17Merge branch 'bw/cp-a-is-gnuism' into maintLibravatar Junio C Hamano3-3/+3
* bw/cp-a-is-gnuism: tests: "cp -a" is a GNUism
2012-10-17Merge branch 'nd/doc-ignore' into maintLibravatar Junio C Hamano1-1/+5
* nd/doc-ignore: gitignore.txt: suggestions how to get literal # or ! at the beginning
2012-10-17Merge branch 'jc/doc-long-options' into maintLibravatar Junio C Hamano1-1/+11
* jc/doc-long-options: gitcli: parse-options lets you omit tail of long options
2012-10-17Merge branch 'jc/maint-t1450-fsck-order-fix' into maintLibravatar Junio C Hamano1-3/+1
* jc/maint-t1450-fsck-order-fix: t1450: the order the objects are checked is undefined
2012-10-17Merge branch 'rr/test-use-shell-path-not-shell' into maintLibravatar Junio C Hamano1-16/+16
* rr/test-use-shell-path-not-shell: test-lib: use $SHELL_PATH, not $SHELL
2012-10-17Merge branch 'rr/test-make-sure-we-have-git' into maintLibravatar Junio C Hamano2-10/+9
* rr/test-make-sure-we-have-git: t/test-lib: make sure Git has already been built
2012-10-17Merge branch 'po/maint-docs' into maintLibravatar Junio C Hamano5-15/+28
* po/maint-docs: Doc branch: show -vv option and alternative Doc clean: add See Also link Doc add: link gitignore Doc: separate gitignore pattern sources Doc: shallow clone deepens _to_ new depth
2012-10-17Merge branch 'jc/ll-merge-binary-ours' into maintLibravatar Junio C Hamano5-12/+41
* jc/ll-merge-binary-ours: ll-merge: warn about inability to merge binary files only when we can't attr: "binary" attribute should choose built-in "binary" merge driver merge: teach -Xours/-Xtheirs to binary ll-merge driver
2012-10-17Merge branch 'db/doc-custom-xmlto' into maintLibravatar Junio C Hamano1-2/+3
* db/doc-custom-xmlto: Documentation/Makefile: Allow custom XMLTO binary
2012-10-17maybe_flush_or_die: move a too-loose Windows specific errorLibravatar Johannes Sixt3-6/+26
check to compat Commit b2f5e268 (Windows: Work around an oddity when a pipe with no reader is written to) introduced a check for EINVAL after fflush() to fight spurious "Invalid argument" errors on Windows when a pipe was broken. But this check may hide real errors on systems that do not have the this odd behavior. Introduce an fflush wrapper in compat/mingw.* so that the treatment is only applied on Windows. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-17Merge branch 'master' of https://github.com/nafmo/git-l10n-svLibravatar Jiang Xin1-441/+438
* 'master' of https://github.com/nafmo/git-l10n-sv: l10n: Update Swedish translation (1964t0f0u)
2012-10-17Merge branch 'master' of git://github.com/vnwildman/gitLibravatar Jiang Xin1-473/+475
* 'master' of git://github.com/vnwildman/git: l10n: vi.po: update from v1.8.0-rc2-4-g42e55
2012-10-17l10n: vi.po: update from v1.8.0-rc2-4-g42e55Libravatar Tran Ngoc Quan1-473/+475
* translate 3 new messages * review quotes Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2012-10-16Documentation/RelNotes: remove "updated up to this revision" markersLibravatar Thomas Ackermann5-25/+0
These were used to keep track of the last commit a release notes entry was written for, and should have been removed when cutting the final release. Signed-off-by: Thomas Ackermann <th.acker@arcor.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16Update draft release notes to 1.8.0Libravatar Junio C Hamano1-0/+7
We are almost there... Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-10-16Merge branch 'jk/maint-http-half-auth-push'Libravatar Junio C Hamano3-6/+6
Fixes a regression in maint-1.7.11 (v1.7.11.7), maint (v1.7.12.1) and master (v1.8.0-rc0). * jk/maint-http-half-auth-push: http: fix segfault in handle_curl_result
2012-10-16l10n: Update Swedish translation (1964t0f0u)Libravatar Peter Krefting1-441/+438
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-10-16l10n: Update git.pot (3 new, 6 removed messages)Libravatar Jiang Xin1-437/+415
This po/git.pot update is generated from v1.8.0-rc2-4-g42e55. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>