summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-01-14rebase --preserve-merges: keep all merge commits including empty onesLibravatar Phil Hord1-1/+6
Since 90e1818f9a (git-rebase: add keep_empty flag, 2012-04-20) 'git rebase --preserve-merges' fails to preserve empty merge commits unless --keep-empty is also specified. Merge commits should be preserved in order to preserve the structure of the rebased graph, even if the merge commit does not introduce changes to the parent. Teach rebase not to drop merge commits only because they are empty. A special case which is not handled by this change is for a merge commit whose parents are now the same commit because all the previous different parents have been dropped as a result of this rebase or some previous operation. Signed-off-by: Phil Hord <hordp@cisco.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-30Merge branch 'nh/empty-rebase'Libravatar Junio C Hamano9-19/+193
"git rebase" learned to optionally keep commits that do not introduce any change in the original history. By Neil Horman * nh/empty-rebase: git-rebase: add keep_empty flag git-cherry-pick: Add test to validate new options git-cherry-pick: Add keep-redundant-commits option git-cherry-pick: add allow-empty option
2012-04-30Merge branch 'jk/maint-config-bogus-section'Libravatar Junio C Hamano2-1/+31
"git config --rename-section" to rename an existing section into a bogus one did not check the new name. By Jeff King * jk/maint-config-bogus-section: config: reject bogus section names for --rename-section
2012-04-29The seventh batch of topics graduated to 'master'Libravatar Junio C Hamano1-0/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-29Merge branch 'js/daemon-test-race-fix'Libravatar Junio C Hamano1-11/+11
The shell construct to launch git-daemon and wait for it to start serving during the test was faulty, and this fixes it. By Johannes Sixt * js/daemon-test-race-fix: t5570: fix forwarding of git-daemon messages via cat
2012-04-29Merge branch 'kk/gitweb-omit-expensive'Libravatar Junio C Hamano2-10/+32
"gitweb" learned to optionally omit output of fields that are expensive to generate. By Kacper Kornet * kk/gitweb-omit-expensive: gitweb: Option to not display information about owner gitweb: Option to omit column with time of the last change
2012-04-29Merge branch 'kk/maint-gitweb-missing-owner'Libravatar Junio C Hamano1-2/+4
By Kacper Kornet * kk/maint-gitweb-missing-owner: gitweb: Don't set owner if got empty value from projects.list
2012-04-29Merge branch 'rs/commit-list-append'Libravatar Junio C Hamano4-45/+31
There is no need for "commit_list_reverse()" function that only invites inefficient code. By René Scharfe * rs/commit-list-append: commit: remove commit_list_reverse() revision: append to list instead of insert and reverse sequencer: export commit_list_append()
2012-04-29Merge branch 'mm/include-userpath'Libravatar Junio C Hamano3-1/+18
The new "include.path" directive in the configuration files learned to understand "~/path" and "~user/path". By Jeff King * mm/include-userpath: config: expand tildes in include.path variable
2012-04-29Merge branch 'pw/t5800-import-race-fix'Libravatar Junio C Hamano2-0/+20
Longstanding bug in a test scaffolding that occasionally made t5800 hang was fixed. By Pete Wyckoff * pw/t5800-import-race-fix: git-remote-testgit: fix race when spawning fast-import
2012-04-29Merge branch 'jk/repack-no-explode-objects-from-old-pack'Libravatar Junio C Hamano7-53/+107
Avoid writing out unreachable objects as loose objects when repacking, if such loose objects will immediately pruned due to its age anyway. By Jeff King * jk/repack-no-explode-objects-from-old-pack: gc: use argv-array for sub-commands argv-array: add a new "pushl" method argv-array: refactor empty_argv initialization gc: do not explode objects which will be immediately pruned
2012-04-29config: expand tildes in include.path variableLibravatar Jeff King3-1/+18
You can already use relative paths in include.path, which means that including "foo" from your global "~/.gitconfig" will look in your home directory. However, you might want to do something clever like putting "~/.gitconfig-foo" in a specific repository's config file. Signed-off-by: Jeff King <peff@peff.net> Acked-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-29Merge git://git.bogomips.org/git-svnLibravatar Junio C Hamano1-2/+18
By Matthijs Kooijman via Eric Wong * git://git.bogomips.org/git-svn: git-svn: use platform specific auth providers
2012-04-27The sixth batch of topics graduated to 'master'Libravatar Junio C Hamano1-0/+24
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-27Merge branch 'jc/merge-reduce-parents-early'Libravatar Junio C Hamano5-70/+275
Octopus merge strategy did not reduce heads that are recorded in the final commit correctly. By Junio C Hamano (4) and Michał Kiedrowicz (1) * jc/merge-reduce-parents-early: fmt-merge-msg: discard needless merge parents builtin/merge.c: reduce parents early builtin/merge.c: collect other parents early builtin/merge.c: remove "remoteheads" global variable merge tests: octopus with redundant parents
2012-04-27Merge branch 'js/fast-import-test-9300'Libravatar Junio C Hamano1-34/+54
By Johannes Sixt * js/fast-import-test-9300: t9300-fast-import: avoid 'exit' in test_expect_success snippets
2012-04-27Merge branch 'rt/cherry-revert-conflict-summary'Libravatar Junio C Hamano1-1/+1
In the older days, the header "Conflicts:" in "cherry-pick" and "merge" was separated by a blank line from the list of paths that follow for readability, but when "merge" was rewritten in C, we lost it by mistake. Remove the newline from "cherry-pick" to make them match again. By Ralf Thielow * rt/cherry-revert-conflict-summary: sequencer: remove additional blank line
2012-04-27Merge branch 'cb/maint-report-mount-point-correctly-in-setup'Libravatar Junio C Hamano1-9/+13
The filesystem boundary was not correctly reported when .git directory discovery stopped at a mount point. By Clemens Buchacher * cb/maint-report-mount-point-correctly-in-setup: properly keep track of current working directory
2012-04-27Merge branch 'cb/cherry-pick-rev-path-confusion'Libravatar Junio C Hamano3-11/+19
The command line parser choked "git cherry-pick $name" when $name can be both revision name and a pathname, even though $name can never be a path in the context of the command. The issue the patch addresses is real, but the way it is implemented felt unnecessarily invasive a bit. It may be cleaner for this caller to add the "--" to the end of the argv_array it passes to setup_revisions(). By Clemens Buchacher * cb/cherry-pick-rev-path-confusion: cherry-pick: do not expect file arguments
2012-04-27Merge branch 'cb/http-multi-curl-auth'Libravatar Junio C Hamano2-10/+26
Fixes http authentication breakage when we keep multiple HTTP requests in flight using curl-multi. By Jeff King (3) and Clemens Buchacher (1) * cb/http-multi-curl-auth: http: use newer curl options for setting credentials http: clean up leak in init_curl_http_auth fix http auth with multiple curl handles http auth fails with multiple curl handles
2012-04-27t5570: fix forwarding of git-daemon messages via catLibravatar Johannes Sixt1-11/+11
The shell function that starts git-daemon wants to read the first line of the daemon's stderr to ensure that it started correctly. Subsequent daemon errors should be redirected to fd 4 (which is the terminal in verbose mode or /dev/null in quiet mode). To that end the shell script used 'read' to get the first line of output, and then 'cat &' to forward everything else in a background process. The problem is, that 'cat >&4 &' does not produce any output because the shell redirects a background process's stdin to /dev/null. To have this command invocation do anything useful, we have to redirect its stdin explicitly (which overrides the /dev/null redirection). The shell function connects the daemon's stderr to its consumers via a FIFO. We cannot just do this: read line <git_daemon_output cat <git_daemon_output >&4 & because after the first redirection the pipe is closed and the daemon could receive SIGPIPE if it writes at the wrong moment. Therefore, we open the readable end of the FIFO only once on fd 7 in the shell and dup from there to the stdin of the two consumers. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Acked-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-27git-svn: use platform specific auth providersLibravatar Matthijs Kooijman1-2/+18
On Linux, this makes authentication using passwords from gnome-keyring and kwallet work (only the former was tested). On Mac OS X, this allows using the OS X Keychain. Signed-off-by: Matthijs Kooijman <matthijs@stdin.nl> Acked-by: Eric Wong <normalperson@yhbt.net>
2012-04-26gitweb: Option to not display information about ownerLibravatar Kacper Kornet2-6/+18
In some setups the repository owner is not a well defined concept and administrator can prefer it to be not shown. This commit add and an option that enable to reach this effect. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Update draft release notes to 1.7.11Libravatar Junio C Hamano1-53/+11
A handful of topics have been merged to maintenance releases, and the first half of 6th batch graduates to 'master'. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Merge branch 'rl/maint-stash-i18n-save-error'Libravatar Junio C Hamano1-2/+2
The i18n of error message "git stash save" was not properly done. By Ross Lagerwall * rl/maint-stash-i18n-save-error: stash: use eval_gettextln correctly
2012-04-26Merge branch 'mb/fetch-call-a-non-branch-a-ref'Libravatar Junio C Hamano2-4/+43
The report from "git fetch" said "new branch" even for a non branch ref. By Marc Branchaud * mb/fetch-call-a-non-branch-a-ref: fetch: describe new refs based on where it came from fetch: Give remote_ref to update_local_ref() as well
2012-04-26Merge branch 'jm/maint-strncpy-diff-no-index'Libravatar Junio C Hamano1-21/+17
The "diff --no-index" codepath used limited-length buffers, risking pathnames getting truncated. Update it to use the strbuf API. By Jim Meyering (1) and Junio C Hamano (1) * jm/maint-strncpy-diff-no-index: diff --no-index: use strbuf for temporary pathnames diff: avoid stack-buffer-read-overrun for very long name
2012-04-26Merge bundle error message fix inLibravatar Junio C Hamano6-4/+105
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Start preparing for 1.7.10.1Libravatar Junio C Hamano2-1/+51
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Merge branch 'jk/run-command-eacces' into maintLibravatar Junio C Hamano6-7/+86
When PATH contains an unreadable directory, alias expansion code did not kick in, and failed with an error that said "git-subcmd" was not found. By Jeff King (1) and Ramsay Jones (1) * jk/run-command-eacces: run-command: treat inaccessible directories as ENOENT compat/mingw.[ch]: Change return type of exec functions to int
2012-04-26Merge branch 'jc/push-upstream-sanity' into maintLibravatar Junio C Hamano2-8/+72
The 'push to upstream' implementation was broken in some corner cases. "git push $there" without refspec, when the current branch is set to push to a remote different from $there, used to push to $there using the upstream information to a remote unreleated to $there. * jc/push-upstream-sanity: push: error out when the "upstream" semantics does not make sense
2012-04-26Merge branch 'jc/maint-clean-nested-worktree-in-subdir' into maintLibravatar Junio C Hamano2-11/+43
"git clean -d -f" (not "-d -f -f") is supposed to protect nested working trees of independent git repositories that exist in the current project working tree from getting removed, but the protection applied only to such working trees that are at the top-level of the current project by mistake. * jc/maint-clean-nested-worktree-in-subdir: clean: preserve nested git worktree in subdirectories
2012-04-26Merge branch 'jk/diff-no-rename-empty' into maintLibravatar Junio C Hamano9-14/+45
Rename detection logic used to match two empty files as renames during merge-recursive, leading unnatural mismerges. By Jeff King * jk/diff-no-rename-empty: merge-recursive: don't detect renames of empty files teach diffcore-rename to optionally ignore empty content make is_empty_blob_sha1 available everywhere drop casts from users EMPTY_TREE_SHA1_BIN
2012-04-26Merge branch 'rs/combine-diff-zero-context-at-the-beginning' into maintLibravatar Junio C Hamano1-1/+1
An age-old corner case bug in combine diff (only triggered with -U0 and the hunk at the beginning of the file needs to be shown) has been fixed. By René Scharfe * rs/combine-diff-zero-context-at-the-beginning: combine-diff: fix loop index underflow
2012-04-26Merge branch 'jc/commit-unedited-template' into maintLibravatar Junio C Hamano3-24/+65
When "git commit --template F" errors out because the user did not touch the message, it claimed that it aborts due to "empty message", which was utterly wrong. By Junio C Hamano (4) and Adam Monsen (1) * jc/commit-unedited-template: Documentation/git-commit: rephrase the "initial-ness" of templates git-commit.txt: clarify -t requires editing message commit: rephrase the error when user did not touch templated log message commit: do not trigger bogus "has templated message edited" check t7501: test the right kind of breakage
2012-04-26Merge branch 'jk/add-p-skip-conflicts' into maintLibravatar Junio C Hamano2-7/+44
"git add -p" is not designed to deal with unmerged paths but did not exclude them and tried to apply funny patches only to fail. By Jeff King * jk/add-p-skip-conflicts: add--interactive: ignore unmerged entries in patch mode
2012-04-26Merge branch 'jc/commit-hook-authorship' into maintLibravatar Junio C Hamano5-47/+141
"git commit --author=$name" did not tell the name that was being recorded in the resulting commit to hooks, even though it does do so when the end user overrode the authorship via the "GIT_AUTHOR_NAME" environment variable. * jc/commit-hook-authorship: commit: pass author/committer info to hooks t7503: does pre-commit-hook learn authorship? ident.c: add split_ident_line() to parse formatted ident line
2012-04-26Merge branch 'tr/maint-word-diff-regex-sticky' into maintLibravatar Junio C Hamano2-56/+102
The regexp configured with diff.wordregex was incorrectly reused across files. By Thomas Rast (2) and Johannes Sixt (1) * tr/maint-word-diff-regex-sticky: diff: tweak a _copy_ of diff_options with word-diff diff: refactor the word-diff setup from builtin_diff_cmd t4034: diff.*.wordregex should not be "sticky" in --word-diff
2012-04-26Merge branch 'jh/notes-merge-in-git-dir-worktree' into maintLibravatar Junio C Hamano4-32/+73
Running "notes merge --commit" failed to perform correctly when run from any directory inside $GIT_DIR/. When "notes merge" stops with conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits to resolve it. By Johan Herland (3) and Junio C Hamano (1) * jh/notes-merge-in-git-dir-worktree: notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd notes-merge: use opendir/readdir instead of using read_directory() t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/ remove_dir_recursively(): Add flag for skipping removal of toplevel dir
2012-04-26Sync with 1.7.9.7Libravatar Junio C Hamano5-4/+55
2012-04-26Git 1.7.9.7Libravatar Junio C Hamano3-2/+16
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Sync with 1.7.8.6Libravatar Junio C Hamano4-3/+40
2012-04-26Git 1.7.8.6Libravatar Junio C Hamano4-3/+27
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26Sync with 1.7.7.7Libravatar Junio C Hamano3-2/+16
2012-04-26Git 1.7.7.7Libravatar Junio C Hamano4-3/+18
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26diff --no-index: use strbuf for temporary pathnamesLibravatar Junio C Hamano1-23/+17
Instead of using limited-length buffers and risking of pathname truncation, we should be taking advantage of strbuf API nowadays. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-26bundle: remove stray single-quote from error messageLibravatar Jonathan Nieder1-1/+1
After running rev-list --boundary to retrieve the list of boundary commits, "git bundle create" runs its own revision walk. If in this stage git encounters an unfamiliar option, it writes a message with an unbalanced quotation mark: error: unrecognized argument: --foo' Drop the stray quote to match the "unrecognized argument: %s" message used elsewhere and save translators some work. This is mostly a futureproofing measure: for now, the "rev-list --boundary" command catches most strange arguments on its own and the above message is not seen unless you try something esoteric like "git bundle create test.bundle --header HEAD". Reported-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-25config: reject bogus section names for --rename-sectionLibravatar Jeff King2-1/+31
You can feed junk to "git config --rename-section", which will result in a config file that git will not even parse (so you cannot fix it with git-config). We already have syntactic sanity checks when setting a variable; let's do the same for section names. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-25gitweb: Option to omit column with time of the last changeLibravatar Kacper Kornet2-5/+15
Generating information about last change for a large number of git repositories can be very time consuming. This commit add an option to omit 'Last Change' column when presenting the list of repositories. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-04-25gitweb: Don't set owner if got empty value from projects.listLibravatar Kacper Kornet1-2/+4
Prevent setting owner to an empty value if it is not specified in projects.list file. Otherwise it stops retrieving information about the owner from other files. Signed-off-by: Kacper Kornet <draenog@pld-linux.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>