summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-07-21refs: add REF_FORCE_CREATE_REFLOG flagLibravatar David Turner2-13/+22
Add a flag to allow forcing the creation of a reflog even if the ref name and core.logAllRefUpdates setting would not ordinarily cause ref creation. In a moment, we will use this to add options to git tag and git update-ref to force reflog creation. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-21git-reflog: add exists commandLibravatar David Turner3-1/+41
This is necessary because alternate ref backends might store reflogs somewhere other than .git/logs. Code that now directly manipulates .git/logs should instead go through git-reflog. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-21refs: new public ref function: safe_create_reflogLibravatar David Turner3-14/+26
The safe_create_reflog function creates a reflog, if it does not already exist. The log_ref_setup function becomes private and gains a force_create parameter to force the creation of a reflog even if log_all_ref_updates is false or the refname is not one of the special refnames. The new parameter also reduces the need to store, modify, and restore the log_all_ref_updates global before reflog creation. In a moment, we will use this to add reflog creation commands to git-reflog. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-21refs: break out check for reflog autocreationLibravatar David Turner1-5/+11
This is just for clarity. Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-07-21refs.c: add err arguments to reflog functionsLibravatar David Turner3-60/+81
Add an err argument to log_ref_setup that can explain the reason for a failure. This then eliminates the need to manage errno through this function since we can just add strerror(errno) to the err string when meaningful. No callers relied on errno from this function for anything else than the error message. Also add err arguments to private functions write_ref_to_lockfile, log_ref_write_1, commit_ref_update. This again eliminates the need to manage errno in these functions. Some error messages are slightly reordered. Update of a patch by Ronnie Sahlberg. Signed-off-by: Ronnie Sahlberg <sahlberg@google.com> Signed-off-by: David Turner <dturner@twopensource.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-06-28Sync with maintLibravatar Junio C Hamano0-0/+0
* maint:
2015-06-25Merge branch 'jk/stash-require-clean-index' into maintLibravatar Junio C Hamano2-9/+0
A hotfix for the topic already in 'master'. * jk/stash-require-clean-index: Revert "stash: require a clean index to apply"
2015-06-25Merge branch 'cb/array-size' into maintLibravatar Junio C Hamano1-5/+3
* cb/array-size: Fix definition of ARRAY_SIZE for non-gcc builds
2015-06-25Git 2.5.0-rc0Libravatar Junio C Hamano2-16/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-06-25Merge branch 'cn/cvsimport-perl-update'Libravatar Junio C Hamano1-1/+1
* cn/cvsimport-perl-update: cvsimport: silence regex warning appearing in Perl 5.22.
2015-06-25Merge branch 'cb/array-size'Libravatar Junio C Hamano1-5/+3
* cb/array-size: Fix definition of ARRAY_SIZE for non-gcc builds
2015-06-25Sync with 2.4.5Libravatar Junio C Hamano2-1/+30
2015-06-25Git 2.4.5Libravatar Junio C Hamano4-3/+32
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-06-25Merge branch 'sg/merge-summary-config' into maintLibravatar Junio C Hamano3-16/+12
Doc updates. * sg/merge-summary-config: Documentation: include 'merge.branchdesc' for merge and config as well
2015-06-25Merge branch 'jk/make-fix-dependencies' into maintLibravatar Junio C Hamano1-24/+25
Build clean-up. * jk/make-fix-dependencies: Makefile: silence perl/PM.stamp recipe Makefile: avoid timestamp updates to GIT-BUILD-OPTIONS Makefile: drop dependency between git-instaweb and gitweb
2015-06-25Merge branch 'sb/pack-protocol-mention-smart-http' into maintLibravatar Junio C Hamano1-3/+3
Doc updates. * sb/pack-protocol-mention-smart-http: Documentation/technical/pack-protocol: mention http as possible protocol
2015-06-25Merge branch 'jk/die-on-bogus-worktree-late' into maintLibravatar Junio C Hamano2-10/+26
The setup code used to die when core.bare and core.worktree are set inconsistently, even for commands that do not need working tree. * jk/die-on-bogus-worktree-late: setup_git_directory: delay core.bare/core.worktree errors
2015-06-25Merge branch 'pt/pull-tags-error-diag' into maintLibravatar Junio C Hamano1-9/+0
There was a dead code that used to handle "git pull --tags" and show special-cased error message, which was made irrelevant when the semantics of the option changed back in Git 1.9 days. * pt/pull-tags-error-diag: pull: remove --tags error in no merge candidates case
2015-06-25Merge branch 'jk/color-diff-plain-is-context' into maintLibravatar Junio C Hamano5-22/+23
"color.diff.plain" was a misnomer; give it 'color.diff.context' as a more logical synonym. * jk/color-diff-plain-is-context: diff.h: rename DIFF_PLAIN color slot to DIFF_CONTEXT diff: accept color.diff.context as a synonym for "plain"
2015-06-25Merge branch 'jk/diagnose-config-mmap-failure' into maintLibravatar Junio C Hamano4-11/+29
The configuration reader/writer uses mmap(2) interface to access the files; when we find a directory, it barfed with "Out of memory?". * jk/diagnose-config-mmap-failure: xmmap(): drop "Out of memory?" config.c: rewrite ENODEV into EISDIR when mmap fails config.c: avoid xmmap error messages config.c: fix mmap leak when writing config read-cache.c: drop PROT_WRITE from mmap of index
2015-06-25Merge branch 'jk/squelch-missing-link-warning-for-unreachable' into maintLibravatar Junio C Hamano7-9/+34
Recent "git prune" traverses young unreachable objects to safekeep old objects in the reachability chain from them, which sometimes caused error messages that are unnecessarily alarming. * jk/squelch-missing-link-warning-for-unreachable: suppress errors on missing UNINTERESTING links silence broken link warnings with revs->ignore_missing_links add quieter versions of parse_{tree,commit}
2015-06-25Merge branch 'mm/rebase-i-post-rewrite-exec' into maintLibravatar Junio C Hamano2-41/+58
"git rebase -i" fired post-rewrite hook when it shouldn't (namely, when it was told to stop sequencing with 'exec' insn). * mm/rebase-i-post-rewrite-exec: t5407: use <<- to align the expected output rebase -i: fix post-rewrite hook with failed exec command rebase -i: demonstrate incorrect behavior of post-rewrite
2015-06-25Merge branch 'nd/diff-i-t-a'Libravatar Junio C Hamano4-38/+8
* nd/diff-i-t-a: Revert "diff-lib.c: adjust position of i-t-a entries in diff"
2015-06-24cvsimport: silence regex warning appearing in Perl 5.22.Libravatar Christian Neukirchen1-1/+1
Since Perl 5.22, "A literal '{' should now be escaped in a pattern". Silence the recently added warning by using \{ instead. Signed-off-by: Christian Neukirchen <chneukirchen@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-06-24Fix definition of ARRAY_SIZE for non-gcc buildsLibravatar Charles Bailey1-5/+3
The improved ARRAY_SIZE macro uses BARF_UNLESS_AN_ARRAY which expands to a valid check for recent gcc versions and to 0 for older gcc versions but is not defined on non-gcc builds. Non-gcc builds need this macro to expand to 0 as well. The current outer test (defined(__GNUC__) && (__GNUC__ >= 3)) is a strictly weaker condition than the inner test (GIT_GNUC_PREREQ(3, 1)) so we can omit the outer test and cause the BARF_UNLESS_AN_ARRAY macro to be defined correctly on non-gcc builds as well as gcc builds with older versions. Signed-off-by: Charles Bailey <cbailey32@bloomberg.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-06-24Ninth batch for 2.5Libravatar Junio C Hamano1-39/+102
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2015-06-24Merge branch 'jk/stash-require-clean-index'Libravatar Junio C Hamano2-9/+0
A hotfix for the topic already in 'master'. * jk/stash-require-clean-index: Revert "stash: require a clean index to apply"
2015-06-24Merge branch 'pa/auto-gc-mac-osx'Libravatar Junio C Hamano1-1/+1
Recent Mac OS X updates breaks the logic to detect that the machine is on the AC power in the sample pre-auto-gc script. * pa/auto-gc-mac-osx: hooks/pre-auto-gc: adjust power checking for newer OS X
2015-06-24Merge branch 'pt/t0302-needs-sanity'Libravatar Junio C Hamano1-1/+1
* pt/t0302-needs-sanity: t0302: "unreadable" test needs SANITY prereq
2015-06-24Merge branch 'ld/p4-changes-block-size'Libravatar Junio C Hamano3-31/+165
More Perforce row number limit workaround for "git p4". * ld/p4-changes-block-size: git-p4: fixing --changes-block-size handling git-p4: add tests for non-numeric revision range git-p4: test with limited p4 server results git-p4: additional testing of --changes-block-size
2015-06-24Merge branch 'fk/doc-format-patch-vn'Libravatar Junio C Hamano1-1/+1
Docfix. * fk/doc-format-patch-vn: doc: format-patch: fix typo
2015-06-24Merge branch 'sg/commit-cleanup-scissors'Libravatar Junio C Hamano2-5/+28
"git commit --cleanup=scissors" was not careful enough to protect against getting fooled by a line that looked like scissors. * sg/commit-cleanup-scissors: commit: cope with scissors lines in commit message
2015-06-24Merge branch 'jk/index-pack-reduce-recheck'Libravatar Junio C Hamano3-3/+14
Disable "have we lost a race with competing repack?" check while receiving a huge object transfer that runs index-pack. * jk/index-pack-reduce-recheck: index-pack: avoid excessive re-reading of pack directory
2015-06-24Merge branch 'af/tcsh-completion-noclobber'Libravatar Junio C Hamano1-1/+1
The tcsh completion writes a bash scriptlet but that would have failed for users with noclobber set. * af/tcsh-completion-noclobber: git-completion.tcsh: fix redirect with noclobber
2015-06-24Merge branch 'mh/reporting-broken-refs-from-for-each-ref'Libravatar Junio C Hamano3-7/+83
"git for-each-ref" reported "missing object" for 0{40} when it encounters a broken ref. The lack of object whose name is 0{40} is not the problem; the ref being broken is. * mh/reporting-broken-refs-from-for-each-ref: read_loose_refs(): treat NULL_SHA1 loose references as broken read_loose_refs(): simplify function logic for-each-ref: report broken references correctly t6301: new tests of for-each-ref error handling
2015-06-24Merge branch 'sg/completion-commit-cleanup'Libravatar Junio C Hamano1-1/+1
* sg/completion-commit-cleanup: completion: teach 'scissors' mode to 'git commit --cleanup='
2015-06-24Merge branch 'pt/am-abort-fix'Libravatar Junio C Hamano2-8/+104
Various fixes around "git am" that applies a patch to a history that is not there yet. * pt/am-abort-fix: am --abort: keep unrelated commits on unborn branch am --abort: support aborting to unborn branch am --abort: revert changes introduced by failed 3way merge am --skip: support skipping while on unborn branch am -3: support 3way merge on unborn branch am --skip: revert changes introduced by failed 3way merge
2015-06-24Merge branch 'nd/untracked-cache'Libravatar Junio C Hamano1-1/+2
Hotfix for the 'untracked-cache' topic that is already in 'master'. * nd/untracked-cache: read-cache: fix untracked cache invalidation when split-index is used
2015-06-24Merge branch 'mh/fsck-reflog-entries'Libravatar Junio C Hamano1-14/+20
"git fsck" used to ignore missing or invalid objects recorded in reflog. * mh/fsck-reflog-entries: fsck: report errors if reflog entries point at invalid objects fsck_handle_reflog_sha1(): new function
2015-06-24Merge branch 'js/sleep-without-select'Libravatar Junio C Hamano4-23/+16
Portability fix. * js/sleep-without-select: lockfile: wait using sleep_millisec() instead of select() lockfile: convert retry timeout computations to millisecond help.c: wrap wait-only poll() invocation in sleep_millisec() lockfile: replace random() by rand()
2015-06-24Merge branch 'es/utf8-stupid-compiler-workaround'Libravatar Junio C Hamano1-1/+3
A compilation workaround. * es/utf8-stupid-compiler-workaround: utf8: NO_ICONV: silence uninitialized variable warning
2015-06-24Merge branch 'rl/am-3way-config'Libravatar Junio C Hamano4-17/+53
"git am" learned am.threeWay configuration variable. * rl/am-3way-config: git-am: add am.threeWay config variable t4150-am: refactor am -3 tests git-am.sh: fix initialization of the threeway variable
2015-06-24Merge branch 'jc/ll-merge-expose-path'Libravatar Junio C Hamano3-8/+21
Traditionally, external low-level 3-way merge drivers are expected to produce their results based solely on the contents of the three variants given in temporary files named by %O, %A and %B on their command line. Additionally allow them to look at the final path (given by %P). * jc/ll-merge-expose-path: ll-merge: pass the original path to external drivers
2015-06-24Merge branch 'es/osx-header-pollutes-mask-macro'Libravatar Junio C Hamano4-29/+29
* es/osx-header-pollutes-mask-macro: ewah: use less generic macro name ewah/bitmap: silence warning about MASK macro redefinition
2015-06-24Merge branch 'es/configure-getdelim'Libravatar Junio C Hamano2-0/+9
Auto-detect availability of getdelim() that helps optimized version of strbuf_getwholeline(). * es/configure-getdelim: configure: add getdelim() check config.mak.uname: Darwin: define HAVE_GETDELIM for modern OS X releases
2015-06-24Merge branch 'pt/pull-optparse'Libravatar Junio C Hamano4-43/+122
"git pull" has become more aware of the options meant for underlying "git fetch" and then learned to use parse-options parser. * pt/pull-optparse: pull: use git-rev-parse --parseopt for option parsing pull: handle git-fetch's options as well
2015-06-24Merge branch 'qn/blame-show-email'Libravatar Junio C Hamano3-1/+73
"git blame" learned blame.showEmail configuration variable. * qn/blame-show-email: blame: add blame.showEmail configuration
2015-06-24Merge branch 'jc/do-not-feed-tags-to-clear-commit-marks'Libravatar Junio C Hamano2-6/+14
"git format-patch --ignore-if-upstream A..B" did not like to be fed tags as boundary commits. * jc/do-not-feed-tags-to-clear-commit-marks: format-patch: do not feed tags to clear_commit_marks()
2015-06-24Merge branch 'es/send-email-sendmail-alias'Libravatar Junio C Hamano3-46/+98
"git send-email" learned to handle more forms of sendmail style aliases file. * es/send-email-sendmail-alias: send-email: further warn about unsupported sendmail aliases features t9001: add sendmail aliases line continuation tests t9001: refactor sendmail aliases test infrastructure send-email: implement sendmail aliases line continuation support send-email: simplify sendmail aliases comment and blank line recognizer send-email: refactor sendmail aliases parser send-email: fix style: cuddle 'elsif' and 'else' with closing brace send-email: drop noise comments which merely repeat what code says send-email: visually distinguish sendmail aliases parser warnings send-email: further document missing sendmail aliases functionality
2015-06-24Merge branch 'jc/apply-reject-noop-hunk'Libravatar Junio C Hamano2-0/+16
"git apply" cannot diagnose a patch corruption when the breakage is to mark the length of the hunk shorter than it really is on the hunk header line "@@ -l,k +m,n @@"; one special case it could is when the hunk becomes no-op (e.g. k == n == 2 for two-line context patch output), and it learned how to do so. * jc/apply-reject-noop-hunk: apply: reject a hunk that does not do anything