summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-12-21git-p4: reduce number of server queries for fetchesSam Hocevar
When fetching changes from a depot using a full client spec, there is no need to perform as many queries as there are top-level paths in the client spec. Instead we query all changes in chronological order, also getting rid of the need to sort the results and remove duplicates. Signed-off-by: Sam Hocevar <sam@hocevar.net> Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-21git-p4: support multiple depot paths in p4 submitSam Hocevar
When submitting from a repository that was cloned using a client spec, use the full list of paths when ruling out files that are outside the view. This fixes a bug where only files pertaining to the first path would be included in the p4 submit. Signed-off-by: Sam Hocevar <sam@hocevar.net> Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-21Update release notes to 2.7Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-21Merge branch 'bc/format-patch-null-from-line'Junio C Hamano
"format-patch" has learned a new option to zero-out the commit object name on the mbox "From " line. * bc/format-patch-null-from-line: format-patch: check that header line has expected format format-patch: add an option to suppress commit hash sha1_file.c: introduce a null_oid constant
2015-12-21Merge branch 'jk/ident-loosen-getpwuid'Junio C Hamano
When getpwuid() on the system returned NULL (e.g. the user is not in the /etc/passwd file or other uid-to-name mappings), the codepath to find who the user is to record it in the reflog barfed and died. Loosen the check in this codepath, which already accepts questionable ident string (e.g. host part of the e-mail address is obviously bogus), and in general when we operate fmt_ident() function in non-strict mode. * jk/ident-loosen-getpwuid: ident: loosen getpwuid error in non-strict mode ident: keep a flag for bogus default_email ident: make xgetpwuid_self() a static local helper
2015-12-21Merge branch 'jk/send-email-ssl-errors'Junio C Hamano
Improve error reporting when SMTP TLS fails. * jk/send-email-ssl-errors: send-email: enable SSL level 1 debug output
2015-12-21Merge branch 'sg/completion-no-column'Junio C Hamano
The completion script (in contrib/) used to list "git column" (which is not an end-user facing command) as one of the choices * sg/completion-no-column: completion: remove 'git column' from porcelain commands
2015-12-21Merge branch 'mc/push-recurse-submodules-config'Junio C Hamano
Add new config to avoid typing "--recurse-submodules" on each push. * mc/push-recurse-submodules-config: push: follow the "last one wins" convention for --recurse-submodules push: test that --recurse-submodules on command line overrides config push: add recurseSubmodules config option
2015-12-21mingw: emulate write(2) that fails with a EPIPEJohannes Schindelin
On Windows, when writing to a pipe fails, errno is always EINVAL. However, Git expects it to be EPIPE. According to the documentation, there are two cases in which write() triggers EINVAL: the buffer is NULL, or the length is odd but the mode is 16-bit Unicode (the broken pipe is not mentioned as possible cause). Git never sets the file mode to anything but binary, therefore we know that errno should actually be EPIPE if it is EINVAL and the buffer is not NULL. See https://msdn.microsoft.com/en-us/library/1570wh78.aspx for more details. This works around t5571.11 failing with v2.6.4 on Windows. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Acked-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-21Merge git://ozlabs.org/~paulus/gitkJunio C Hamano
* git://ozlabs.org/~paulus/gitk: gitk: sv.po: Update Swedish translation (311t) gitk: Let .bleft.mid widgets 'breathe' gitk: Match ttk fonts to gitk fonts gitk: Update revision date in Japanese PO file gitk: Update "Language:" header gitk: Improve translation message gitk: Remove unused line gitk: Update year gitk: Change last translator line gitk: Update fuzzy messages gitk: Update Japanese translation gitk: Fix translation around copyright sign gitk: Update Japanese translation gitk: Fix wrong translation gitk: Translate Japanese catalog gitk: Translate more to Japanese catalog gitk: Update Japanese message catalog gitk: Re-sync line number in Japanese message catalogue gitk: Color name update
2015-12-20l10n: zh_CN: for git v2.7.0 l10n round 1Jiang Xin
Update 66 translations (2477t0f0u) for git v2.7.0-rc0. Reviewed-by: Ray Chen <oldsharp@gmail.com> Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2015-12-20Merge branch 'master' of git://github.com/alexhenrie/git-poJiang Xin
* 'master' of git://github.com/alexhenrie/git-po: l10n: ca.po: update translation
2015-12-20Merge branch 'fr_v2.7.0' of git://github.com/jnavila/gitJiang Xin
* 'fr_v2.7.0' of git://github.com/jnavila/git: l10n: fr v2.7.0 round 1 (2477t)
2015-12-20Merge branch 'master' of git://github.com/alshopov/git-poJiang Xin
* 'master' of git://github.com/alshopov/git-po: l10n: Updated Bulgarian translation of git (2477t,0f,0u)
2015-12-19l10n: ca.po: update translationAlex Henrie
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2015-12-19Merge branch 'ja.po' of https://github.com/qykth-git/gitkPaul Mackerras
2015-12-19Merge branch 'color-fix' of https://github.com/qykth-git/gitkPaul Mackerras
2015-12-18l10n: fr v2.7.0 round 1 (2477t)Jean-Noel Avila
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2015-12-18l10n: Updated Bulgarian translation of git (2477t,0f,0u)Alexander Shopov
Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2015-12-18l10n: sv.po: Update Swedish translation (2477t0f0u)Peter Krefting
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2015-12-17revision.c: propagate tag names from pending arrayJeff King
When we unwrap a tag to find its commit for a traversal, we do not propagate the "name" field of the tag in the pending array (i.e., the ref name the user gave us in the first place) to the commit (instead, we use an empty string). This means that "git log --source" will never show the tag-name for commits we reach through it. This was broken in 2073949 (traverse_commit_list: support pending blobs/trees with paths, 2014-10-15). That commit tried to be careful and avoid propagating the path information for a tag (which would be nonsensical) to trees and blobs. But it should not have cut off the "name" field, which should carry forward to children. Note that this does mean that the "name" field will carry forward to blobs and trees, too. Whereas prior to 2073949, we always gave them an empty string. This is the right thing to do, but in practice no callers probably use it (since now we have an explicit separate "path" field, which was the point of 2073949). We add tests here not only for the broken case, but also a basic sanity test of "log --source" in general, which did not have any coverage in the test suite. Reported-by: Raymundo <gypark@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-16Merge branch 'fr/rebase-i-continue-preserve-options'Junio C Hamano
"git rebase -i" started with merge strategy options did not propagate them upon "git rebase --continue". * fr/rebase-i-continue-preserve-options: rebase -i: remember merge options beyond continue actions
2015-12-16Merge branch 'maint'Junio C Hamano
* maint: credential-store: don't pass strerror to die_errno()
2015-12-16Merge branch 'sg/lock-file-commit-error' into maintJunio C Hamano
* sg/lock-file-commit-error: credential-store: don't pass strerror to die_errno()
2015-12-16credential-store: don't pass strerror to die_errno()SZEDER Gábor
Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-15format-patch: check that header line has expected formatbrian m. carlson
The format of the "From " header line is very specific to allow utilities to detect Git-style patches. Add a test that the patches created are in the expected format. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-15format-patch: add an option to suppress commit hashbrian m. carlson
Oftentimes, patches created by git format-patch will be stored in version control or compared with diff. In these cases, two otherwise identical patches can have different commit hashes, leading to diff noise. Teach git format-patch a --zero-commit option that instead produces an all-zero hash to avoid this diff noise. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-15Git 2.7-rc1v2.7.0-rc1Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-15Sync with maintJunio C Hamano
2015-12-15Update draft release notes to 2.6.5Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-15Merge branch 'dt/fsck-verify-pack-error' into maintJunio C Hamano
The exit code of git-fsck didnot reflect some types of errors found in packed objects, which has been corrected. * dt/fsck-verify-pack-error: verify_pack: do not ignore return value of verification function
2015-12-15Merge branch 'ep/ident-with-getaddrinfo' into maintJunio C Hamano
A fix-up for recent topic. * ep/ident-with-getaddrinfo: ident: fix undefined variable when NO_IPV6 is set ident.c: add support for IPv6
2015-12-15Merge branch 'ls/p4-keep-empty-commits' into maintJunio C Hamano
"git p4" used to import Perforce CLs that touch only paths outside the client spec as empty commits. It has been corrected to ignore them instead, with a new configuration git-p4.keepEmptyCommits as a backward compatibility knob. * ls/p4-keep-empty-commits: git-p4: add option to keep empty commits
2015-12-15Merge branch 'jk/send-email-complete-aliases'Junio C Hamano
A fix-up for recent topic. * jk/send-email-complete-aliases: completion: fix completing unstuck email alias arguments
2015-12-15Merge branch 'ep/ident-with-getaddrinfo'Junio C Hamano
A fix-up for recent topic. * ep/ident-with-getaddrinfo: ident: fix undefined variable when NO_IPV6 is set
2015-12-15Merge branch 'jk/prune-mtime' into maintJunio C Hamano
The helper used to iterate over loose object directories to prune stale objects did not closedir() immediately when it is done with a directory--a callback such as the one used for "git prune" may want to do rmdir(), but it would fail on open directory on platforms such as WinXP. * jk/prune-mtime: prune: close directory earlier during loose-object directory traversal
2015-12-15Merge branch 'ls/p4-keep-empty-commits'Junio C Hamano
"git p4" used to import Perforce CLs that touch only paths outside the client spec as empty commits. It has been corrected to ignore them instead, with a new configuration git-p4.keepEmptyCommits as a backward compatibility knob. * ls/p4-keep-empty-commits: git-p4: add option to keep empty commits
2015-12-15Merge branch 'jk/prune-mtime'Junio C Hamano
The helper used to iterate over loose object directories to prune stale objects did not closedir() immediately when it is done with a directory--a callback such as the one used for "git prune" may want to do rmdir(), but it would fail on open directory on platforms such as WinXP. * jk/prune-mtime: prune: close directory earlier during loose-object directory traversal
2015-12-14git-p4: failing test case for skipping changes with multiple depotsLuke Diamand
James Farwell reported that with multiple depots git-p4 would skip changes. http://article.gmane.org/gmane.comp.version-control.git/282297 Add a failing test case demonstrating the problem. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-14completion: fix completing unstuck email alias argumentsSZEDER Gábor
Completing unstuck form of email aliases doesn't quite work: $ git send-email --to <TAB> alice bob cecil $ git send-email --to a<TAB> alice bob cecil While listing email aliases works as expected, the second case should just complete to 'alice', but it keeps offering all email aliases instead. The cause for this behavior is that in this case we mistakenly tell __gitcomp() explicitly that the current word to be completed is empty, while in reality it is not. As a result __gitcomp() doesn't filter out non-matching aliases, so all aliases end up being offered over and over again. Fix this by not passing the current word to be completed to __gitcomp() and letting it go the default route and grab it from the '$cur' variable. Don't pass empty prefix either, because it's assumed to be empty when unspecified, so it's not necessary. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-14sha1_file.c: introduce a null_oid constantbrian m. carlson
null_oid is the struct object_id equivalent to null_sha1. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-14ident: fix undefined variable when NO_IPV6 is setJeff King
Commit 00bce77 (ident.c: add support for IPv6, 2015-11-27) moved the "gethostbyname" call out of "add_domainname" and into the helper function "canonical_name". But when moving the code, it forgot that the "buf" variable is passed as "host" in the helper. Reported-by: johan defries <johandefries@gmail.com> Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-14ident: loosen getpwuid error in non-strict modeJeff King
If the user has not specified an identity and we have to turn to getpwuid() to find the username or gecos field, we die immediately when getpwuid fails (e.g., because the user does not exist). This is OK for making a commit, where we have set IDENT_STRICT and would want to bail on bogus input. But for something like a reflog, where the ident is "best effort", it can be pain. For instance, even running "git clone" with a UID that is not in /etc/passwd will result in git barfing, just because we can't find an ident to put in the reflog. Instead of dying in xgetpwuid_self, we can instead return a fallback value, and set a "bogus" flag. For the username in an email, we already have a "default_email_is_bogus" flag. For the name field, we introduce (and check) a matching "default_name_is_bogus" flag. As a bonus, this means you now get the usual "tell me who you are" advice instead of just a "no such user" error. No tests, as this is dependent on configuration outside of git's control. However, I did confirm that it behaves sensibly when I delete myself from the local /etc/passwd (reflogs get written, and commits complain). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-12l10n: vi.po: Updated translation (2477t)Tran Ngoc Quan
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2015-12-12gitk: sv.po: Update Swedish translation (311t)Peter Krefting
Signed-off-by: Peter Krefting <peter@softwolves.pp.se> Signed-off-by: Paul Mackerras <paulus@samba.org>
2015-12-12gitk: Let .bleft.mid widgets 'breathe'Giuseppe Bilotta
The widgets on top of the diff window are very tightly packed. Make them breathe a little by adding an 'i'-spaced padding between them. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2015-12-12gitk: Match ttk fonts to gitk fontsGiuseppe Bilotta
The fonts set in setoptions aren't consistently picked up by ttk, which uses its own predefined fonts. This is noticeable when switching between using and not using ttk with custom fonts or in HiDPI settings (where the default TTK fonts do _not_ respect tk sclaing). Fix by mapping the ttk fontset to the one used by gitk internally. Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
2015-12-11rebase -i: remember merge options beyond continue actionsFabian Ruch
If the user explicitly specified a merge strategy or strategy options, continue to use that strategy/option after "rebase --continue". Add a test of the corrected behavior. If --merge is specified or implied by -s or -X, then "strategy and "strategy_opts" are set to values from which "strategy_args" can be derived; otherwise they are set to empty strings. Either way, their values are propagated from one step of an interactive rebase to the next via state files. "do_merge", on the other hand, is *not* propagated to later steps of an interactive rebase. Therefore, making the initialization of "strategy_args" conditional on "do_merge" being set prevents later steps of an interactive rebase from setting it correctly. Luckily, we don't need the "do_merge" guard at all. If the rebase was started without --merge, then "strategy" and "strategy_opts" are both the empty string, which results in "strategy_args" also being set to the empty string, which is just what we want in that situation. So remove the "do_merge" guard and derive "strategy_args" from "strategy" and "strategy_opts" every time. Reported-by: Diogo de Campos <campos@esss.com.br> Signed-off-by: Fabian Ruch <bafain@gmail.com> Helped-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-11completion: remove 'git column' from porcelain commandsSZEDER Gábor
'git column' is an internal helper, so it should not be offered on 'git <TAB>' along with porcelain commands. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-12-11Update release notes to 2.7Junio C Hamano
Signed-off-by: Junio C Hamano <gitster@pobox.com>