summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-12-05Copy resolve_ref() return value for longer useLibravatar Nguyễn Thái Ngọc Duy8-28/+66
resolve_ref() may return a pointer to a static buffer. Callers that use this value longer than a couple of statements should copy the value to avoid some hidden resolve_ref() call that may change the static buffer's value. The bug found by Tony Wang <wwwjfy@gmail.com> in builtin/merge.c demonstrates this. The first call is in cmd_merge() branch = resolve_ref("HEAD", head_sha1, 0, &flag); Then deep in lookup_commit_or_die() a few lines after, resolve_ref() may be called again and destroy "branch". lookup_commit_or_die lookup_commit_reference lookup_commit_reference_gently parse_object lookup_replace_object do_lookup_replace_object prepare_replace_object for_each_replace_ref do_for_each_ref get_loose_refs get_ref_dir get_ref_dir resolve_ref All call sites are checked and made sure that xstrdup() is called if the value should be saved. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-13Convert many resolve_ref() calls to read_ref*() and ref_exists()Libravatar Nguyễn Thái Ngọc Duy12-32/+36
resolve_ref() may return a pointer to a static buffer, which is not safe for long-term use because if another resolve_ref() call happens, the buffer may be changed. Many call sites though do not care about this buffer. They simply check if the return value is NULL or not. Convert all these call sites to new wrappers to reduce resolve_ref() calls from 57 to 34. If we change resolve_ref() prototype later on to avoid passing static buffer out, this helps reduce changes. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-12Git 1.7.8-rc2Libravatar Junio C Hamano2-2/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-11Merge branch 'ly/mktree-using-strbuf'Libravatar Junio C Hamano1-0/+1
* ly/mktree-using-strbuf: mktree: fix a memory leak in write_tree()
2011-11-10Merge "Move 'builtin-*' into a 'builtin/' subdirectory"Libravatar Junio C Hamano943-17539/+77997
2011-11-10Merge 'build-in git-mktree'Libravatar Junio C Hamano1366-45469/+172869
* commit '633e3556ccbc': (5835 commits) build-in git-mktree allow -t abbreviation for --track in git branch gitweb: Remove function prototypes (cleanup) Documentation: cloning to empty directory is allowed Clarify kind of conflict in merge-one-file helper git config: clarify --add and --get-color archive-tar.c: squelch a type mismatch warning Start 1.6.4 development Start 1.6.3.1 maintenance series. GIT 1.6.3 t4029: use sh instead of bash t4200: convert sed expression which operates on non-text file to perl t4200: remove two unnecessary lines t/annotate-tests.sh: avoid passing a non-newline terminated file to sed t4118: avoid sed invocation on file without terminating newline t4118: add missing '&&' t8005: use egrep when extended regular expressions are required git-clean doc: the command only affects paths under $(cwd) improve error message in config.c t4018-diff-funcname: add cpp xfuncname pattern to syntax test ...
2011-11-10mktree: fix a memory leak in write_tree()Libravatar Liu Yuan1-0/+1
We forget to call strbuf_release to release the buf memory. Signed-off-by: Liu Yuan <tailai.ly@taobao.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-09Merge branch 'sn/complete-bash-wo-process-subst'Libravatar Junio C Hamano1-1/+1
* sn/complete-bash-wo-process-subst: completion: don't leak variable from the prompt into environment
2011-11-09completion: don't leak variable from the prompt into environmentLibravatar SZEDER Gábor1-1/+1
Commit e5b8eebc (completion: fix issue with process substitution not working on Git for Windows, 2011-10-26) introduced a new variable in __git_ps1_show_upstream(), but didn't declare it as local to prevent it from leaking into the environment. We may want to rewrite it like the following, but that can wait until the next cycle. while read key value do ... done <<-EOF $(git config -z --get-regexp ...) EOF Signed-off-by: SZEDER Gábor <szeder@ira.uka.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-08Update draft release notes to 1.7.8Libravatar Junio C Hamano1-14/+5
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-08Merge branch 'jc/remote-setbranches-usage-fix'Libravatar Junio C Hamano1-1/+1
* jc/remote-setbranches-usage-fix: remote: fix set-branches usage
2011-11-08Merge branch 'fc/remote-seturl-usage-fix'Libravatar Junio C Hamano1-1/+1
* fc/remote-seturl-usage-fix: remote: fix remote set-url usage
2011-11-08Sync with 1.7.7.3Libravatar Junio C Hamano5-50/+67
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-08Git 1.7.7.3Libravatar Junio C Hamano3-2/+21
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-08Merge branch 'jc/maint-remove-renamed-ref' into maintLibravatar Junio C Hamano1-8/+0
* jc/maint-remove-renamed-ref: branch -m/-M: remove undocumented RENAMED-REF Conflicts: refs.c
2011-11-08Merge branch 'jm/maint-gitweb-filter-forks-fix' into maintLibravatar Junio C Hamano1-1/+1
* jm/maint-gitweb-filter-forks-fix: gitweb: fix regression when filtering out forks
2011-11-08Merge branch 'dm/pack-objects-update' into maintLibravatar Junio C Hamano1-19/+55
* dm/pack-objects-update: pack-objects: don't traverse objects unnecessarily pack-objects: rewrite add_descendants_to_write_order() iteratively pack-objects: use unsigned int for counter and offset values pack-objects: mark add_to_write_order() as inline
2011-11-08docs: Update install-doc-quickLibravatar Junio C Hamano3-50/+46
The preformatted documentation pages live in their own repositories these days. Adjust the installation procedure to the updated layout. Tested-by: Stefan Naewe <stefan.naewe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-08docs: don't mention --quiet or --exit-code in git-log(1)Libravatar Jeff King1-0/+2
These are diff-options, but they don't actually make sense in the context of log. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-07Git 1.7.8-rc1Libravatar Junio C Hamano2-2/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-07Merge branch 'ss/blame-textconv-fake-working-tree'Libravatar Junio C Hamano1-4/+3
* ss/blame-textconv-fake-working-tree: blame.c: Properly initialize strbuf after calling textconv_object(), again
2011-11-07blame.c: Properly initialize strbuf after calling textconv_object(), againLibravatar Sebastian Schuberth1-4/+3
2564aa4 started to initialize buf.alloc, but that should actually be one more byte than the string length due to the trailing \0. Also, do not modify buf.alloc out of the strbuf code. Use the existing strbuf_attach instead. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com> Reviewed-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-06Merge branch 'ab/i18n-test-fix'Libravatar Junio C Hamano2-3/+3
* ab/i18n-test-fix: t/t7508-status.sh: use test_i18ncmp t/t6030-bisect-porcelain.sh: use test_i18ngrep
2011-11-06Merge branch 'sn/http-auth-with-netrc-fix'Libravatar Junio C Hamano1-4/+3
* sn/http-auth-with-netrc-fix: http: don't always prompt for password
2011-11-06Merge branch 'pw/p4-appledouble-fix'Libravatar Junio C Hamano2-0/+44
* pw/p4-appledouble-fix: git-p4: ignore apple filetype
2011-11-06remote: fix remote set-url usageLibravatar Felipe Contreras1-1/+1
Bad copy-paste. Otherwise the help text for "git remote set-url --help" would show help for "git remote update" subcommand. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-06remote: fix set-branches usageLibravatar Junio C Hamano1-1/+1
Bad copy-paste. Otherwise "git remote set-branches" without necessary argument will result in an error message and help for set-url subcommand. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-05git-p4: ignore apple filetypeLibravatar Pete Wyckoff2-0/+44
Revert 97a21ca (git-p4: stop ignoring apple filetype, 2011-10-16) and add a test case. Reported-by: Michael Wookey <michaelwookey@gmail.com> Signed-off-by: Pete Wyckoff <pw@padd.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-05t/t7508-status.sh: use test_i18ncmpLibravatar Ævar Arnfjörð Bjarmason1-2/+2
Change a i18n-specific comparison in t/t7508-status.sh to use test_i18ncmp instead. This was introduced in v1.7.6.3~11^2 and has been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-05t/t6030-bisect-porcelain.sh: use test_i18ngrepLibravatar Ævar Arnfjörð Bjarmason1-1/+1
Change a i18n-specific grep in t/t6030-bisect-porcelain.sh to use test_i18ngrep instead. This was introduced in v1.7.7.2~5^2~11 and has been broken under GETTEXT_POISON=YesPlease since. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-04http: don't always prompt for passwordLibravatar Stefan Naewe1-4/+3
When a username is already specified at the beginning of any HTTP transaction (e.g. "git push https://user@hosting.example.com/project.git" or "git ls-remote https://user@hosting.example.com/project.git"), the code interactively asks for a password before calling into the libcurl library. It is very likely that the reason why user included the username in the URL is because the user knows that it would require authentication to access the resource. Asking for the password upfront would save one roundtrip to get a 401 response, getting the password and then retrying the request. This is a reasonable optimization. HOWEVER. This is done even when $HOME/.netrc might have a corresponding entry to access the site, or the site does not require authentication to access the resource after all. But neither condition can be determined until we call into libcurl library (we do not read and parse $HOME/.netrc ourselves). In these cases, the user is forced to respond to the password prompt, only to give a password that is not used in the HTTP transaction. If the password is in $HOME/.netrc, an empty input would later let the libcurl layer to pick up the password from there, and if the resource does not require authentication, any input would be taken and then discarded without getting used. It is wasteful to ask this unused information to the end user. Reduce the confusion by not trying to optimize for this case and always incur roundtrip penalty. An alternative might be to document this and keep this round-trip optimization as-is. Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com> Helped-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-03receive-pack: do not expect object 0{40} to existLibravatar Junio C Hamano1-6/+11
When pushing to delete a ref, it uses 0{40} as an object name to signal that the request is a deletion. We shouldn't trigger "deletion of a corrupt ref" warning in such a case, which was designed to notice that a ref points at an object that is truly missing from the repository. Reported-by: Stefan Näwe Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-02t3200: add test case for 'branch -m'Libravatar Stefan Naewe1-0/+5
Signed-off-by: Stefan Naewe <stefan.naewe@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-02branch -m: handle no arg properlyLibravatar Tay Ray Chuan1-5/+8
Modify the option parsing heuristic to handle all -m (rename) cases, including the no-arg case. Previously, this "fell through" to the (argc <= 2) case and caused segfault. Reported-by: Stefan Näwe <stefan.naewe@atlas-elektronik.com> Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-01Update draft release notes to 1.7.8Libravatar Junio C Hamano1-55/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-01Sync with 1.7.7.2Libravatar Junio C Hamano2-1/+45
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-01Git 1.7.7.2Libravatar Junio C Hamano2-1/+45
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-01Merge branch 'rs/maint-estimate-cache-size' into maintLibravatar Junio C Hamano1-1/+1
* rs/maint-estimate-cache-size: t7511: avoid use of reserved filename on Windows.
2011-11-01Merge branch 'md/smtp-tls-hello-again' into maintLibravatar Junio C Hamano1-1/+1
* md/smtp-tls-hello-again: send-email: Honour SMTP domain when using TLS
2011-11-01Merge branch 'jk/pull-rebase-with-work-tree' into maintLibravatar Junio C Hamano2-2/+2
* jk/pull-rebase-with-work-tree: pull,rebase: handle GIT_WORK_TREE better Conflicts: git-pull.sh
2011-11-01Merge branch 'jc/maint-diffstat-numstat-context' into maintLibravatar Junio C Hamano1-0/+2
* jc/maint-diffstat-numstat-context: diff: teach --stat/--numstat to honor -U$num
2011-11-01Merge branch 'js/bisect-no-checkout' into maintLibravatar Junio C Hamano1-1/+2
* js/bisect-no-checkout: bisect: fix exiting when checkout failed in bisect_start()
2011-11-01Merge branch 'bc/attr-ignore-case' into maintLibravatar Junio C Hamano11-36/+92
* bc/attr-ignore-case: attr.c: respect core.ignorecase when matching attribute patterns attr: read core.attributesfile from git_default_core_config builtin/mv.c: plug miniscule memory leak cleanup: use internal memory allocation wrapper functions everywhere attr.c: avoid inappropriate access to strbuf "buf" member Conflicts: remote.c
2011-11-01Merge branch 'cn/fetch-prune' into maintLibravatar Junio C Hamano5-55/+137
* cn/fetch-prune: fetch: treat --tags like refs/tags/*:refs/tags/* when pruning fetch: honor the user-provided refspecs when pruning refs remote: separate out the remote_find_tracking logic into query_refspecs t5510: add tests for fetch --prune fetch: free all the additional refspecs
2011-11-01Merge branch 'sp/smart-http-failure' into maintLibravatar Junio C Hamano1-1/+8
* sp/smart-http-failure: remote-curl: Fix warning after HTTP failure
2011-11-01Merge jn/maint-http-error-messageLibravatar Junio C Hamano1-2/+7
* commit 'be22d92eac809ad2bfa2b7c83ad7cad5a15f1c43': http: avoid empty error messages for some curl errors http: remove extra newline in error message
2011-11-01Merge branch 'jk/name-hash-dirent'Libravatar Junio C Hamano1-1/+1
* jk/name-hash-dirent: name-hash.c: always initialize dir_next pointer
2011-11-01name-hash.c: always initialize dir_next pointerLibravatar Johannes Sixt1-1/+1
Test t2021-checkout-overwrite.sh reveals a segfault in 'git add' on a case-insensitive file system when git is compiled with XMALLOC_POISON defined. The reason is that 2548183b (fix phantom untracked files when core.ignorecase is set) added a new member dir_next to struct cache_entry, but forgot to initialize it in all cases. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2011-11-01Merge branch 'ss/blame-textconv-fake-working-tree'Libravatar Junio C Hamano2-1/+14
* ss/blame-textconv-fake-working-tree: (squash) test for previous blame.c: Properly initialize strbuf after calling, textconv_object() Conflicts: t/t8006-blame-textconv.sh
2011-11-01Merge branch 'ef/mingw-upload-archive'Libravatar Junio C Hamano7-64/+49
* ef/mingw-upload-archive: mingw: poll.h is no longer in sys/ upload-archive: use start_command instead of fork compat/win32/poll.c: upgrade from upstream mingw: move poll out of sys-folder