summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-08-17Merge branch 'js/test-lint-pathname'Libravatar Junio C Hamano1-1/+10
The "t/" hierarchy is prone to get an unusual pathname; "make test" has been taught to make sure they do not contain paths that cannot be checked out on Windows (and the mechanism can be reusable to catch pathnames that are not portable to other platforms as need arises). * js/test-lint-pathname: t/Makefile: ensure that paths are valid on platforms we care
2016-08-17Merge branch 'sg/reflog-past-root'Libravatar Junio C Hamano1-1/+0
A small test clean-up for a topic introduced in v2.9.1 and later. * sg/reflog-past-root: t1410: remove superfluous 'git reflog' from the 'walk past root' test
2016-08-17Merge branch 'rs/mailinfo-lib'Libravatar Junio C Hamano1-7/+2
Small code clean-up. * rs/mailinfo-lib: mailinfo: recycle strbuf in check_header()
2016-08-17Merge branch 'jk/tighten-alloc'Libravatar Junio C Hamano2-4/+2
Small code and comment clean-up. * jk/tighten-alloc: receive-pack: use FLEX_ALLOC_MEM in queue_command() correct FLEXPTR_* example in comment
2016-08-17Merge branch 'va/i18n'Libravatar Junio C Hamano3-4/+4
A handful of tests that were broken under gettext-poison build have been fixed. * va/i18n: t7411: become resilient to GETTEXT_POISON t5520: become resilient to GETTEXT_POISON t3404: become resilient to GETTEXT_POISON
2016-08-17git-multimail: update to release 1.4.0Libravatar Matthieu Moy6-276/+725
Changes are described in CHANGES. Contributions-by: Matthieu Moy <Matthieu.Moy@imag.fr> Contributions-by: Irfan Adilovic <irfanadilovic@gmail.com> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-17relnotes: redo the description of text=auto fixLibravatar Junio C Hamano1-5/+4
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-16t/Makefile: ensure that paths are valid on platforms we careLibravatar Johannes Schindelin1-1/+10
Some pathnames that are okay on ext4 and on HFS+ cannot be checked out on Windows. Tests that want to see operations on such paths on filesystems that support them must do so behind appropriate test prerequisites, and must not include them in the source tree (instead they should create them when they run). Otherwise, the source tree cannot even be checked out. Make sure that double-quotes, asterisk, colon, greater/less-than, question-mark, backslash, tab, vertical-bar, as well as any non-ASCII characters never appear in the pathnames with a new test-lint-* target as part of a `make test`. To that end, we call `git ls-files` (ensuring that the paths are quoted properly), relying on the fact that paths containing non-ASCII characters are quoted within double-quotes. In case that the source code does not actually live in a Git repository (e.g. when extracted from a .zip file), or that the `git` executable cannot be executed, we simply ignore the error for now; In that case, our trusty Continuous Integration will be the last line of defense and catch any problematic file name. Noticed when a topic wanted to add a pathname with '>' in it. A check like this will prevent a similar problems from happening in the future. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-15Relnotes: decribe the updates to the "text=auto" attributeLibravatar Junio C Hamano1-0/+9
Helped-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-15t1410: remove superfluous 'git reflog' from the 'walk past root' testLibravatar SZEDER Gábor1-1/+0
The test added in 71abeb753fa8 (reflog: continue walking the reflog past root commits, 2016-06-03) contains an unnecessary 'git reflog' execution, which was part of my debug/tracing instrumentation that I somehow didn't manage to remove before submitting. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-14Git 2.10-rc0Libravatar Junio C Hamano2-13/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-13receive-pack: use FLEX_ALLOC_MEM in queue_command()Libravatar René Scharfe1-3/+1
Use the macro FLEX_ALLOC_MEM instead of open-coding it. This shortens and simplifies the code a bit. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-13mailinfo: recycle strbuf in check_header()Libravatar René Scharfe1-7/+2
handle_message_id() duplicates the contents of the strbuf that is passed to it. Its only caller proceeds to release the strbuf immediately after that. Reuse it instead and make that change of object ownership more obvious by inlining this short function. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-13correct FLEXPTR_* example in commentLibravatar René Scharfe1-1/+1
This section is about "The FLEXPTR_* variants", so use FLEXPTR_ALLOC_STR in the example. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-12t7411: become resilient to GETTEXT_POISONLibravatar Vasco Almeida1-1/+1
The concerned test greps the error message in git_parse_source() which contains "bad config line %d in submodule-blob %s". Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-12t5520: become resilient to GETTEXT_POISONLibravatar Vasco Almeida1-2/+2
Use test_i18ngrep function instead of grep for grepping strings. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-12t3404: become resilient to GETTEXT_POISONLibravatar Vasco Almeida1-1/+1
The concerned test greps the output of exit_with_patch() in git-rebase--interactive.sh script. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-12Sync with 2.9.3Libravatar Junio C Hamano2-1/+12
* tag 'v2.9.3': Git 2.9.3
2016-08-12Final batch before 2.10-rc0Libravatar Junio C Hamano1-2/+36
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-12Merge branch 'kw/patch-ids-optim'Libravatar Junio C Hamano8-87/+128
When "git rebase" tries to compare set of changes on the updated upstream and our own branch, it computes patch-id for all of these changes and attempts to find matches. This has been optimized by lazily computing the full patch-id (which is expensive) to be compared only for changes that touch the same set of paths. * kw/patch-ids-optim: rebase: avoid computing unnecessary patch IDs patch-ids: add flag to create the diff patch id using header only data patch-ids: replace the seen indicator with a commit pointer patch-ids: stop using a hand-rolled hashmap implementation
2016-08-12Merge branch 'ew/http-backend-batch-headers'Libravatar Junio C Hamano1-104/+116
The http-backend (the server-side component of smart-http transport) used to trickle the HTTP header one at a time. Now these write(2)s are batched. * ew/http-backend-batch-headers: http-backend: buffer headers before sending
2016-08-12Merge branch 'va/i18n'Libravatar Junio C Hamano3-16/+16
* va/i18n: i18n: git-stash: mark messages for translation i18n: archive: mark errors for translation i18n: setup: mark error messages for translation
2016-08-12Merge branch 'vs/typofix'Libravatar Junio C Hamano25-33/+33
* vs/typofix: Spelling fixes
2016-08-12Merge branch 'js/mv-dir-to-new-directory'Libravatar Junio C Hamano1-4/+7
"git mv dir non-existing-dir/" did not work in some environments the same way as existing mainstream platforms. The code now moves "dir" to "non-existing-dir", without relying on rename("A", "B/") that strips the trailing slash of '/'. * js/mv-dir-to-new-directory: git mv: do not keep slash in `git mv dir non-existing-dir/`
2016-08-12Merge branch 'rs/use-strbuf-add-unique-abbrev'Libravatar Junio C Hamano3-16/+11
A small code clean-up. * rs/use-strbuf-add-unique-abbrev: use strbuf_add_unique_abbrev() for adding short hashes
2016-08-12Merge branch 'jk/big-and-future-archive-tar'Libravatar Junio C Hamano1-10/+5
A small code clean-up. * jk/big-and-future-archive-tar: archive-tar: make write_extended_header() void
2016-08-12Merge branch 'jk/trace-fixup'Libravatar Junio C Hamano3-33/+35
Various small fixups to the "GIT_TRACE" facility. * jk/trace-fixup: trace: do not fall back to stderr write_or_die: drop write_or_whine_pipe() trace: disable key after write error trace: correct variable name in write() error message trace: cosmetic fixes for error messages trace: use warning() for printing trace errors trace: stop using write_or_whine_pipe() trace: handle NULL argument in trace_disable()
2016-08-12Merge branch 'rs/merge-recursive-string-list-init'Libravatar Junio C Hamano1-2/+1
A small code clean-up. * rs/merge-recursive-string-list-init: merge-recursive: use STRING_LIST_INIT_NODUP
2016-08-12Merge branch 'rs/merge-add-strategies-simplification'Libravatar Junio C Hamano1-34/+10
A small code clean-up. * rs/merge-add-strategies-simplification: merge: use string_list_split() in add_strategies()
2016-08-12Merge branch 'rs/child-process-init'Libravatar Junio C Hamano2-6/+3
A small code clean-up. * rs/child-process-init: use CHILD_PROCESS_INIT to initialize automatic variables
2016-08-12Merge branch 'js/import-tars-hardlinks'Libravatar Junio C Hamano1-11/+20
"import-tars" fast-import script (in contrib/) used to ignore a hardlink target and replaced it with an empty file, which has been corrected to record the same blob as the other file the hardlink is shared with. * js/import-tars-hardlinks: import-tars: support hard links
2016-08-12Merge branch 'ms/document-pack-window-memory-is-per-thread'Libravatar Junio C Hamano2-4/+6
* ms/document-pack-window-memory-is-per-thread: document git-repack interaction of pack.threads and pack.windowMemory
2016-08-12Merge branch 'vs/completion-branch-fully-spelled-d-m-r'Libravatar Junio C Hamano1-3/+3
* vs/completion-branch-fully-spelled-d-m-r: completion: complete --delete, --move, and --remotes for git branch
2016-08-12Merge branch 'sb/submodule-clone-retry'Libravatar Junio C Hamano1-2/+6
Fix-up to an error codepath in a topic already in 'master'. * sb/submodule-clone-retry: submodule--helper: use parallel processor correctly
2016-08-12Git 2.9.3Libravatar Junio C Hamano3-2/+13
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-12Merge branch 'jk/difftool-in-subdir' into maintLibravatar Junio C Hamano2-59/+41
"git difftool <paths>..." started in a subdirectory failed to interpret the paths relative to that directory, which has been fixed. * jk/difftool-in-subdir: difftool: use Git::* functions instead of passing around state difftool: avoid $GIT_DIR and $GIT_WORK_TREE difftool: fix argument handling in subdirs
2016-08-12Merge branch 'jk/reset-ident-time-per-commit' into maintLibravatar Junio C Hamano3-0/+8
Not-so-recent rewrite of "git am" that started making internal calls into the commit machinery had an unintended regression, in that no matter how many seconds it took to apply many patches, the resulting committer timestamp for the resulting commits were all the same. * jk/reset-ident-time-per-commit: am: reset cached ident date for each patch
2016-08-11rebase: avoid computing unnecessary patch IDsLibravatar Kevin Willford5-8/+85
The `rebase` family of Git commands avoid applying patches that were already integrated upstream. They do that by using the revision walking option that computes the patch IDs of the two sides of the rebase (local-only patches vs upstream-only ones) and skipping those local patches whose patch ID matches one of the upstream ones. In many cases, this causes unnecessary churn, as already the set of paths touched by a given commit would suffice to determine that an upstream patch has no local equivalent. This hurts performance in particular when there are a lot of upstream patches, and/or large ones. Therefore, let's introduce the concept of a "diff-header-only" patch ID, compare those first, and only evaluate the "full" patch ID lazily. Please note that in contrast to the "full" patch IDs, those "diff-header-only" patch IDs are prone to collide with one another, as adjacent commits frequently touch the very same files. Hence we now have to be careful to allow multiple hash entries with the same hash. We accomplish that by using the hashmap_add() function that does not even test for hash collisions. This also allows us to evaluate the full patch ID lazily, i.e. only when we found commits with matching diff-header-only patch IDs. We add a performance test that demonstrates ~1-6% improvement. In practice this will depend on various factors such as how many upstream changes and how big those changes are along with whether file system caches are cold or warm. As Git's test suite has no way of catching performance regressions, we also add a regression test that verifies that the full patch ID computation is skipped when the diff-header-only computation suffices. Signed-off-by: Kevin Willford <kcwillford@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-11Spelling fixesLibravatar Ville Skyttä25-33/+33
<BAD> <CORRECTED> accidently accidentally commited committed dependancy dependency emtpy empty existance existence explicitely explicitly git-upload-achive git-upload-archive hierachy hierarchy indegee indegree intial initial mulitple multiple non-existant non-existent precendence. precedence. priviledged privileged programatically programmatically psuedo-binary pseudo-binary soemwhere somewhere successfull successful transfering transferring uncommited uncommitted unkown unknown usefull useful writting writing Signed-off-by: Ville Skyttä <ville.skytta@iki.fi> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-10Sync with maintLibravatar Junio C Hamano1-0/+68
* maint: Yet another batch for 2.9.3
2016-08-10Twelfth batch for 2.10Libravatar Junio C Hamano1-20/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2016-08-10Merge branch 'sb/submodule-update-dot-branch'Libravatar Junio C Hamano5-17/+132
A few updates to "git submodule update". Use of "| wc -l" break with BSD variant of 'wc'. * sb/submodule-update-dot-branch: t7406: fix breakage on OSX submodule update: allow '.' for branch value submodule--helper: add remote-branch helper submodule-config: keep configured branch around submodule--helper: fix usage string for relative-path submodule update: narrow scope of local variable submodule update: respect depth in subsequent fetches t7406: future proof tests with hard coded depth
2016-08-10Merge branch 'js/am-3-merge-recursive-direct'Libravatar Junio C Hamano15-294/+419
"git am -3" calls "git merge-recursive" when it needs to fall back to a three-way merge; this call has been turned into an internal subroutine call instead of spawning a separate subprocess. * js/am-3-merge-recursive-direct: merge-recursive: flush output buffer even when erroring out merge_trees(): ensure that the callers release output buffer merge-recursive: offer an option to retain the output in 'obuf' merge-recursive: write the commit title in one go merge-recursive: flush output buffer before printing error messages am -3: use merge_recursive() directly again merge-recursive: switch to returning errors instead of dying merge-recursive: handle return values indicating errors merge-recursive: allow write_tree_from_memory() to error out merge-recursive: avoid returning a wholesale struct merge_recursive: abort properly upon errors prepare the builtins for a libified merge_recursive() merge-recursive: clarify code in was_tracked() die(_("BUG")): avoid translating bug messages die("bug"): report bugs consistently t5520: verify that `pull --rebase` shows the helpful advice when failing
2016-08-10Merge branch 'js/commit-slab-decl-fix'Libravatar Junio C Hamano2-4/+3
* js/commit-slab-decl-fix: commit-slab.h: avoid duplicated global static variables config.c: avoid duplicated global static variables
2016-08-10Merge branch 'jk/completion-diff-submodule'Libravatar Junio C Hamano1-0/+19
* jk/completion-diff-submodule: completion: add completion for --submodule=* diff option
2016-08-10Merge branch 'cc/mailmap-tuxfamily'Libravatar Junio C Hamano1-0/+1
* cc/mailmap-tuxfamily: .mailmap: use Christian Couder's Tuxfamily address
2016-08-10Merge branch 'jt/format-patch-from-config'Libravatar Junio C Hamano4-1/+63
"git format-patch" learned format.from configuration variable to specify the default settings for its "--from" option. * jt/format-patch-from-config: format-patch: format.from gives the default for --from
2016-08-10Merge branch 'jk/push-force-with-lease-creation'Libravatar Junio C Hamano4-7/+46
"git push --force-with-lease" already had enough logic to allow ensuring that such a push results in creation of a ref (i.e. the receiving end did not have another push from sideways that would be discarded by our force-pushing), but didn't expose this possibility to the users. It does so now. * jk/push-force-with-lease-creation: t5533: make it pass on case-sensitive filesystems push: allow pushing new branches with --force-with-lease push: add shorthand for --force-with-lease branch creation Documentation/git-push: fix placeholder formatting
2016-08-10Merge branch 'jk/reset-ident-time-per-commit'Libravatar Junio C Hamano3-0/+8
Not-so-recent rewrite of "git am" that started making internal calls into the commit machinery had an unintended regression, in that no matter how many seconds it took to apply many patches, the resulting committer timestamp for the resulting commits were all the same. * jk/reset-ident-time-per-commit: am: reset cached ident date for each patch
2016-08-10Yet another batch for 2.9.3Libravatar Junio C Hamano1-0/+68
Signed-off-by: Junio C Hamano <gitster@pobox.com>