summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-11-02Merge branch 'js/rebase-i-break'Libravatar Junio C Hamano5-3/+40
"git rebase -i" learned a new insn, 'break', that the user can insert in the to-do list. Upon hitting it, the command returns control back to the user. * js/rebase-i-break: rebase -i: introduce the 'break' command rebase -i: clarify what happens on a failed `exec`
2018-11-02Merge branch 'js/rebase-autostash-fix'Libravatar Junio C Hamano2-3/+15
"git rebase" that has recently been rewritten in C had a few issues in its "--autstash" feature, which have been corrected. * js/rebase-autostash-fix: rebase --autostash: fix issue with dirty submodules rebase --autostash: demonstrate a problem with dirty submodules rebase (autostash): use an explicit OID to apply the stash rebase (autostash): store the full OID in <state-dir>/autostash rebase (autostash): avoid duplicate call to state_dir_path()
2018-11-02Merge branch 'cb/printf-empty-format'Libravatar Junio C Hamano1-1/+1
Build fix for a topic in flight. * cb/printf-empty-format: sequencer: cleanup for gcc warning in non developer mode
2018-11-02Merge branch 'jc/rebase-in-c-5-test-typofix'Libravatar Junio C Hamano1-3/+3
Typofix. * jc/rebase-in-c-5-test-typofix: rebase: fix typoes in error messages
2018-11-02Merge branch 'pk/rebase-in-c-6-final'Libravatar Junio C Hamano1-1/+1
The final step of rewriting "rebase -i" in C. * pk/rebase-in-c-6-final: rebase: default to using the builtin rebase
2018-11-02Merge branch 'js/rebase-in-c-5.5-work-with-rebase-i-in-c'Libravatar Junio C Hamano1-4/+83
"rebase" that has been rewritten learns the new calling convention used by "rebase -i" that was rewritten in C, tying the loose end between two GSoC topics that stomped on each other's toes. * js/rebase-in-c-5.5-work-with-rebase-i-in-c: builtin rebase: prepare for builtin rebase -i
2018-11-02Merge branch 'pk/rebase-in-c-5-test'Libravatar Junio C Hamano1-15/+135
Rewrite "git rebase" in C. * pk/rebase-in-c-5-test: builtin rebase: error out on incompatible option/mode combinations builtin rebase: use no-op editor when interactive is "implied" builtin rebase: show progress when connected to a terminal builtin rebase: fast-forward to onto if it is a proper descendant builtin rebase: optionally pass custom reflogs to reset_head() builtin rebase: optionally auto-detect the upstream
2018-11-02Merge branch 'pk/rebase-in-c-4-opts'Libravatar Junio C Hamano4-85/+530
Rewrite "git rebase" in C. * pk/rebase-in-c-4-opts: builtin rebase: support --root builtin rebase: add support for custom merge strategies builtin rebase: support `fork-point` option merge-base --fork-point: extract libified function builtin rebase: support --rebase-merges[=[no-]rebase-cousins] builtin rebase: support `--allow-empty-message` option builtin rebase: support `--exec` builtin rebase: support `--autostash` option builtin rebase: support `-C` and `--whitespace=<type>` builtin rebase: support `--gpg-sign` option builtin rebase: support `--autosquash` builtin rebase: support `keep-empty` option builtin rebase: support `ignore-date` option builtin rebase: support `ignore-whitespace` option builtin rebase: support --committer-date-is-author-date builtin rebase: support --rerere-autoupdate builtin rebase: support --signoff builtin rebase: allow selecting the rebase "backend"
2018-11-02Merge branch 'pk/rebase-in-c-3-acts'Libravatar Junio C Hamano3-4/+201
Rewrite "git rebase" in C. * pk/rebase-in-c-3-acts: builtin rebase: stop if `git am` is in progress builtin rebase: actions require a rebase in progress builtin rebase: support --edit-todo and --show-current-patch builtin rebase: support --quit builtin rebase: support --abort builtin rebase: support --skip builtin rebase: support --continue
2018-11-02Merge branch 'pk/rebase-in-c-2-basic'Libravatar Junio C Hamano1-13/+321
Rewrite "git rebase" in C. * pk/rebase-in-c-2-basic: builtin rebase: support `git rebase <upstream> <switch-to>` builtin rebase: only store fully-qualified refs in `options.head_name` builtin rebase: start a new rebase only if none is in progress builtin rebase: support --force-rebase builtin rebase: try to fast forward when possible builtin rebase: require a clean worktree builtin rebase: support the `verbose` and `diffstat` options builtin rebase: support --quiet builtin rebase: handle the pre-rebase hook and --no-verify builtin rebase: support `git rebase --onto A...B` builtin rebase: support --onto
2018-11-02Merge branch 'ag/rebase-i-in-c'Libravatar Junio C Hamano17-451/+742
Rewrite of the remaining "rebase -i" machinery in C. * ag/rebase-i-in-c: rebase -i: move rebase--helper modes to rebase--interactive rebase -i: remove git-rebase--interactive.sh rebase--interactive2: rewrite the submodes of interactive rebase in C rebase -i: implement the main part of interactive rebase as a builtin rebase -i: rewrite init_basic_state() in C rebase -i: rewrite write_basic_state() in C rebase -i: rewrite the rest of init_revisions_and_shortrevisions() in C rebase -i: implement the logic to initialize $revisions in C rebase -i: remove unused modes and functions rebase -i: rewrite complete_action() in C t3404: todo list with commented-out commands only aborts sequencer: change the way skip_unnecessary_picks() returns its result sequencer: refactor append_todo_help() to write its message to a buffer rebase -i: rewrite checkout_onto() in C rebase -i: rewrite setup_reflog_action() in C sequencer: add a new function to silence a command, except if it fails rebase -i: rewrite the edit-todo functionality in C editor: add a function to launch the sequence editor rebase -i: rewrite append_todo_help() in C sequencer: make three functions and an enum from sequencer.c public
2018-11-02Merge branch 'pk/rebase-in-c'Libravatar Junio C Hamano7-68/+503
Rewrite of the "rebase" machinery in C. * pk/rebase-in-c: builtin/rebase: support running "git rebase <upstream>" rebase: refactor common shell functions into their own file rebase: start implementing it as a builtin
2018-10-30Seventh batch for 2.20Libravatar Junio C Hamano1-0/+63
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-30Merge branch 'jk/uploadpack-packobjectshook-fix'Libravatar Junio C Hamano1-3/+6
Code clean-up that results in a small bugfix. * jk/uploadpack-packobjectshook-fix: upload-pack: fix broken if/else chain in config callback
2018-10-30Merge branch 'uk/merge-subtree-doc-update'Libravatar Junio C Hamano1-1/+1
Belated documentation update to adjust to a new world order that happened a yew years ago. * uk/merge-subtree-doc-update: howto/using-merge-subtree: mention --allow-unrelated-histories
2018-10-30Merge branch 'cb/compat-mmap-is-private-read-only'Libravatar Junio C Hamano1-1/+1
Code tightening. * cb/compat-mmap-is-private-read-only: compat: make sure git_mmap is not expected to write
2018-10-30Merge branch 'dl/mergetool-gui-option'Libravatar Junio C Hamano6-8/+46
"git mergetool" learned to take the "--[no-]gui" option, just like "git difftool" does. * dl/mergetool-gui-option: doc: document diff/merge.guitool config keys completion: support `git mergetool --[no-]gui` mergetool: accept -g/--[no-]gui as arguments
2018-10-30Merge branch 'js/mingw-load-sys-dll'Libravatar Junio C Hamano2-2/+4
The way DLLs are loaded on the Windows port has been improved. * js/mingw-load-sys-dll: mingw: load system libraries the recommended way
2018-10-30Merge branch 'js/mingw-getcwd'Libravatar Junio C Hamano1-2/+48
The way the Windows port figures out the current directory has been improved. * js/mingw-getcwd: mingw: fix getcwd when the parent directory cannot be queried mingw: ensure `getcwd()` reports the correct case
2018-10-30Merge branch 'cb/khash-maybe-unused-function'Libravatar Junio C Hamano3-3/+5
Build fix. * cb/khash-maybe-unused-function: khash: silence -Wunused-function for delta-islands commit-slabs: move MAYBE_UNUSED out
2018-10-30Merge branch 'jc/cocci-preincr'Libravatar Junio C Hamano2-1/+6
Code cleanup. * jc/cocci-preincr: fsck: s/++i > 1/i++/ cocci: simplify "if (++u > 1)" to "if (u++)"
2018-10-30Merge branch 'ss/rename-tests'Libravatar Junio C Hamano7-147/+137
Reorganize some tests and rename them; "ls t/" now gives a better overview of what is tested for these scripts than before. * ss/rename-tests: t7501: rename commit test to comply with naming convention t7500: rename commit tests script to comply with naming convention t7502: rename commit test script to comply with naming convention t7509: cleanup description and filename t2000: rename and combine checkout clash tests
2018-10-30Merge branch 'ah/doc-updates'Libravatar Junio C Hamano12-79/+92
Doc updates. * ah/doc-updates: doc: fix formatting in git-update-ref doc: fix indentation of listing blocks in gitweb.conf.txt doc: fix descripion for 'git tag --format' doc: fix inappropriate monospace formatting doc: fix ASCII art tab spacing doc: clarify boundaries of 'git worktree list --porcelain'
2018-10-30Merge branch 'ds/reachable'Libravatar Junio C Hamano1-2/+2
Trivial bugfix. * ds/reachable: commit-reach: fix cast in compare_commits_by_gen()
2018-10-30Merge branch 'jc/receive-deny-current-branch-fix'Libravatar Junio C Hamano2-4/+16
The receive.denyCurrentBranch=updateInstead codepath kicked in even when the push should have been rejected due to other reasons, such as it does not fast-forward or the update-hook rejects it, which has been corrected. * jc/receive-deny-current-branch-fix: receive: denyCurrentBranch=updateinstead should not blindly update
2018-10-30Merge branch 'ds/ci-commit-graph-and-midx'Libravatar Junio C Hamano1-0/+2
One of our CI tests to run with "unusual/experimental/random" settings now also uses commit-graph and midx. * ds/ci-commit-graph-and-midx: ci: add optional test variables
2018-10-30Merge branch 'jk/unused-function'Libravatar Junio C Hamano1-1/+0
Developer support. * jk/unused-function: config.mak.dev: enable -Wunused-function
2018-10-30Merge branch 'cb/remove-dead-init'Libravatar Junio C Hamano2-2/+2
Code clean-up. * cb/remove-dead-init: multi-pack-index: avoid dead store for struct progress unpack-trees: avoid dead store for struct progress
2018-10-30Merge branch 'js/diff-notice-has-drive-prefix'Libravatar Junio C Hamano2-2/+12
Under certain circumstances, "git diff D:/a/b/c D:/a/b/d" on Windows would strip initial parts from the paths because they were not recognized as absolute, which has been corrected. * js/diff-notice-has-drive-prefix: diff: don't attempt to strip prefix from absolute Windows paths
2018-10-30Merge branch 'ot/ref-filter-plug-leaks'Libravatar Junio C Hamano2-43/+59
Plugging a handful of memory leaks in the ref-filter codepath. * ot/ref-filter-plug-leaks: ref-filter: free item->value and item->value->s ls-remote: release memory instead of UNLEAK ref-filter: free memory from used_atom
2018-10-30Merge branch 'ds/reachable-first-parent-fix'Libravatar Junio C Hamano1-1/+3
Correct performance regression in commit ancestry computation when generation numbers are involved. * ds/reachable-first-parent-fix: commit-reach: fix first-parent heuristic
2018-10-30Merge branch 'rj/header-guards'Libravatar Junio C Hamano10-20/+20
Code clean-up. * rj/header-guards: headers: normalize the spelling of some header guards
2018-10-30Merge branch 'jk/test-tool-help'Libravatar Junio C Hamano1-2/+13
Developer support. * jk/test-tool-help: test-tool: show tool list on error
2018-10-30Merge branch 'sg/doc-show-branch-typofix'Libravatar Junio C Hamano1-1/+1
Docfix. * sg/doc-show-branch-typofix: doc: fix small typo in git show-branch
2018-10-30Merge branch 'sb/submodule-helper-remove-cruft'Libravatar Junio C Hamano1-2/+0
Code clean-up. * sb/submodule-helper-remove-cruft: builtin/submodule--helper: remove debugging leftover tracing
2018-10-30Merge branch 'js/pack-objects-mutex-init-fix'Libravatar Junio C Hamano4-2/+36
A mutex used in "git pack-objects" were not correctly initialized and this caused "git repack" to dump core on Windows. * js/pack-objects-mutex-init-fix: pack-objects (mingw): initialize `packing_data` mutex in the correct spot pack-objects (mingw): demonstrate a segmentation fault with large deltas pack-objects: fix typo 'detla' -> 'delta'
2018-10-30Merge branch 'tq/branch-style-fix'Libravatar Junio C Hamano1-2/+1
Code clean-up. * tq/branch-style-fix: branch: trivial style fix
2018-10-30Merge branch 'tq/branch-create-wo-branch-get'Libravatar Junio C Hamano1-5/+0
Code clean-up. * tq/branch-create-wo-branch-get: builtin/branch.c: remove useless branch_get
2018-10-30Merge branch 'bc/hash-transition-part-15'Libravatar Junio C Hamano14-156/+181
More codepaths are moving away from hardcoded hash sizes. * bc/hash-transition-part-15: rerere: convert to use the_hash_algo submodule: make zero-oid comparison hash function agnostic apply: rename new_sha1_prefix and old_sha1_prefix apply: replace hard-coded constants tag: express constant in terms of the_hash_algo transport: use parse_oid_hex instead of a constant upload-pack: express constants in terms of the_hash_algo refs/packed-backend: express constants using the_hash_algo packfile: express constants in terms of the_hash_algo pack-revindex: express constants in terms of the_hash_algo builtin/fetch-pack: remove constants with parse_oid_hex builtin/mktree: remove hard-coded constant builtin/repack: replace hard-coded constants pack-bitmap-write: use GIT_MAX_RAWSZ for allocation object_id.cocci: match only expressions of type 'struct object_id'
2018-10-30Merge branch 'sb/strbuf-h-update'Libravatar Junio C Hamano1-67/+81
Code clean-up to serve as a BCP example. * sb/strbuf-h-update: strbuf.h: format according to coding guidelines
2018-10-30Merge branch 'jk/run-command-notdot'Libravatar Junio C Hamano2-5/+29
The implementation of run_command() API on the UNIX platforms had a bug that caused a command not on $PATH to be found in the current directory. * jk/run-command-notdot: run-command: mark path lookup errors with ENOENT
2018-10-30Merge branch 'tb/filter-alternate-refs'Libravatar Junio C Hamano2-2/+2
Test fix. * tb/filter-alternate-refs: t5410: use longer path for sample script Documentation/config.txt: fix typo in core.alternateRefsCommand
2018-10-30Merge branch 'rv/send-email-cc-misc-by'Libravatar Junio C Hamano2-11/+24
"git send-email" learned to grab address-looking string on any trailer whose name ends with "-by"; --suppress-cc=misc-by on the command line, or setting sendemail.suppresscc configuration variable to "misc-by", can be used to disable this behaviour. This is a backward-incompatible change that may surprise existing users. * rv/send-email-cc-misc-by: send-email: also pick up cc addresses from -by trailers send-email: only consider lines containing @ or <> for automatic Cc'ing Documentation/git-send-email.txt: style fixes
2018-10-30Merge branch 'lm/range-diff-submodule-fix'Libravatar Junio C Hamano2-1/+30
"git range-diff" did not work well when the compared ranges had changes in submodules and the "--submodule=log" was used. * lm/range-diff-submodule-fix: range-diff: allow to diff files regardless of submodule config
2018-10-30Merge branch 'ch/subtree-build'Libravatar Junio C Hamano1-0/+4
Build update for "git subtree" (in contrib/) documentation pages. * ch/subtree-build: Revert "subtree: make install targets depend on build targets" subtree: make install targets depend on build targets subtree: add build targets 'man' and 'html'
2018-10-30Merge branch 'md/filter-trees'Libravatar Junio C Hamano13-128/+433
The "rev-list --filter" feature learned to exclude all trees via "tree:0" filter. * md/filter-trees: list-objects: support for skipping tree traversal filter-trees: code clean-up of tests list-objects-filter: implement filter tree:0 list-objects-filter-options: do not over-strbuf_init list-objects-filter: use BUG rather than die revision: mark non-user-given objects instead rev-list: handle missing tree objects properly list-objects: always parse trees gently list-objects: refactor to process_tree_contents list-objects: store common func args in struct
2018-10-27sequencer: cleanup for gcc warning in non developer modeLibravatar Carlo Marcelo Arenas Belón1-1/+1
as shown by: sequencer.c: In function ‘write_basic_state’: sequencer.c:2392:37: warning: zero-length gnu_printf format string [-Wformat-zero-length] write_file(rebase_path_verbose(), ""); where write_file will create an empty file if told to write an empty string as can be inferred by the previous call the somehow more convoluted syntax works around the issue by providing a non empty format string and is already being used for the abort safety file since 1e41229d96 ("sequencer: make sequencer abort safer", 2016-12-07) Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-26Sixth batch for 2.20Libravatar Junio C Hamano1-0/+48
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2018-10-26Merge branch 'js/mingw-default-ident'Libravatar Junio C Hamano4-7/+62
The logic to select the default user name and e-mail on Windows has been improved. * js/mingw-default-ident: mingw: use domain information for default email getpwuid(mingw): provide a better default for the user name getpwuid(mingw): initialize the structure only once
2018-10-26Merge branch 'ld/p4-unshelve'Libravatar Junio C Hamano3-58/+117
"git p4 unshelve" improvements. * ld/p4-unshelve: git-p4: fully support unshelving changelists git-p4: unshelve into refs/remotes/p4-unshelved, not refs/remotes/p4/unshelved git-p4: do not fail in verbose mode for missing 'fileSize' key