summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-09-11Merge branch 'jk/check-docs-update' into maintLibravatar Junio C Hamano6-29/+18
* jk/check-docs-update: check-docs: get documented command list from Makefile check-docs: drop git-help special-case check-docs: list git-gui as a command check-docs: factor out command-list command-list: mention git-credential-* helpers command-list: add git-sh-i18n check-docs: update non-command documentation list check-docs: mention gitweb specially
2012-09-11Merge branch 'jc/test-prereq' into maintLibravatar Junio C Hamano6-205/+233
* jc/test-prereq: t3910: use the UTF8_NFD_TO_NFC test prereq test-lib: provide UTF8 behaviour as a prerequisite t0050: use the SYMLINKS test prereq t0050: use the CASE_INSENSITIVE_FS test prereq test-lib: provide case insensitivity as a prerequisite test: allow prerequisite to be evaluated lazily test: rename $satisfied to $satisfied_prereq
2012-09-10Start preparing for 1.7.12.1Libravatar Junio C Hamano2-1/+63
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-09-10Merge branch 'bc/prune-info' into maintLibravatar Junio C Hamano1-1/+2
"git prune" without "-v" used to warn about leftover temporary files (which is an indication of an earlier aborted operation). * bc/prune-info: prune.c: only print informational message in show_only or verbose mode
2012-09-10Merge branch 'maint-1.7.11' into maintLibravatar Junio C Hamano27-43/+288
* maint-1.7.11: Almost 1.7.11.6 gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO rebase -i: use full onto sha1 in reflog sh-setup: protect from exported IFS receive-pack: do not leak output from auto-gc to standard output t/t5400: demonstrate breakage caused by informational message from prune setup: clarify error messages for file/revisions ambiguity send-email: improve RFC2047 quote parsing fsck: detect null sha1 in tree entries do not write null sha1s to on-disk index diff: do not use null sha1 as a sentinel value
2012-09-10Almost 1.7.11.6Libravatar Junio C Hamano1-1/+29
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-09-10Merge branch 'mg/rebase-i-onto-reflog-in-full' into maint-1.7.11Libravatar Junio C Hamano1-2/+1
The reflog entries left by "git rebase" and "git rebase -i" were inconsistent (the interactive one gave an abbreviated object name). * mg/rebase-i-onto-reflog-in-full: rebase -i: use full onto sha1 in reflog
2012-09-10Merge branch 'jc/maint-protect-sh-from-ifs' into maint-1.7.11Libravatar Junio C Hamano1-0/+4
When the user exports a non-default IFS without HT, scripts that rely on being able to parse "ls-files -s | while read a b c..." start to fail. Protect them from such a misconfiguration. * jc/maint-protect-sh-from-ifs: sh-setup: protect from exported IFS
2012-09-10Merge branch 'bc/receive-pack-stdout-protection' into maint-1.7.11Libravatar Junio C Hamano2-1/+37
When "git push" triggered the automatic gc on the receiving end, a message from "git prune" that said it was removing cruft leaked to the standard output, breaking the communication protocol. * bc/receive-pack-stdout-protection: receive-pack: do not leak output from auto-gc to standard output t/t5400: demonstrate breakage caused by informational message from prune
2012-09-10Merge branch 'jk/maint-null-in-trees' into maint-1.7.11Libravatar Junio C Hamano18-32/+188
"git diff" had a confusion between taking data from a path in the working tree and taking data from an object that happens to have name 0{40} recorded in a tree. * jk/maint-null-in-trees: fsck: detect null sha1 in tree entries do not write null sha1s to on-disk index diff: do not use null sha1 as a sentinel value
2012-09-10Merge branch 'tr/maint-send-email-2047' into maint-1.7.11Libravatar Junio C Hamano2-4/+19
"git send-email" did not unquote encoded words that appear on the header correctly, and lost "_" from strings. * tr/maint-send-email-2047: send-email: improve RFC2047 quote parsing
2012-09-10Merge branch 'mm/die-with-dashdash-help' into maint-1.7.11Libravatar Junio C Hamano1-3/+5
When the user gives an argument that can be taken as both a revision name and a pathname without disambiguating with "--", we used to give a help message "Use '--' to separate". The message has been clarified to show where that '--' goes on the command line. * mm/die-with-dashdash-help: setup: clarify error messages for file/revisions ambiguity
2012-09-10Merge branch 'js/gitweb-path-info-unquote' into maint-1.7.11Libravatar Junio C Hamano1-0/+5
"gitweb" when used with PATH_INFO failed to notice directories with SP (and other characters that need URL-style quoting) in them. * js/gitweb-path-info-unquote: gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFO
2012-08-24Merge branch 'maint-1.7.11' into maintLibravatar Junio C Hamano19-48/+231
* maint-1.7.11: Prepare for 1.7.11.6 Make the ciabot scripts completely self-configuring in the normal case. Improved documentation for the ciabot scripts. man: git pull -r is a short for --rebase gitcli: describe abbreviation of long options rev-list docs: clarify --topo-order description Documentation/CodingGuidelines: spell out more shell guidelines Documentation: do not mention .git/refs/* directories tests: Introduce test_seq
2012-08-24Prepare for 1.7.11.6Libravatar Junio C Hamano2-1/+35
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-24Merge branch 'mv/pull-r-for-rebase' into maint-1.7.11Libravatar Junio C Hamano1-0/+1
A minor documentation update. * mv/pull-r-for-rebase: man: git pull -r is a short for --rebase
2012-08-24Merge branch 'jc/maint-abbrev-option-cli' into maint-1.7.11Libravatar Junio C Hamano1-0/+8
We did not document that many commands take unique prefix abbreviations of long options (e.g. "--option" may be the only flag that the command accepts that begin with "--opt", in which case you can give "--opt") anywhere easy to find for new people. * jc/maint-abbrev-option-cli: gitcli: describe abbreviation of long options
2012-08-24Merge branch 'jc/maint-rev-list-topo-doc' into maint-1.7.11Libravatar Junio C Hamano1-7/+24
It was unclear what "--topo-order" was really about in the documentation. It is not just about "children before parent", but also about "don't mix lineages". * jc/maint-rev-list-topo-doc: rev-list docs: clarify --topo-order description
2012-08-24Merge branch 'hv/coding-guidelines' into maint-1.7.11Libravatar Junio C Hamano1-0/+8
In earlier days, "imitate the style in the neibouring code" was sufficient to keep the coherent style, but over time some parts of the codebase have drifted enough to make it ineffective. * hv/coding-guidelines: Documentation/CodingGuidelines: spell out more shell guidelines
2012-08-24Merge branch 'jc/tag-doc' into maint-1.7.11Libravatar Junio C Hamano7-16/+27
Our documentation used to assume having files in .git/refs/* directories was the only to have branches and tags, but that is not true for quite some time. * jc/tag-doc: Documentation: do not mention .git/refs/* directories
2012-08-24Merge branch 'mk/test-seq' into maint-1.7.11Libravatar Junio C Hamano3-2/+23
Add a compatibility/utility function to the test framework. * mk/test-seq: tests: Introduce test_seq
2012-08-24Merge branch 'lp/no-cmd-http-fetch' into maint-1.7.11Libravatar Junio C Hamano1-3/+0
* lp/no-cmd-http-fetch: builtin.h: remove unused cmd_<foo> declarations
2012-08-24Merge branch 'bw/maint-1.7.9-solaris-getpass' into maint-1.7.11Libravatar Junio C Hamano2-0/+2
* bw/maint-1.7.9-solaris-getpass: Enable HAVE_DEV_TTY for Solaris terminal: seek when switching between reading and writing
2012-08-24Merge branch 'jk/maint-commit-check-committer-early' into maint-1.7.11Libravatar Junio C Hamano1-1/+1
* jk/maint-commit-check-committer-early: commit: check committer identity more strictly
2012-08-23Make the ciabot scripts completely self-configuring in the normal case.Libravatar Eric S. Raymond4-37/+72
Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-23Improved documentation for the ciabot scripts.Libravatar Eric S. Raymond2-2/+50
Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-22t3910: use the UTF8_NFD_TO_NFC test prereqLibravatar Michael J Gruber1-146/+135
Besides reusing the new test prerequisite, this fixes also the issue that the current output is not TAP compliant and produces the output "no reason given" [for skipping]. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-22Merge branch 'maint-1.7.11' into maintLibravatar Junio C Hamano2-118/+156
* maint-1.7.11: contrib/ciabot: Get ciabot configuration from git variables
2012-08-22contrib/ciabot: Get ciabot configuration from git variablesLibravatar Eric S. Raymond2-118/+156
These changes remove all need to modify the ciabot scripts for installation. Instead, per-project configuration can be dome via variables in a [ciabot] section of the config file. Also, correct for the new server address. Signed-off-by: Eric S. Raymond <esr@thyrsus.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-19Git 1.7.12Libravatar Junio C Hamano2-1/+6
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-17Merge branch 'jc/doc-git-updates' (early part)Libravatar Junio C Hamano1-1/+1
* 'jc/doc-git-updates' (early part): Documentation: update URL for formatted pages
2012-08-17Documentation: update URL for formatted pagesLibravatar Junio C Hamano1-1/+1
The one at kernel.org has not been updated for quite a while and can no longer be called "the latest". Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-17man: git pull -r is a short for --rebaseLibravatar Miklos Vajna1-0/+1
Letting the "--rebase" option squat on the short-and-sweet single letter option "-r" was an unintended accident and was not even documented, but the short option seems to be already used in the wild. Let's document it so that other options that begin with "r" would not be tempted to steal it. Signed-off-by: Miklos Vajna <vmiklos@suse.cz> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-16gitcli: describe abbreviation of long optionsLibravatar Junio C Hamano1-0/+8
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-16Merge git://github.com/git-l10n/git-po to update Swedish translationLibravatar Junio C Hamano1-6/+6
* git://github.com/git-l10n/git-po: l10n: Fixes to Swedish translation
2012-08-16l10n: Fixes to Swedish translationLibravatar Peter Krefting1-6/+6
Tersify texts overflowing an 80-character terminal. Fix spelling mistakes. Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-08-15Git 1.7.12-rc3Libravatar Junio C Hamano2-11/+2
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-15Sync with 1.7.11.5Libravatar Junio C Hamano2-1/+10
2012-08-15Git 1.7.11.5Libravatar Junio C Hamano3-2/+11
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-15Merge branch 'rj/maint-grep-remove-redundant-test' into maintLibravatar Junio C Hamano1-11/+0
* rj/maint-grep-remove-redundant-test: t7810-*.sh: Remove redundant test
2012-08-15Merge branch 'hv/link-alt-odb-entry' into maintLibravatar Junio C Hamano1-1/+1
* hv/link-alt-odb-entry: link_alt_odb_entry: fix read over array bounds reported by valgrind
2012-08-15rev-list docs: clarify --topo-order descriptionLibravatar Junio C Hamano1-7/+24
It was unclear what "--topo-order" was really about in the documentation. It is not just about "children before parent", but also about "don't mix lineages". Reword the description for both "--date-order" and "--topo-order", and add an illustration to it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-15gitweb: URL-decode $my_url/$my_uri when stripping PATH_INFOLibravatar Jay Soffian1-0/+5
When gitweb is used as a DirectoryIndex, it attempts to strip PATH_INFO on its own, as $cgi->url() fails to do so. However, it fails to account for the fact that PATH_INFO has already been URL-decoded by the web server, but the value returned by $cgi->url() has not been. This causes the stripping to fail whenever the URL contains encoded characters. To see this in action, setup gitweb as a DirectoryIndex and then use it on a repository with a directory containing a space in the name. Navigate to tree view, examine the gitweb generated html and you'll see a link such as: <a href="/test.git/tree/HEAD:/directory with spaces">directory with spaces</a> When clicked on, the browser will URL-encode this link, giving a $cgi->url() of the form: /test.git/tree/HEAD:/directory%20with%20spaces While PATH_INFO is: /test.git/tree/HEAD:/directory with spaces Fix this by calling unescape() on both $my_url and $my_uri before stripping PATH_INFO from them. Signed-off-by: Jay Soffian <jaysoffian@gmail.com> Acked-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-15Documentation/CodingGuidelines: spell out more shell guidelinesLibravatar Heiko Voigt1-0/+8
In earlier days, "imitate the style in the neibouring code" was sufficient to keep the coherent style, but over time some parts of the codebase have drifted enough to make it ineffective. Spell some of the guidelines out. Signed-off-by: Heiko Voigt <hvoigt@hvoigt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-10git svn: reset invalidates the memoized mergeinfo cachesLibravatar Peter Baumann2-2/+103
Since v1.7.0-rc2~11 (git-svn: persistent memoization, 2010-01-30), git-svn has maintained some private per-repository caches in .git/svn/.caches to avoid refetching and recalculating some mergeinfo-related information with every 'git svn fetch'. This memoization can cause problems, e.g consider the following case: SVN repo: ... - a - b - c - m <- trunk \ / d - e <- branch1 The Git import of the above repo is at commit 'a' and doesn't know about the branch1. In case of an 'git svn rebase', only the trunk of the SVN repo is imported. During the creation of the git commit 'm', git svn uses the svn:mergeinfo property and tries to find the corresponding git commit 'e' to create 'm' with 'c' and 'e' as parents. But git svn rebase only imports the current branch so commit 'e' is not imported. Therefore git svn fails to create commit 'm' as a merge commit, because one of its parents is not known to git. The imported history looks like this: ... - a - b - c - m <- trunk A later 'git svn fetch' to import all branches can't rewrite the commit 'm' to add 'e' as a parent and to make it a real git merge commit, because it was already imported. That's why the imported history misses the merge and looks like this: ... - a - b - c - m <- trunk \ d - e <- branch1 Right now the only known workaround for importing 'm' as a merge is to force reimporting 'm' again from SVN, e.g. via $ git svn reset --revision $(git find-rev $c) $ git svn fetch Sadly, this is where the behavior has regressed: git svn reset doesn't invalidate the old mergeinfo cache, which is no longer valid for the reimport, which leads to 'm' beeing imprted with only 'c' as parent. As solution to this problem, this commit invalidates the mergeinfo cache to force correct recalculation of the parents. During development of this patch, several ways for invalidating the cache where considered. One of them is to use Memoize::flush_cache, which will call the CLEAR method on the underlying Memoize persistency implementation. Sadly, neither Memoize::Storable nor the newer Memoize::YAML module introduced in 68f532f4ba888 could optionally be used implement the CLEAR method, so this is not an option. Reseting the internal hash used to store the memoized values has the same problem, because it calls the non-existing CLEAR method of the underlying persistency layer, too. Considering this and taking into account the different implementations of the memoization modules, where Memoize::Storable is not in our control, implementing the missing CLEAR method is not an option, at least not if Memoize::Storable is still used. Therefore the easiest solution to clear the cache is to delete the files on disk in 'git svn reset'. Normally, deleting the files behind the back of the memoization module would be problematic, because the in-memory representation would still exist and contain wrong data. Fortunately, the memoization is active in memory only for a small portion of the code. Invalidating the cache by deleting the files on disk if it isn't active should be safe. Signed-off-by: Peter Baumann <waste.manager@gmx.de> Signed-off-by: Steven Walter <stevenrwalter@gmail.com> Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-08-10git svn: handle errors and concurrent commits in dcommitLibravatar Robert Luberda2-19/+271
dcommit didn't handle errors returned by SVN and coped very poorly with concurrent commits that appear in SVN repository while dcommit was running. In both cases it left git repository in inconsistent state: index (which was reset with `git reset --mixed' after a successful commit to SVN) no longer matched the checkouted tree, when the following commit failed or needed to be rebased. See http://bugs.debian.org/676904 for examples. This patch fixes the issues by: - introducing error handler for dcommit. The handler will try to rebase or reset working tree before returning error to the end user. dcommit_rebase function was extracted out of cmd_dcommit to ensure consistency between cmd_dcommit and the error handler. - calling `git reset --mixed' only once after all patches are successfully committed to SVN. This ensures index is not touched for most of the time of dcommit run. Signed-off-by: Eric Wong <normalperson@yhbt.net>
2012-08-10rebase -i: use full onto sha1 in reflogLibravatar Michael J Gruber1-2/+1
'git rebase' uses the full onto sha1 for the reflog message whereas 'git rebase -i' uses the short sha1. This is not only inconsistent, but can lead to problems when the reflog is inspected at a later time at which that abbreviation may have become ambiguous. Make 'rebase -i' use the full onto sha1, as well. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
2012-08-09Merge git://github.com/git-l10n/git-poLibravatar Junio C Hamano5-580/+1375
L10n updates for 1.7.12-rc2 * 'master' of git://github.com/git-l10n/git-po: l10n: Update Swedish translation (1168t0f0u) l10n: de.po: translate 77 new messages l10n: vi.po: update one message l10n: zh_CN.po: update one translation l10n: Update one message in git.pot
2012-08-09l10n: Update Swedish translation (1168t0f0u)Libravatar Peter Krefting1-510/+903
Signed-off-by: Peter Krefting <peter@softwolves.pp.se>
2012-08-08Merge branch 'bw/maint-1.7.9-solaris-getpass'Libravatar Junio C Hamano2-0/+2
The recent update to terminal I/O interface to get passwords &c interactively didn't quite work on Solaris. * bw/maint-1.7.9-solaris-getpass: Enable HAVE_DEV_TTY for Solaris terminal: seek when switching between reading and writing