summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-04-08Thread-safe xmalloc and xrealloc needs a recursive mutexLibravatar Johannes Sixt5-4/+27
The mutex used to protect object access (read_mutex) may need to be acquired recursively. Introduce init_recursive_mutex() helper function in thread-utils.c that constructs a mutex with the PHREAD_MUTEX_RECURSIVE attribute. pthread_mutex_init() emulation on Win32 is already recursive as it is implemented on top of the CRITICAL_SECTION type, which is recursive. http://msdn.microsoft.com/en-us/library/ms682530%28VS.85%29.aspx Add do-nothing compatibility wrappers for pthread_mutexattr* functions. Initial-version-by: Fredrik Kuivinen <frekui@gmail.com> Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24Make xmalloc and xrealloc thread-safeLibravatar Nicolas Pitre3-4/+27
By providing a hook for the routine responsible for trying to free some memory on malloc failure, we can ensure that the called routine is protected by the appropriate locks when threads are in play. The obvious offender here was pack-objects which was calling xmalloc() within threads while release_pack_memory() is not thread safe. Signed-off-by: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-24Documentation: explain the meaning of "-g" in git-describe outputLibravatar Markus Heidelberg1-0/+3
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21Git 1.7.0.3Libravatar Junio C Hamano3-10/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21Merge branch 'maint-1.6.6' into maintLibravatar Junio C Hamano4-14/+6
* maint-1.6.6: Documentation/git-clone: Transform description list into item list Documentation/urls: Remove spurious example markers Documentation/gitdiffcore: Remove misleading date in heading Documentation/git-reflog: Fix formatting of command lists
2010-03-21.mailmap: Map the the first submissions of MJG by e-mailLibravatar Michael J Gruber1-0/+1
so that git shortlog with '-e' coalesces all my commits. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21Documentation/git-clone: Transform description list into item listLibravatar Michael J Gruber1-5/+5
so that the list of examples is formatted in the same way as for git-fetch, and, more importantly, the different identation for the code blocks in the examples (compared to the immediately preceding code blocks from url.txt) doesn't look like misformatted, but is clarified by the items' bullets. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21Documentation/urls: Remove spurious example markersLibravatar Michael J Gruber1-6/+0
In urls.txt (which is included from git-{clone,fetch,push}.txt) several item lists are surrounded by example block markers. This is problematic for two reasons: - None of these lists are example lists, so they should not be marked as such semantically. - The html output looks weird (bulleted list with left sidebar). Therefore, remove the example block markers. Output by the man backend is unaffected. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21Documentation/gitdiffcore: Remove misleading date in headingLibravatar Michael J Gruber1-1/+1
Ever since the automatic conversion into man form, the heading contained a misidentified subheading reading "June 2005". Remove this since the documentation is more recent, and the correct date is in the footer. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-21Documentation/git-reflog: Fix formatting of command listsLibravatar Michael J Gruber1-2/+0
A misplaced list continuation mark appears literally in the rendered doc. Fix this by removing it. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20Update draft release notes to 1.7.0.3Libravatar Junio C Hamano1-1/+7
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20fetch: Fix minor memory leakLibravatar Andreas Gruenbacher1-2/+3
A temporary struct ref is allocated in store_updated_refs() but not freed. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20fetch: Future-proof initialization of a refspec on stackLibravatar Andreas Gruenbacher1-3/+1
The open-coded version to initialize each and every member will break when a new member is added to the structure. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20fetch: Check for a "^{}" suffix with suffixcmp()Libravatar Andreas Gruenbacher1-1/+1
Otherwise, we will check random bytes for ref names < 3 characters. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20daemon: parse_host_and_port SIGSEGV if port is specifiedLibravatar Imre Deak1-1/+1
This typo will lead to git-daemon dying any time the connect string includes a port after the host= attribute. This can lead for example to one of the following error messages on the client side when someone tries git clone git://...:<port>. When the daemon is running on localhost: fatal: The remote end hung up unexpectedly or when the daemon is connected through an ssh tunnel: fatal: protocol error: bad line length character: erro In the latter case 'erro' comes from the daemon's reply: error: git-daemon died of signal 11 Signed-off-by: Imre Deak <imre.deak@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20Makefile: Fix CDPATH problemLibravatar Jonathan Nieder1-0/+6
If CDPATH is set, "cd" prints its destination to stdout, causing the common (cd a && tar cf - .) | (cd b && tar xf -) idiom to fail. For example: make -C templates DESTDIR='' install make[1]: Entering directory `/users/e477610/exptool/src/git-1.7.0.2/templates' install -d -m 755 '/home/e477610/exptool/share/git-core/templates' (cd blt && gtar cf - .) | \ (cd '/home/e477610/exptool/share/git-core/templates' && umask 022 && gtar xof -) gtar: This does not look like a tar archive Most git scripts already protect against use of CDPATH through git-sh-setup, but the Makefile doesn’t. Reported-by: Michael Cox <mhcox@bluezoosoftware.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-20pull: replace unnecessary sed invocationLibravatar Stephen Boyd1-1/+1
Getting the shortened branch name is as easy as using the shell's parameter expansion. Signed-off-by: Stephen Boyd <bebarino@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-17Documentation: receive.denyCurrentBranch defaults to 'refuse'Libravatar Thomas Rast1-1/+1
acd2a45 (Refuse updating the current branch in a non-bare repository via push, 2009-02-11) changed the default to refuse such a push, but it forgot to update the docs. Signed-off-by: Thomas Rast <trast@student.ethz.ch> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-17bash: complete *_HEAD refs if presentLibravatar Ian Ward Comfort1-1/+3
We already complete HEAD, of course, and might as well complete the other common refs mentioned in the rev-parse man page: FETCH_HEAD, ORIG_HEAD, and MERGE_HEAD. Signed-off-by: Ian Ward Comfort <icomfort@stanford.edu> Acked-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-15Documentation/git-read-tree: clarify 2-tree mergeLibravatar Michael J Gruber1-13/+15
Clarify the description of the 2-tree merge by defining the terms which are used in the table, and by applying some small linguistic changes. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-15Documentation/git-read-tree: fix table layoutLibravatar Michael J Gruber1-10/+10
Asciidoc takes the first non-space character in the first line of the paragraph as a reference point for preformatted layout, so adjust to that to make the table align. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-13don't use default revision if a rev was specifiedLibravatar Dave Olszewski2-2/+13
If a revision is specified, it happens not to have any commits, don't use the default revision. By doing so, surprising and undesired behavior can happen, such as showing the reflog for HEAD when a branch was specified. [jc: squashed a test from René] Signed-off-by: Dave Olszewski <cxreg@pobox.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-13for_each_recent_reflog_ent(): use strbuf, fix offset handlingLibravatar René Scharfe1-10/+12
As Vladimir reported, "git log -g refs/stash" surprisingly showed the reflog of HEAD if the message in the reflog file was too long. To fix this, convert for_each_recent_reflog_ent() to use strbuf_getwholeline() instead of fgets(), for safety and to avoid any size limits for reflog entries. Also reverse the logic of the part of the function that only looks at file tails. It used to close the file if fgets() succeeded. The following fgets() call in the while loop was likely to fail in this case, too, so passing an offset to for_each_recent_reflog_ent() never worked. Change it to error out if strbuf_getwholeline() fails instead. Reported-by: Vladimir Panteleev <vladimir@thecybershadow.net> Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-13t/Makefile: remove test artifacts upon "make clean"Libravatar Junio C Hamano1-0/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-13blame: fix indent of line numbersLibravatar René Scharfe2-2/+20
Correct the calculation of the number of digits for line counts of the form 10^n-1 (9, 99, ...) in lineno_width(). This makes blame stop printing an extra space before the line numbers of files with that many total lines. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-11t9400: Use test_cmp when appropriateLibravatar Junio C Hamano1-12/+12
Consistently using test_cmp would make debugging test scripts far easier, as output from them run under "-v" option becomes readable. Besides, some platforms' "diff" implementations lack "-q" option. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-08Merge accumulated fixes to prepare for 1.7.0.3Libravatar Junio C Hamano2-1/+35
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2010-03-08Merge branch 'mw/maint-gcc-warns-unused-write' into maintLibravatar Junio C Hamano1-4/+6
* mw/maint-gcc-warns-unused-write: run-command.c: fix build warnings on Ubuntu
2010-03-08Merge branch 'fn/maint-mkdtemp-compat' into maintLibravatar Junio C Hamano1-1/+1
* fn/maint-mkdtemp-compat: Fix gitmkdtemp: correct test for mktemp() return value
2010-03-08Merge branch 'gb/maint-submodule-env' into maintLibravatar Junio C Hamano8-33/+69
* gb/maint-submodule-env: is_submodule_modified(): clear environment properly submodules: ensure clean environment when operating in a submodule shell setup: clear_local_git_env() function rev-parse: --local-env-vars option Refactor list of of repo-local env vars
2010-03-08Merge branch 'as/maint-expire' into maintLibravatar Junio C Hamano4-18/+86
* as/maint-expire: reflog: honor gc.reflogexpire=never prune: honor --expire=never
2010-03-08Merge branch 'ml/maint-grep-doc' into maintLibravatar Junio C Hamano1-13/+17
* ml/maint-grep-doc: grep docs: document --no-index option grep docs: --cached and <tree>... are incompatible grep docs: use AsciiDoc literals consistently grep docs: pluralize "Example" section
2010-03-08Merge branch 'jk/maint-push-tracking-wo-remote' into maintLibravatar Junio C Hamano1-1/+1
* jk/maint-push-tracking-wo-remote: push: fix segfault for odd config
2010-03-08Merge branch 'jc/fetch-param' into maintLibravatar Junio C Hamano2-33/+88
* jc/fetch-param: fetch --all/--multiple: keep all the fetched branch information builtin-fetch --all/--multi: propagate options correctly t5521: fix and modernize
2010-03-08Merge branch 'ne/pack-local-doc' into maintLibravatar Junio C Hamano1-8/+7
* ne/pack-local-doc: pack-objects documentation: Fix --honor-pack-keep as well. pack-objects documentation: reword "objects that appear in the standard input" Documentation: pack-objects: Clarify --local's semantics.
2010-03-08Merge branch 'jk/maint-add--interactive-delete' into maintLibravatar Junio C Hamano2-1/+31
* jk/maint-add--interactive-delete: add-interactive: fix bogus diff header line ordering
2010-03-08Merge branch 'mm/mkstemps-mode-for-packfiles' into maintLibravatar Junio C Hamano8-93/+172
* mm/mkstemps-mode-for-packfiles: Use git_mkstemp_mode instead of plain mkstemp to create object files git_mkstemps_mode: don't set errno to EINVAL on exit. Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later. git_mkstemp_mode, xmkstemp_mode: variants of gitmkstemps with mode argument. Move gitmkstemps to path.c Add a testcase for ACL with restrictive umask.
2010-03-08Merge branch 'jc/maint-fix-mailinfo-strip' into maintLibravatar Junio C Hamano2-3/+2
* jc/maint-fix-mailinfo-strip: mailinfo: do not strip leading spaces even for a header line
2010-03-08Merge branch 'jc/grep-author-all-match-implicit' into maintLibravatar Junio C Hamano6-10/+57
* jc/grep-author-all-match-implicit: "log --author=me --grep=it" should find intersection, not union
2010-03-08Merge branch 'jc/checkout-detached' into maintLibravatar Junio C Hamano5-12/+46
* jc/checkout-detached: Reword "detached HEAD" notification
2010-03-08Merge branch 'maint-1.6.6' into maintLibravatar Junio C Hamano0-0/+0
* maint-1.6.6:
2010-03-07Merge branch 'jc/maint-fix-test-perm' into maint-1.6.6Libravatar Junio C Hamano2-0/+4
* jc/maint-fix-test-perm: lib-patch-mode.sh: Fix permission t6000lib: Fix permission
2010-03-07Merge branch 'sp/maint-push-sideband' into maint-1.6.6Libravatar Junio C Hamano10-133/+371
* sp/maint-push-sideband: receive-pack: Send internal errors over side-band #2 t5401: Use a bare repository for the remote peer receive-pack: Send hook output over side band #2 receive-pack: Wrap status reports inside side-band-64k receive-pack: Refactor how capabilities are shown to the client send-pack: demultiplex a sideband stream with status data run-command: support custom fd-set in async run-command: Allow stderr to be a caller supplied pipe
2010-03-07Merge branch 'hm/maint-imap-send-crlf' into maint-1.6.6Libravatar Junio C Hamano1-1/+39
* hm/maint-imap-send-crlf: git-imap-send: Convert LF to CRLF before storing patch to draft box
2010-03-07Merge branch 'gf/maint-sh-setup-nongit-ok' into maint-1.6.6Libravatar Junio C Hamano1-1/+1
* gf/maint-sh-setup-nongit-ok: require_work_tree broken with NONGIT_OK
2010-03-07Merge branch 'jk/maint-rmdir-fix' into maint-1.6.6Libravatar Junio C Hamano2-1/+9
* jk/maint-rmdir-fix: rm: fix bug in recursive subdirectory removal
2010-03-07Merge branch 'rs/optim-text-wrap' into maint-1.6.6Libravatar Junio C Hamano3-37/+42
* rs/optim-text-wrap: utf8.c: speculatively assume utf-8 in strbuf_add_wrapped_text() utf8.c: remove strbuf_write() utf8.c: remove print_spaces() utf8.c: remove print_wrapped_text()
2010-03-07Merge branch 'tr/maint-cherry-pick-list' into maint-1.6.6Libravatar Junio C Hamano1-0/+3
* tr/maint-cherry-pick-list: cherry_pick_list: quit early if one side is empty
2010-03-07Merge branch 'cc/maint-bisect-paths' into maint-1.6.6Libravatar Junio C Hamano2-0/+11
* cc/maint-bisect-paths: bisect: error out when passing bad path parameters
2010-03-07Git 1.7.0.2Libravatar Junio C Hamano3-8/+3
Signed-off-by: Junio C Hamano <gitster@pobox.com>