summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-05-11Merge branch 'jk/still-interesting'Libravatar Junio C Hamano1-4/+19
"git rev-list --objects $old --not --all" to see if everything that is reachable from $old is already connected to the existing refs was very inefficient. * jk/still-interesting: limit_list: avoid quadratic behavior from still_interesting
2015-05-11Merge branch 'jk/reading-packed-refs'Libravatar Junio C Hamano8-6/+77
An earlier rewrite to use strbuf_getwholeline() instead of fgets(3) to read packed-refs file revealed that the former is unacceptably inefficient. * jk/reading-packed-refs: t1430: add another refs-escape test read_packed_refs: avoid double-checking sane refs strbuf_getwholeline: use getdelim if it is available strbuf_getwholeline: avoid calling strbuf_grow strbuf_addch: avoid calling strbuf_grow config: use getc_unlocked when reading from file strbuf_getwholeline: use getc_unlocked git-compat-util: add fallbacks for unlocked stdio strbuf_getwholeline: use getc macro
2015-05-11Merge branch 'lm/squelch-bg-progress'Libravatar Junio C Hamano2-8/+22
Many long-running operations show progress eye-candy, even when they are later backgrounded. Hide the eye-candy when the process is sent to the background instead. * lm/squelch-bg-progress: compat/mingw: stubs for getpgid() and tcgetpgrp() progress: no progress in background
2015-05-11Merge branch 'jk/sha1-file-reduce-useless-warnings'Libravatar Junio C Hamano2-6/+2
* jk/sha1-file-reduce-useless-warnings: sha1_file: squelch "packfile cannot be accessed" warnings
2015-05-11Merge branch 'nd/multiple-work-trees'Libravatar Junio C Hamano52-250/+1391
A replacement for contrib/workdir/git-new-workdir that does not rely on symbolic links and make sharing of objects and refs safer by making the borrowee and borrowers aware of each other. * nd/multiple-work-trees: (41 commits) prune --worktrees: fix expire vs worktree existence condition t1501: fix test with split index t2026: fix broken &&-chain t2026 needs procondition SANITY git-checkout.txt: a note about multiple checkout support for submodules checkout: add --ignore-other-wortrees checkout: pass whole struct to parse_branchname_arg instead of individual flags git-common-dir: make "modules/" per-working-directory directory checkout: do not fail if target is an empty directory t2025: add a test to make sure grafts is working from a linked checkout checkout: don't require a work tree when checking out into a new one git_path(): keep "info/sparse-checkout" per work-tree count-objects: report unused files in $GIT_DIR/worktrees/... gc: support prune --worktrees gc: factor out gc.pruneexpire parsing code gc: style change -- no SP before closing parenthesis checkout: clean up half-prepared directories in --to mode checkout: reject if the branch is already checked out elsewhere prune: strategies for linked checkouts checkout: support checking out into a new working directory ...
2015-05-11Merge branch 'pt/credential-xdg'Libravatar Junio C Hamano3-29/+210
Tweak the sample "store" backend of the credential helper to honor XDG configuration file locations when specified. * pt/credential-xdg: t0302: "unreadable" test needs POSIXPERM t0302: test credential-store support for XDG_CONFIG_HOME git-credential-store: support XDG_CONFIG_HOME git-credential-store: support multiple credential files
2015-05-05First batch for 2.5 cycleLibravatar Junio C Hamano3-2/+88
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-05-05Merge branch 'jk/prune-mtime'Libravatar Junio C Hamano3-9/+26
Access to objects in repositories that borrow from another one on a slow NFS server unnecessarily got more expensive due to recent code becoming more cautious in a naive way not to lose objects to pruning. * jk/prune-mtime: sha1_file: only freshen packs once per run sha1_file: freshen pack objects before loose reachable: only mark local objects as recent
2015-05-05Merge branch 'mm/usage-log-l-can-take-regex'Libravatar Junio C Hamano6-15/+16
Documentation fix. * mm/usage-log-l-can-take-regex: log -L: improve error message on malformed argument Documentation: change -L:<regex> to -L:<funcname>
2015-05-05Merge branch 'ep/fix-test-lib-functions-report'Libravatar Junio C Hamano1-2/+2
* ep/fix-test-lib-functions-report: test-lib-functions.sh: fix the second argument to some helper functions
2015-05-05Merge branch 'cn/bom-in-gitignore'Libravatar Junio C Hamano6-5/+39
Teach the codepaths that read .gitignore and .gitattributes files that these files encoded in UTF-8 may have UTF-8 BOM marker at the beginning; this makes it in line with what we do for configuration files already. * cn/bom-in-gitignore: attr: skip UTF8 BOM at the beginning of the input file config: use utf8_bom[] from utf.[ch] in git_parse_source() utf8-bom: introduce skip_utf8_bom() helper add_excludes_from_file: clarify the bom skipping logic dir: allow a BOM at the beginning of exclude files
2015-05-05Merge branch 'jc/epochtime-wo-tz'Libravatar Junio C Hamano1-5/+9
"git commit --date=now" or anything that relies on approxidate lost the daylight-saving-time offset. * jc/epochtime-wo-tz: parse_date_basic(): let the system handle DST conversion parse_date_basic(): return early when given a bogus timestamp
2015-05-05Merge branch 'nd/t1509-chroot-test'Libravatar Junio C Hamano1-9/+29
Correct test bitrot. * nd/t1509-chroot-test: t1509: update prepare script to be able to run t1509 in chroot again
2015-05-05Merge branch 'oh/fix-config-default-user-name-section'Libravatar Junio C Hamano1-2/+2
The default $HOME/.gitconfig file created upon "git config --global" that edits it had incorrectly spelled user.name and user.email entries in it. * oh/fix-config-default-user-name-section: config: fix settings in default_user_config template
2015-05-05Merge branch 'jk/type-from-string-gently'Libravatar Junio C Hamano2-1/+10
"git cat-file bl $blob" failed to barf even though there is no object type that is "bl". * jk/type-from-string-gently: type_from_string_gently: make sure length matches
2015-05-05Merge branch 'sb/test-bitmap-free-at-end'Libravatar Junio C Hamano1-0/+2
* sb/test-bitmap-free-at-end: pack-bitmap.c: fix a memleak
2015-05-05Merge branch 'ld/p4-filetype-detection'Libravatar Junio C Hamano2-6/+6
* ld/p4-filetype-detection: git-p4: fix filetype detection on files opened exclusively git-p4: small fix for locked-file-move-test git-p4: fix small bug in locked test scripts
2015-05-05Merge branch 'ts/checkout-advice-plural'Libravatar Junio C Hamano1-2/+9
* ts/checkout-advice-plural: checkout: call a single commit "it" intead of "them"
2015-05-05Merge branch 'jk/init-core-worktree-at-root'Libravatar Junio C Hamano1-3/+15
We avoid setting core.worktree when the repository location is the ".git" directory directly at the top level of the working tree, but the code misdetected the case in which the working tree is at the root level of the filesystem (which arguably is a silly thing to do, but still valid). * jk/init-core-worktree-at-root: init: don't set core.worktree when initializing /.git
2015-05-05Merge branch 'mh/show-branch-topic'Libravatar Junio C Hamano1-3/+3
"git show-branch --topics HEAD" (with no other arguments) did not do anything interesting. Instead, contrast the given revision against all the local branches by default. * mh/show-branch-topic: show-branch: show all local heads when only giving one rev along --topics
2015-05-05Merge branch 'sb/line-log-plug-pairdiff-leak'Libravatar Junio C Hamano1-0/+1
* sb/line-log-plug-pairdiff-leak: line-log.c: fix a memleak
2015-05-05Merge branch 'jc/diff-no-index-d-f'Libravatar Junio C Hamano2-2/+98
The usual "git diff" when seeing a file turning into a directory showed a patchset to remove the file and create all files in the directory, but "git diff --no-index" simply refused to work. Also, when asked to compare a file and a directory, imitate POSIX "diff" and compare the file with the file with the same name in the directory, instead of refusing to run. * jc/diff-no-index-d-f: diff-no-index: align D/F handling with that of normal Git diff-no-index: DWIM "diff D F" into "diff D/F F"
2015-05-05Merge branch 'bc/object-id'Libravatar Junio C Hamano18-145/+192
Identify parts of the code that knows that we use SHA-1 hash to name our objects too much, and use (1) symbolic constants instead of hardcoded 20 as byte count and/or (2) use struct object_id instead of unsigned char [20] for object names. * bc/object-id: apply: convert threeway_stage to object_id patch-id: convert to use struct object_id commit: convert parts to struct object_id diff: convert struct combine_diff_path to object_id bulk-checkin.c: convert to use struct object_id zip: use GIT_SHA1_HEXSZ for trailers archive.c: convert to use struct object_id bisect.c: convert leaf functions to use struct object_id define utility functions for object IDs define a structure for object IDs
2015-04-30Git 2.4Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-28Merge branch 'mh/multimail-renewal'Libravatar Junio C Hamano2-24/+25
* mh/multimail-renewal: Update git-multimail to version 1.0.2
2015-04-28Merge branch 'mg/show-notes-doc'Libravatar Junio C Hamano1-2/+2
Documentation fix. * mg/show-notes-doc: rev-list-options.txt: complete sentence about notes matching
2015-04-28Merge branch 'nd/versioncmp-prereleases'Libravatar Junio C Hamano1-4/+7
* nd/versioncmp-prereleases: git tag: mention versionsort.prereleaseSuffix in manpage
2015-04-28Merge branch 'mg/status-v-v'Libravatar Junio C Hamano1-0/+8
* mg/status-v-v: status: document the -v/--verbose option
2015-04-28Update git-multimail to version 1.0.2Libravatar Michael Haggerty2-24/+25
The only changes are to the README files, most notably the list of maintainers and the project URL. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-27Sync with 2.3.7Libravatar Junio C Hamano2-1/+23
2015-04-27Git 2.3.7Libravatar Junio C Hamano4-3/+25
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-27Merge branch 'tb/connect-ipv6-parse-fix' into maintLibravatar Junio C Hamano3-16/+24
An earlier update to the parser that disects a URL broke an address, followed by a colon, followed by an empty string (instead of the port number), e.g. ssh://example.com:/path/to/repo. * tb/connect-ipv6-parse-fix: connect.c: ignore extra colon after hostname
2015-04-27Merge branch 'ma/bash-completion-leaking-x' into maintLibravatar Junio C Hamano1-1/+1
The completion script (in contrib/) contaminated global namespace and clobbered on a shell variable $x. * ma/bash-completion-leaking-x: completion: fix global bash variable leak on __gitcompappend
2015-04-27Merge branch 'jc/push-cert' into maintLibravatar Junio C Hamano1-0/+23
The "git push --signed" protocol extension did not limit what the "nonce" that is a server-chosen string can contain or how long it can be, which was unnecessarily lax. Limit both the length and the alphabet to a reasonably small space that can still have enough entropy. * jc/push-cert: push --signed: tighten what the receiving end can ask to sign
2015-04-23status: document the -v/--verbose optionLibravatar Michael Haggerty1-0/+8
Document `git status -v`, including its new doubled `-vv` form. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-23RelNotes: wordsmithingLibravatar Michael Haggerty1-164/+172
Make many textual tweaks to the 2.4.0 release notes. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-23RelNotes: refer to the rebase -i "todo list", not "insn sheet"Libravatar Michael Haggerty1-2/+2
"Todo list" is the name that is used in the user-facing documentation. Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-23RelNotes: correct name of versionsort.prereleaseSuffixLibravatar Michael Haggerty1-2/+2
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-23git tag: mention versionsort.prereleaseSuffix in manpageLibravatar Michael Haggerty1-4/+7
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-22Git 2.4.0-rc3Libravatar Junio C Hamano1-1/+1
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-21Sync with maintLibravatar Junio C Hamano2-1/+15
2015-04-21Git 2.3.6Libravatar Junio C Hamano4-3/+17
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-04-21Merge branch 'jk/colors' into maintLibravatar Junio C Hamano1-2/+7
"diff-highlight" (in contrib/) used to show byte-by-byte differences, which meant that multi-byte characters can be chopped in the middle. It learned to pay attention to character boundaries (assuming the UTF-8 payload). * jk/colors: diff-highlight: do not split multibyte characters
2015-04-21Merge branch 'jk/test-annoyances' into maintLibravatar Junio C Hamano5-15/+24
Test fixes. * jk/test-annoyances: t5551: make EXPENSIVE test cheaper t5541: move run_with_cmdline_limit to test-lib.sh t: pass GIT_TRACE through Apache t: redirect stderr GIT_TRACE to descriptor 4 t: translate SIGINT to an exit
2015-04-21Merge branch 'pt/enter-repo-comment-fix' into maintLibravatar Junio C Hamano1-8/+3
Documentation update. * pt/enter-repo-comment-fix: enter_repo(): fix docs to match code
2015-04-21Merge branch 'jz/gitweb-conf-doc-fix' into maintLibravatar Junio C Hamano1-1/+1
Documentation update. * jz/gitweb-conf-doc-fix: gitweb.conf.txt: say "build-time", not "built-time"
2015-04-21Merge branch 'jk/cherry-pick-docfix' into maintLibravatar Junio C Hamano1-1/+2
* jk/cherry-pick-docfix: cherry-pick: fix docs describing handling of empty commits
2015-04-21Merge branch 'iu/fix-parse-options-h-comment' into maintLibravatar Junio C Hamano1-2/+1
* iu/fix-parse-options-h-comment: parse-options.h: OPTION_{BIT,SET_INT} do not store pointer to defval
2015-04-21Merge branch 'jg/cguide-we-cannot-count' into maintLibravatar Junio C Hamano1-1/+1
* jg/cguide-we-cannot-count: CodingGuidelines: update 'rough' rule count
2015-04-21Merge branch 'jk/pack-corruption-post-mortem' into maintLibravatar Junio C Hamano1-0/+237
Documentation update. * jk/pack-corruption-post-mortem: howto: document more tools for recovery corruption