summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-01-06t1301: set umask in reflog sharedrepository=group testLibravatar Jeff King1-0/+1
The t1301 script sets the umask globally before many of the tests. Most of the tests that care about the umask then set it explicitly at the start of the test. However, one test does not, and relies on the 077 umask setting from earlier tests. This is fragile and can break if another test is added in between. Let's be more explicit. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-15repack: call prune_packed_objects() and update_server_info() directlyLibravatar René Scharfe1-17/+6
Call the functions behind git prune-packed and git update-server-info directly instead of using run_command(). This is shorter, easier and quicker. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-15server-info: clean up after writing info/packsLibravatar Jeff King1-0/+9
We allocate pack information in a static global list but never clean it up. This leaks memory, and means that calling update_server_info twice will generate a buggy file (it will have duplicate entries). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-15make update-server-info more robustLibravatar Jeff King1-45/+71
Since "git update-server-info" may be called automatically as part of a push or a "gc --auto", we should be robust against two processes trying to update it simultaneously. However, we currently use a fixed tempfile, which means that two simultaneous writers may step on each other's toes and end up renaming junk into place. Let's instead switch to using a unique tempfile via mkstemp. We do not want to use a lockfile here, because it's OK for two writers to simultaneously update (one will "win" the rename race, but that's OK; they should be writing the same information). While we're there, let's clean up a few other things: 1. Detect write errors. Report them and abort the update if any are found. 2. Free path memory rather than leaking it (and clean up the tempfile when necessary). 3. Use the pathdup functions consistently rather than static buffers or manually calculated lengths. This last one fixes a potential overflow of "infofile" in update_info_packs (e.g., by putting large junk into $GIT_OBJECT_DIRECTORY). However, this overflow was probably not an interesting attack vector for two reasons: a. The attacker would need to control the environment to do this, in which case it was already game-over. b. During its setup phase, git checks that the directory actually exists, which means it is probably shorter than PATH_MAX anyway. Because both update_info_refs and update_info_packs share these same failings (and largely duplicate each other), this patch factors out the improved error-checking version into a helper function. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-09-15prune-packed: fix minor memory leakLibravatar Jeff King1-0/+1
We form all of our directories in a strbuf, but never release it. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-29Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano2-1359/+1515
* git://github.com/git-l10n/git-po: po/TEAMS: add new members to German translation team l10n: de.po: translate 38 new messages
2014-08-29po/TEAMS: add new members to German translation teamLibravatar Ralf Thielow1-0/+2
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-08-29l10n: de.po: translate 38 new messagesLibravatar Ralf Thielow1-1359/+1513
Translate 38 new messages came from git.pot update in fe05e19 (l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed)). Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-08-26Merge branch 'jk/diff-tree-t-fix'Libravatar Junio C Hamano2-1/+45
Fix (rarely used) "git diff-tree -t" regression in 2.0. * jk/diff-tree-t-fix: intersect_paths: respect mode in git's tree-sort
2014-08-26Merge branch 'jk/pack-shallow-always-without-bitmap'Libravatar Junio C Hamano2-0/+40
Reachability bitmaps do not work with shallow operations. Fixes regression in 2.0. * jk/pack-shallow-always-without-bitmap: pack-objects: turn off bitmaps when we see --shallow lines
2014-08-26Merge branch 'jk/fix-profile-feedback-build'Libravatar Junio C Hamano1-1/+5
Fix profile-feedback build broken in 2.1 for tarball releases. * jk/fix-profile-feedback-build: Makefile: make perf tests optional for profile build
2014-08-25Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano9-9039/+21279
* git://github.com/git-l10n/git-po: l10n: de.po: improve message when switching branches l10n: de.po: fix typo po/TEAMS: Add Catalan team l10n: Add Catalan translation l10n: fr.po (2257t) update for version 2.1.0 l10n: sv.po: Update Swedish translation (2257t0f0u) l10n: vi.po (2257t): Update translation l10n: Updated Bulgarian translation of git (2257t,0f,0u) l10n: zh_CN: translations for git v2.1.0-rc0 l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed) l10n: Updated Bulgarian translation of git (2247t,0f,0u) l10n: Updated Bulgarian translation of git (2228t,0f,0u) l10n: Fix more typos in the Swedish translations
2014-08-23l10n: de.po: improve message when switching branchesLibravatar Ralf Thielow1-3/+3
Suggested-by: Stefan Beller <stefanbeller@gmail.com> Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-08-23l10n: de.po: fix typoLibravatar Ralf Thielow1-2/+2
Reported-by: Hartmut Henkel Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
2014-08-22po/TEAMS: Add Catalan teamLibravatar Alex Henrie1-0/+4
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2014-08-22l10n: Add Catalan translationLibravatar Alex Henrie1-0/+10951
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
2014-08-20intersect_paths: respect mode in git's tree-sortLibravatar Jeff King2-1/+45
When we do a combined diff, we individually diff against each parent, and then use intersect_paths to do a parallel walk through the sorted results and come up with a final list of interesting paths. The sort order here is that returned by the diffs, which means it is in git's tree-order which sorts sub-trees as if their paths have "/" at the end. When we do our parallel walk, we need to use a comparison function which provides the same order. Since 8518ff8 (combine-diff: optimize combine_diff_path sets intersection, 2014-01-20), we use a simple strcmp to compare the pathnames, and get this wrong. It's somewhat hard to trigger because normally a diff does not produce tree entries at all, and therefore the sort order is the same as a strcmp. However, if the "-t" option is used with the diff, then we will produce diff_filepairs for both trees and files. We can use base_name_compare to do the comparison, just as the tree-diff code does. Even though what we have are not technically base names (they are full paths within the tree), the end result is the same (we do not care about interior slashes at all, only about the final character). However, since we do not have the length of each path stored, we take a slight shortcut: if neither of the entries is a sub-tree then the comparison is equivalent to a strcmp. This lets us skip the extra strlen calls in the common case without having to reimplement base_name_compare from scratch. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-19Makefile: make perf tests optional for profile buildLibravatar Jeff King1-1/+5
The perf tests need a repository to operate on; if none is defined, we fall back to the repository containing our build directory. That fails, though, for an exported tarball of git.git, which has no repository. Since 5d7fd6d we run the perf tests as part of "make profile". Therefore "make profile" fails out of the box on released tarballs of v2.1.0. We can fix this by making the perf tests optional; if they are skipped, we still run the regular test suite, which should give a lot of profile data (and is what we used to do prior to 5d7fd6d anyway). Signed-off-by: Jeff King <peff@peff.net> Acked-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-15Git 2.1Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-13tests: fix negated test_i18ngrep callsLibravatar Johannes Sixt3-6/+6
The helper function test_i18ngrep pretends that it found the expected results when it is running under GETTEXT_POISON. For this reason, it must not be used negated like so ! test_i18ngrep foo bar because the test case would fail under GETTEXT_POISON. The function offers a special syntax to test that a pattern is *not* found: test_i18ngrep ! foo bar Convert incorrect uses to this syntax. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-12pack-objects: turn off bitmaps when we see --shallow linesLibravatar Jeff King2-0/+40
Reachability bitmaps do not work with shallow operations, because they cache a view of the object reachability that represents the true objects. Whereas a shallow repository (or a shallow operation in a repository) is inherently cutting off the object graph with a graft. We explicitly disallow the use of bitmaps in shallow repositories by checking is_repository_shallow(), and we should continue to do that. However, we also want to disallow bitmaps when we are serving a fetch to a shallow client, since we momentarily take on their grafted view of the world. It used to be enough to call is_repository_shallow at the start of pack-objects. Upload-pack wrote the other side's shallow state to a temporary file and pointed the whole pack-objects process at this state with "git --shallow-file", and from the perspective of pack-objects, we really were in a shallow repo. But since b790e0f (upload-pack: send shallow info over stdin to pack-objects, 2014-03-11), we do it differently: we send --shallow lines to pack-objects over stdin, and it registers them itself. This means that our is_repository_shallow check is way too early (we have not been told about the shallowness yet), and that it is insufficient (calling is_repository_shallow is not enough, as the shallow grafts we register do not change its return value). Instead, we can just turn off bitmaps explicitly when we see these lines. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-10Merge branch 'master' of git://ozlabs.org/~paulus/gitkLibravatar Junio C Hamano2-323/+341
* 'master' of git://ozlabs.org/~paulus/gitk: gitk: Updated Bulgarian translation (302t,0f,0u) gitk: Add keybinding to switch to parent commit
2014-08-08Git 2.1-rc2Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-08gitk: Updated Bulgarian translation (302t,0f,0u)Libravatar Alexander Shopov1-323/+329
Signed-off-by: Alexander Shopov <ash@kambanaria.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
2014-08-08gitk: Add keybinding to switch to parent commitLibravatar Max Kirillov1-0/+12
Signed-off-by: Max Kirillov <max@max630.net> Signed-off-by: Paul Mackerras <paulus@samba.org>
2014-08-07Merge branch 'mb/relnotes-2.1'Libravatar Junio C Hamano1-61/+53
* mb/relnotes-2.1: Release notes: grammatical fixes RelNotes: no more check_ref_format micro-optimization
2014-08-07Release notes: grammatical fixesLibravatar Marc Branchaud1-55/+53
Signed-off-by: Marc Branchaud <marcnarc@xiplink.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-07various contrib: Fix links in man pagesLibravatar Stefan Beller3-3/+3
Inspired by 2147fa7e (2014-07-31 git-push: fix link in man page), I grepped through the whole tree searching for 'gitlink:' occurrences. Signed-off-by: Stefan Beller <stefanbeller@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-07l10n: fr.po (2257t) update for version 2.1.0Libravatar Jean-Noel Avila1-1353/+1518
Signed-off-by: Jean-Noel Avila <jn.avila@free.fr>
2014-08-05RelNotes: no more check_ref_format micro-optimizationLibravatar Junio C Hamano1-6/+0
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-05Merge remote-tracking branch 'l10n/vi/vnwildman/master'Libravatar Jiang Xin1-1350/+1503
* l10n/vi/vnwildman/master: l10n: vi.po (2257t): Update translation
2014-08-05Merge branch 'master' of github.com:alshopov/git-poLibravatar Jiang Xin1-549/+601
* 'master' of github.com:alshopov/git-po: l10n: Updated Bulgarian translation of git (2257t,0f,0u)
2014-08-05l10n: sv.po: Update Swedish translation (2257t0f0u)Libravatar Peter Krefting1-1342/+1493
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2014-08-05l10n: vi.po (2257t): Update translationLibravatar Tran Ngoc Quan1-1350/+1503
Signed-off-by: Tran Ngoc Quan <vnwildman@gmail.com>
2014-08-04Git 2.1.0-rc1Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-08-04Merge branch 'tf/maint-doc-push'Libravatar Junio C Hamano1-1/+1
* tf/maint-doc-push: git-push: fix link in man page
2014-08-04Merge branch 'ta/doc-config'Libravatar Junio C Hamano1-1/+30
* ta/doc-config: add documentation for writing config files
2014-08-04l10n: Updated Bulgarian translation of git (2257t,0f,0u)Libravatar Alexander Shopov1-549/+601
Sync with tags v2.1.0-rc1 and v2.0.4 Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2014-08-04l10n: zh_CN: translations for git v2.1.0-rc0Libravatar Jiang Xin1-1342/+1480
Translate 37 new messages (2257t0f0u) for git v2.1.0-rc0. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-08-04Merge commit 'bg/alshopov/master'Libravatar Jiang Xin1-2208/+2694
* commit 'bg/alshopov/master': l10n: Updated Bulgarian translation of git (2247t,0f,0u) l10n: Updated Bulgarian translation of git (2228t,0f,0u)
2014-08-04Merge remote-tracking branch 'sv/nafmo/master'Libravatar Jiang Xin1-19/+19
* sv/nafmo/master: l10n: Fix more typos in the Swedish translations
2014-08-04l10n: git.pot: v2.1.0 round 1 (38 new, 9 removed)Libravatar Jiang Xin1-1332/+1472
Generate po/git.pot from v2.1.0-rc0 for git v2.1.0 l10n round 1. Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
2014-08-03l10n: Updated Bulgarian translation of git (2247t,0f,0u)Libravatar Alexander Shopov1-1252/+1348
Used make po/git.pot from git-l10n/git-po/master Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2014-08-03l10n: Updated Bulgarian translation of git (2228t,0f,0u)Libravatar Alexander Shopov1-962/+1352
Used po/git.pot from git-l10n/git-po/master Signed-off-by: Alexander Shopov <ash@kambanaria.org>
2014-07-31git-push: fix link in man pageLibravatar Tony Finch1-1/+1
Signed-off-by: Tony Finch <dot@dotat.at> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-07-30Sync with 2.0.4Libravatar Junio C Hamano3-1/+8
* maint: Git 2.0.4 commit --amend: test specifies authorship but forgets to check
2014-07-30Update draft release notes to 2.1Libravatar Junio C Hamano1-3/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2014-07-30Merge branch 'jk/more-push-completion'Libravatar Junio C Hamano1-1/+27
* jk/more-push-completion: completion: complete `git push --force-with-lease=` completion: add some missing options to `git push` completion: complete "unstuck" `git push --recurse-submodules`
2014-07-30Merge branch 'sk/mingw-tests-workaround'Libravatar Junio C Hamano8-24/+51
Make tests pass on msysgit by mostly disabling ones that are infeasible on that platform. * sk/mingw-tests-workaround: t800[12]: work around MSys limitation t9902: mingw-specific fix for gitfile link files t4210: skip command-line encoding tests on mingw MinGW: disable legacy encoding tests t0110/MinGW: skip tests that pass arbitrary bytes on the command line MinGW: Skip test redirecting to fd 4
2014-07-30Merge branch 'sk/mingw-uni-fix-more'Libravatar Junio C Hamano8-150/+184
Most of these are battle-tested in msysgit and are needed to complete what has been merged to 'master' already. * sk/mingw-uni-fix-more: Win32: enable color output in Windows cmd.exe Win32: patch Windows environment on startup Win32: keep the environment sorted Win32: use low-level memory allocation during initialization Win32: reduce environment array reallocations Win32: don't copy the environment twice when spawning child processes Win32: factor out environment block creation Win32: unify environment function names Win32: unify environment case-sensitivity Win32: fix environment memory leaks Win32: Unicode environment (incoming) Win32: Unicode environment (outgoing) Revert "Windows: teach getenv to do a case-sensitive search" tests: do not pass iso8859-1 encoded parameter