summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-09-09Merge branch 'jc/diff-filter-negation'Libravatar Junio C Hamano4-29/+118
Teach "git diff --diff-filter" to express "I do not want to see these classes of changes" more directly by listing only the unwanted ones in lowercase (e.g. "--diff-filter=d" will show everything but deletion) and deprecate "diff-files -q" which did the same thing as "--diff-filter=d". * jc/diff-filter-negation: diff: deprecate -q option to diff-files diff: allow lowercase letter to specify what change class to exclude diff: reject unknown change class given to --diff-filter diff: preparse --diff-filter string argument diff: factor out match_filter() diff: pass the whole diff_options to diffcore_apply_filter()
2013-09-09Merge branch 'ms/fetch-prune-configuration'Libravatar Junio C Hamano5-3/+128
Allow fetch.prune and remote.*.prune configuration variables to be set, and "git fetch" to behave as if "--prune" is given. "git fetch" that honors remote.*.prune is fine, but I wonder if we should somehow make "git push" aware of it as well. Perhaps remote.*.prune should not be just a boolean, but a 4-way "none", "push", "fetch", "both"? * ms/fetch-prune-configuration: fetch: make --prune configurable
2013-09-08remote-bzr: reuse bzrlib transports when possibleLibravatar Richard Hansen1-12/+21
Pass a list of open bzrlib.transport.Transport objects to each bzrlib function that might create a transport. This enables bzrlib to reuse existing transports when possible, avoiding multiple concurrent connections to the same remote server. If the remote server is accessed via ssh, this fixes a couple of problems: * If the user does not have keys loaded into an ssh agent, the user may be prompted for a password multiple times. * If the user is using OpenSSH and the ControlMaster setting is set to auto, git-remote-bzr might hang. This is because bzrlib closes the multiple ssh sessions in an undefined order and might try to close the master ssh session before the other sessions. The master ssh process will not exit until the other sessions have exited, causing a deadlock. (The ssh sessions are closed in an undefined order because bzrlib relies on the Python garbage collector to trigger ssh session termination.) Signed-off-by: Richard Hansen <rhansen@bbn.com> Acked-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-05Sync with maintLibravatar Junio C Hamano1-2/+2
* maint: Documentation/git-merge.txt: fix formatting of example block
2013-09-05Merge branch 'nd/fetch-pack-shallow-fix' into maintLibravatar Junio C Hamano2-1/+19
The recent "short-cut clone connectivity check" topic broke a shallow repository when a fetch operation tries to auto-follow tags. * nd/fetch-pack-shallow-fix: fetch-pack: do not remove .git/shallow file when --depth is not specified
2013-09-05Merge branch 'hv/config-from-blob' into maintLibravatar Junio C Hamano1-16/+16
Compilation fix on platforms with fgetc() and friends defined as macros. * hv/config-from-blob: config: do not use C function names as struct members
2013-09-05Merge branch 'maint-1.8.3' into maintLibravatar Junio C Hamano1-2/+2
* maint-1.8.3: Documentation/git-merge.txt: fix formatting of example block
2013-09-05Merge branch 'maint-1.8.2' into maint-1.8.3Libravatar Junio C Hamano1-2/+2
* maint-1.8.2: Documentation/git-merge.txt: fix formatting of example block
2013-09-05Documentation/git-merge.txt: fix formatting of example blockLibravatar Andreas Schwab1-2/+2
You need at least four dashes in a line to have it recognized as listing block delimiter by asciidoc. Signed-off-by: Andreas Schwab <schwab@linux-m68k.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-09-04Update draft release notes after merging the first batch of topicsLibravatar Junio C Hamano1-0/+44
2013-09-04Merge branch 'sb/parseopt-boolean-removal'Libravatar Junio C Hamano42-318/+279
Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary. * sb/parseopt-boolean-removal: revert: use the OPT_CMDMODE for parsing, reducing code checkout-index: fix negations of even numbers of -n config parsing options: allow one flag multiple times hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP branch, commit, name-rev: ease up boolean conditions checkout: remove superfluous local variable log, format-patch: parsing uses OPT__QUIET Replace deprecated OPT_BOOLEAN by OPT_BOOL Remove deprecated OPTION_BOOLEAN for parsing arguments
2013-09-04Merge branch 'jc/parseopt-command-modes'Libravatar Junio C Hamano3-20/+68
Many commands use --dashed-option as a operation mode selector (e.g. "git tag --delete") that the user can use at most one (e.g. "git tag --delete --verify" is a nonsense) and you cannot negate (e.g. "git tag --no-delete" is a nonsense). Make it easier for users of parse_options() to enforce these restrictions. * jc/parseopt-command-modes: tag: use OPT_CMDMODE parse-options: add OPT_CMDMODE()
2013-09-04Merge branch 'jl/some-submodule-config-are-not-boolean'Libravatar Junio C Hamano2-0/+16
* jl/some-submodule-config-are-not-boolean: avoid segfault on submodule.*.path set to an empty "true"
2013-09-04Merge branch 'sg/bash-prompt-lf-in-cwd-test'Libravatar Junio C Hamano1-0/+23
* sg/bash-prompt-lf-in-cwd-test: bash prompt: test the prompt with newline in repository path
2013-09-04Merge branch 'sb/diff-delta-remove-needless-comparison'Libravatar Junio C Hamano1-1/+1
* sb/diff-delta-remove-needless-comparison: create_delta_index: simplify condition always evaluating to true
2013-09-04Merge branch 'fc/unpack-trees-leakfix'Libravatar Junio C Hamano1-1/+3
* fc/unpack-trees-leakfix: unpack-trees: plug a memory leak
2013-09-04Merge branch 'aj/p4-symlink-lose-nl'Libravatar Junio C Hamano1-2/+6
* aj/p4-symlink-lose-nl: git-p4: Fix occasional truncation of symlink contents.
2013-09-04Merge branch 'fc/remote-hg-shared-setup'Libravatar Junio C Hamano1-5/+18
* fc/remote-hg-shared-setup: remote-hg: add shared repo upgrade remote-hg: ensure shared repo is initialized
2013-09-04Merge branch 'sb/misc-cleanup'Libravatar Junio C Hamano2-24/+20
* sb/misc-cleanup: rm: remove unneeded null pointer check diff: fix a possible null pointer dereference diff: remove ternary operator evaluating always to true
2013-09-04Merge branch 'nd/gc-lock-against-each-other'Libravatar Junio C Hamano3-1/+78
* nd/gc-lock-against-each-other: gc: reject if another gc is running, unless --force is given
2013-09-04Merge branch 'ap/remote-hg-tilde-is-home-directory'Libravatar Junio C Hamano1-1/+1
* ap/remote-hg-tilde-is-home-directory: remote-hg: fix path when cloning with tilde expansion
2013-09-04Merge branch 'mm/no-shell-escape-in-die-message'Libravatar Junio C Hamano2-1/+14
Fixes a minor bug in "git rebase -i" (there could be others, as the root cause is pretty generic) where the code feeds a random, data dependeant string to 'echo' and expects it to come out literally. * mm/no-shell-escape-in-die-message: die_with_status: use "printf '%s\n'", not "echo"
2013-09-04Merge branch 'tr/fd-gotcha-fixes'Libravatar Junio C Hamano1-0/+4
Finishing touches to an earlier fix already in 'master'. * tr/fd-gotcha-fixes: t0070: test that git_mkstemps correctly checks return value of open()
2013-09-04Merge branch 'bc/unuse-packfile'Libravatar Junio C Hamano3-17/+87
Handle memory pressure and file descriptor pressure separately when deciding to release pack windows to honor resource limits. * bc/unuse-packfile: Don't close pack fd when free'ing pack windows sha1_file: introduce close_one_pack() to close packs on fd pressure
2013-09-04Merge branch 'da/darwin'Libravatar Junio C Hamano4-14/+99
* da/darwin: OS X: Fix redeclaration of die warning Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1 imap-send: use Apple's Security framework for base64 encoding
2013-09-04Merge branch 'nd/sq-quote-buf'Libravatar Junio C Hamano4-54/+39
Code simplification as a preparatory step to something larger. * nd/sq-quote-buf: quote: remove sq_quote_print() tar-tree: remove dependency on sq_quote_print() for-each-ref, quote: convert *_quote_print -> *_quote_buf
2013-09-04Merge branch 'rr/feed-real-path-to-editor'Libravatar Junio C Hamano1-1/+1
* rr/feed-real-path-to-editor: editor: use canonicalized absolute path
2013-09-04Merge branch 'jk/fast-import-empty-ls'Libravatar Junio C Hamano2-20/+103
* jk/fast-import-empty-ls: fast-import: allow moving the root tree fast-import: allow ls or filecopy of the root tree fast-import: set valid mode on root tree in "ls" t9300: document fast-import empty path issues
2013-09-04Merge branch 'km/svn-1.8-serf-only'Libravatar Junio C Hamano2-3/+34
Subversion 1.8.0 that was recently released breaks older subversion clients coming over http/https in various ways. * km/svn-1.8-serf-only: Git.pm: revert _temp_cache use of temp_is_locked git-svn: allow git-svn fetching to work using serf Git.pm: add new temp_is_locked function
2013-09-04Merge branch 'jc/check-x-z'Libravatar Junio C Hamano3-14/+27
"git check-ignore -z" applied the NUL termination to both its input (with --stdin) and its output, but "git check-attr -z" ignored the option on the output side. This is potentially a backward incompatible fix. Let's see if anybody screams before deciding if we want to do anything to help existing users (there may be none). * jc/check-x-z: check-attr -z: a single -z should apply to both input and output check-ignore -z: a single -z should apply to both input and output check-attr: the name of the character is NUL, not NULL check-ignore: the name of the character is NUL, not NULL
2013-09-03Merge branch 'maint'Libravatar Junio C Hamano3-718/+875
* maint: fix shell syntax error in template l10n: fr.po: hotfix for commit 6b388fc
2013-09-03Merge git://github.com/git-l10n/git-po into maintLibravatar Junio C Hamano2-718/+874
* git://github.com/git-l10n/git-po: l10n: fr.po: hotfix for commit 6b388fc
2013-09-03Merge branch 'maint-1.8.3' into maintLibravatar Junio C Hamano1-0/+1
* maint-1.8.3: fix shell syntax error in template
2013-09-03Merge branch 'maint-1.8.2' into maint-1.8.3Libravatar Junio C Hamano1-0/+1
* maint-1.8.2: fix shell syntax error in template
2013-08-30Start the post-1.8.4 cycleLibravatar Junio C Hamano3-2/+88
It is tentatively called 1.8.5, but it should be an easy matter of renaming the release-notes file and RelNotes symlink to later call it 1.9 near the end of the cycle if we wanted to. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-30Merge branch 'bc/completion-for-bash-3.0'Libravatar Junio C Hamano3-3/+7
Some people still use rather old versions of bash, which cannot grok some constructs like 'printf -v varname' the prompt and completion code started to use recently. * bc/completion-for-bash-3.0: contrib/git-prompt.sh: handle missing 'printf -v' more gracefully t9902-completion.sh: old Bash still does not support array+=('') notation git-completion.bash: use correct Bash/Zsh array length syntax
2013-08-30Merge branch 'sp/doc-smart-http'Libravatar Junio C Hamano1-0/+503
* sp/doc-smart-http: Document the HTTP transport protocols
2013-08-30Merge branch 'mm/war-on-whatchanged'Libravatar Junio C Hamano5-70/+54
* mm/war-on-whatchanged: whatchanged: document its historical nature core-tutorial: trim the section on Inspecting Changes
2013-08-30Merge branch 'rt/doc-merge-file-diff3'Libravatar Junio C Hamano1-1/+4
* rt/doc-merge-file-diff3: Documentation/git-merge-file: document option "--diff3"
2013-08-30Merge branch 'mb/docs-favor-en-us'Libravatar Junio C Hamano2-1/+22
Declare that the official grammar & spelling of the source of this project is en_US, but strongly discourage patches only to "fix" existing en_UK strings to avoid unnecessary churns. * mb/docs-favor-en-us: Provide some linguistic guidance for the documentation.
2013-08-30Merge branch 'rj/doc-rev-parse'Libravatar Junio C Hamano2-55/+77
* rj/doc-rev-parse: rev-parse(1): logically group options rev-parse: remove restrictions on some options
2013-08-30Merge branch 'hv/config-from-blob'Libravatar Junio C Hamano1-16/+16
Portability fix. * hv/config-from-blob: config: do not use C function names as struct members
2013-08-30Merge branch 'nd/fetch-pack-shallow-fix'Libravatar Junio C Hamano2-1/+19
The recent "short-cut clone connectivity check" topic broke a shallow repository when a fetch operation tries to auto-follow tags. * nd/fetch-pack-shallow-fix: fetch-pack: do not remove .git/shallow file when --depth is not specified
2013-08-30fix shell syntax error in templateLibravatar Thorsten Glaser1-0/+1
An if clause must not be empty; add a "colon" command. Signed-off-by: Thorsten Glaser <t.glaser@tarent.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-30l10n: fr.po: hotfix for commit 6b388fcLibravatar Sebastien Helleu2-718/+874
Fix many typos and add some new translations (1277/2080 messages translated). Closes git-l10n/git-po/pull/63. Signed-off-by: Sebastien Helleu <flashcode@flashtux.org> Signed-off-by: Jean-Noel Avila <jn.avila@free.fr> Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2013-08-26config: do not use C function names as struct membersLibravatar Jeff King1-16/+16
According to C99, section 7.1.4: Any function declared in a header may be additionally implemented as a function-like macro defined in the header. Therefore calling our struct member function pointer "fgetc" may run afoul of unwanted macro expansion when we call: char c = cf->fgetc(cf); This turned out to be a problem on uclibc, which defines fgetc as a macro and causes compilation failure. The standard suggests fixing this in a few ways: 1. Using extra parentheses to inhibit the function-like macro expansion. E.g., "(cf->fgetc)(cf)". This is undesirable as it's ugly, and each call site needs to remember to use it (and on systems without the macro, forgetting will compile just fine). 2. Using #undef (because a conforming implementation must also be providing fgetc as a function). This is undesirable because presumably the implementation was using the macro for a performance benefit, and we are dropping that optimization. Instead, we can simply use non-colliding names. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-25fetch-pack: do not remove .git/shallow file when --depth is not specifiedLibravatar Nguyễn Thái Ngọc Duy2-1/+19
fetch_pack() can remove .git/shallow file when a shallow repository becomes a full one again. This behavior is triggered incorrectly when tags are also fetched because fetch_pack() will be called twice. At the first fetch_pack() call: - shallow_lock is set up - alternate_shallow_file points to shallow_lock.filename, which is "shallow.lock" - commit_lock_file is called, which sets shallow_lock.filename to "". alternate_shallow_file also becomes "" because it points to the same memory. At the second call, setup_alternate_shallow() is not called and alternate_shallow_file remains "". It's mistaken as unshallow case and .git/shallow is removed. The end result is a broken repository. Fix this by always initializing alternate_shallow_file when fetch_pack() is called. As an extra measure, check if args->depth > 0 before commit/rollback shallow file. Reported-by: Kacper Kornet <kornet@camk.edu.pl> Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-23Git 1.8.4Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-22contrib/git-prompt.sh: handle missing 'printf -v' more gracefullyLibravatar Brandon Casey1-1/+5
Old Bash (3.0) which is distributed with RHEL 4.X and other ancient platforms that are still in wide use, do not have a printf that supports -v. Neither does Zsh (which is already handled in the code). As suggested by Junio, let's test whether printf supports the -v option and store the result. Then later, we can use it to determine whether 'printf -v' can be used, or whether printf must be called in a subshell. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2013-08-21t9902-completion.sh: old Bash still does not support array+=('') notationLibravatar Brandon Casey1-1/+1
Old Bash (3.0) which is distributed with RHEL 4.X and other ancient platforms that are still in wide use, does not understand the array+=() notation. Let's use an explicit assignment to the new array element which works everywhere, like: array[${#array[@]}+1]='' The right-hand side '' is not strictly necessary, but in this case I think it is more clear. Signed-off-by: Brandon Casey <drafnel@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>