summaryrefslogtreecommitdiffstats
path: root/Documentation/git.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* doc: more consistency in environment variables formatTom Russello2016-06-081-1/+1
| | | | | | | | | | | | | | | | | | | Wrap with backticks (monospaced font) unwrapped or single-quotes wrapped (italic type) environment variables which are followed by the word "environment". It was obtained with: perl -pi -e "s/\'?(\\\$?[0-9A-Z\_]+)\'?(?= environment ?)/\`\1\`/g" *.txt One of the main purposes is to stick to the CodingGuidelines as possible so that people writting new documentation by mimicking the existing are more likely to have it right (even if they didn't read the CodingGuidelines). Signed-off-by: Tom Russello <tom.russello@grenoble-inp.org> Signed-off-by: Erwan Mathoniere <erwan.mathoniere@grenoble-inp.org> Signed-off-by: Samuel Groot <samuel.groot@grenoble-inp.org> Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr> Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* doc: change environment variables formatTom Russello2016-06-081-60/+60
| | | | | | | | | | | | | | | | | | This change GIT_* variables that where in italic style to monospaced font according to the guideline. It was obtained with perl -pi -e "s/\'(GIT_.*?)\'/\`\1\`/g" *.txt One of the main purposes is to stick to the CodingGuidelines as possible so that people writting new documentation by mimicking the existing are more likely to have it right (even if they didn't read the CodingGuidelines). Signed-off-by: Tom Russello <tom.russello@grenoble-inp.org> Signed-off-by: Erwan Mathoniere <erwan.mathoniere@grenoble-inp.org> Signed-off-by: Samuel Groot <samuel.groot@grenoble-inp.org> Signed-off-by: Matthieu Moy <matthieu.moy@grenoble-inp.fr> Reviewed-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.8.4v2.8.4Junio C Hamano2016-06-061-1/+2
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.8.3v2.8.3Junio C Hamano2016-05-191-3/+4
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.8.2v2.8.2Junio C Hamano2016-04-291-1/+2
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.8.1v2.8.1Junio C Hamano2016-04-031-1/+2
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Git 2.8v2.8.0Junio C Hamano2016-03-281-0/+5
| | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* Revert "Merge branch 'nd/exclusion-regression-fix'"Junio C Hamano2016-03-181-5/+0
| | | | | | | | This reverts commit 5e57f9c3dfe7dd44a1b56bb5b3327d7a1356ec7c, reversing changes made to e79112d21024beb997951381db21a70b087d459d. We will be postponing nd/exclusion-regression-fix topic to later cycle.
* Sync with Git 2.7.4Junio C Hamano2016-03-171-3/+6
|\ | | | | | | | | | | | | | | * maint: Git 2.7.4 Git 2.6.6 Git 2.5.5 Git 2.4.11
| * Sync with Git 2.6.6Junio C Hamano2016-03-171-3/+6
| |\ | | | | | | | | | | | | | | | | | | * maint-2.6: Git 2.6.6 Git 2.5.5 Git 2.4.11
| | * Git 2.6.6v2.6.6Junio C Hamano2016-03-171-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | * Merge branch 'maint-2.5' into maint-2.6Junio C Hamano2016-03-171-2/+4
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-2.5: Git 2.5.5 Git 2.4.11 list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
| | | * Git 2.5.5v2.5.5Junio C Hamano2016-03-171-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | | * Merge branch 'maint-2.4' into maint-2.5Junio C Hamano2016-03-171-1/+2
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint-2.4: Git 2.4.11 list-objects: pass full pathname to callbacks list-objects: drop name_path entirely list-objects: convert name_path to a strbuf show_object_with_name: simplify by using path_name() http-push: stop using name_path tree-diff: catch integer overflow in combine_diff_path allocation add helpers for detecting size_t overflow
| | | | * Git 2.4.11v2.4.11Junio C Hamano2016-03-171-1/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Merge branch 'cn/deprecate-ssh-git-url'Junio C Hamano2016-03-161-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two alternative ways to spell "ssh://" transport have been deprecated for a long time. The last mention of them has finally removed from the documentation. * cn/deprecate-ssh-git-url: Disown ssh+git and git+ssh
| * | | | | Disown ssh+git and git+sshCarlos Martín Nieto2016-03-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some people argue that these were silly from the beginning (see http://thread.gmane.org/gmane.comp.version-control.git/285590/focus=285601 for example), but we have to support them for compatibility. That doesn't mean we have to show them in the documentation. These were already left out of the main list, but a reference in the main manpage was left, so remove that. Also add a note to discourage their use if anybody goes looking for them in the source code. Signed-off-by: Carlos Martín Nieto <cmn@dwim.me> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | Sync with 2.7.3Junio C Hamano2016-03-101-1/+2
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Git 2.7.3v2.7.3Junio C Hamano2016-03-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | Merge branch 'nd/exclusion-regression-fix'Junio C Hamano2016-02-241-0/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Another try to add support to the ignore mechanism that lets you say "this is excluded" and then later say "oh, no, this part (that is a subset of the previous part) is not excluded". * nd/exclusion-regression-fix: dir.c: don't exclude whole dir prematurely dir.c: support marking some patterns already matched dir.c: support tracing exclude dir.c: fix match_pathname()
| * | | | | | dir.c: support tracing excludeNguyễn Thái Ngọc Duy2016-02-161-0/+5
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | | Sync with 2.7.2Junio C Hamano2016-02-221-1/+2
|\ \ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Git 2.7.2v2.7.2Junio C Hamano2016-02-221-1/+2
| |/ / / / | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Merge branch 'jk/drop-rsync-transport'Junio C Hamano2016-02-171-2/+0
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out "git clone" over rsync transport has been broken when the source repository has packed references for a long time, and nobody noticed nor complained about it. * jk/drop-rsync-transport: transport: drop support for git-over-rsync
| * | | | transport: drop support for git-over-rsyncJeff King2016-02-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The git-over-rsync protocol is inefficient and broken, and has been for a long time. It transfers way more objects than it needs (grabbing all of the remote's "objects/", regardless of which objects we need). It does its own ad-hoc parsing of loose and packed refs from the remote, but doesn't properly override packed refs with loose ones, leading to garbage results (e.g., expecting the other side to have an object pointed to by a stale packed-refs entry, or complaining that the other side has two copies of the refs[1]). This latter breakage means that nobody could have successfully pulled from a moderately active repository since cd547b4 (fetch/push: readd rsync support, 2007-10-01). We never made an official deprecation notice in the release notes for git's rsync protocol, but the tutorial has marked it as such since 914328a (Update tutorial., 2005-08-30). And on the mailing list as far back as Oct 2005, we can find Junio mentioning it as having "been deprecated for quite some time."[2,3,4]. So it was old news then; cogito had deprecated the transport in July of 2005[5] (though it did come back briefly when Linus broke git-http-pull!). Of course some people professed their love of rsync through 2006, but Linus clarified in his usual gentle manner[6]: > Thanks! This is why I still use rsync, even though > everybody and their mother tells me "Linus says rsync is > deprecated." No. You're using rsync because you're actively doing something _wrong_. The deprecation sentiment was reinforced in 2008, with a mention that cloning via rsync is broken (with no fix)[7]. Even the commit porting rsync over to C from shell (cd547b4) lists it as deprecated! So between the 10 years of informal warnings, and the fact that it has been severely broken since 2007, it's probably safe to simply remove it without further deprecation warnings. [1] http://article.gmane.org/gmane.comp.version-control.git/285101 [2] http://article.gmane.org/gmane.comp.version-control.git/10093 [3] http://article.gmane.org/gmane.comp.version-control.git/17734 [4] http://article.gmane.org/gmane.comp.version-control.git/18911 [5] http://article.gmane.org/gmane.comp.version-control.git/5617 [6] http://article.gmane.org/gmane.comp.version-control.git/19354 [7] http://article.gmane.org/gmane.comp.version-control.git/103635 Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | | Git 2.7.1v2.7.1Junio C Hamano2016-02-051-1/+2
|/ / / / | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* / / / Git 2.7v2.7.0Junio C Hamano2016-01-041-0/+5
|/ / / | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Git 2.6.5v2.6.5Junio C Hamano2016-01-041-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Git 2.6.4v2.6.4Junio C Hamano2015-12-081-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Documentation: make environment variable formatting more consistentАндрей Рыбак2015-11-111-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Documentation/git.txt is not consistent in the way it stylizes mentions of Environment Variables. Most of them are enclosed in single quotes, some are enclosed in backticks, some are not enclosed. Signed-off-by: Andrey Rybak <rybak.a.v@gmail.com> Signed-off-by: Jeff King <peff@peff.net>
* | | Git 2.6.3v2.6.3Junio C Hamano2015-11-051-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Git 2.6.2v2.6.2Junio C Hamano2015-10-161-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Git 2.6.1v2.6.1Junio C Hamano2015-09-291-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | Sync with v2.5.4Junio C Hamano2015-09-291-3/+33
|\| |
| * | Git 2.5.4v2.5.4Junio C Hamano2015-09-291-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | Sync with 2.4.10Junio C Hamano2015-09-291-2/+31
| |\|
| | * Git 2.4.10v2.4.10Junio C Hamano2015-09-291-1/+2
| | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | * Sync with 2.3.10Junio C Hamano2015-09-291-1/+29
| | |\
| | | * Git 2.3.10v2.3.10Junio C Hamano2015-09-291-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | | * http: limit redirection to protocol-whitelistBlake Burkhart2015-09-261-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, libcurl would follow redirection to any protocol it was compiled for support with. This is desirable to allow redirection from HTTP to HTTPS. However, it would even successfully allow redirection from HTTP to SFTP, a protocol that git does not otherwise support at all. Furthermore git's new protocol-whitelisting could be bypassed by following a redirect within the remote helper, as it was only enforced at transport selection time. This patch limits redirects within libcurl to HTTP, HTTPS, FTP and FTPS. If there is a protocol-whitelist present, this list is limited to those also allowed by the whitelist. As redirection happens from within libcurl, it is impossible for an HTTP redirect to a protocol implemented within another remote helper. When the curl version git was compiled with is too old to support restrictions on protocol redirection, we warn the user if GIT_ALLOW_PROTOCOL restrictions were requested. This is a little inaccurate, as even without that variable in the environment, we would still restrict SFTP, etc, and we do not warn in that case. But anything else means we would literally warn every time git accesses an http remote. This commit includes a test, but it is not as robust as we would hope. It redirects an http request to ftp, and checks that curl complained about the protocol, which means that we are relying on curl's specific error message to know what happened. Ideally we would redirect to a working ftp server and confirm that we can clone without protocol restrictions, and not with them. But we do not have a portable way of providing an ftp server, nor any other protocol that curl supports (https is the closest, but we would have to deal with certificates). [jk: added test and version warning] Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | | * transport: add a protocol-whitelist environment variableJeff King2015-09-231-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we are cloning an untrusted remote repository into a sandbox, we may also want to fetch remote submodules in order to get the complete view as intended by the other side. However, that opens us up to attacks where a malicious user gets us to clone something they would not otherwise have access to (this is not necessarily a problem by itself, but we may then act on the cloned contents in a way that exposes them to the attacker). Ideally such a setup would sandbox git entirely away from high-value items, but this is not always practical or easy to set up (e.g., OS network controls may block multiple protocols, and we would want to enable some but not others). We can help this case by providing a way to restrict particular protocols. We use a whitelist in the environment. This is more annoying to set up than a blacklist, but defaults to safety if the set of protocols git supports grows). If no whitelist is specified, we continue to default to allowing all protocols (this is an "unsafe" default, but since the minority of users will want this sandboxing effect, it is the only sensible one). A note on the tests: ideally these would all be in a single test file, but the git-daemon and httpd test infrastructure is an all-or-nothing proposition rather than a test-by-test prerequisite. By putting them all together, we would be unable to test the file-local code on machines without apache. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Git 2.6v2.6.0Junio C Hamano2015-09-281-0/+5
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Sync with 2.5.3Junio C Hamano2015-09-171-1/+2
|\| | | | | | | | | | | | | | | | | | | * maint: Git 2.5.3
| * | | Git 2.5.3v2.5.3Junio C Hamano2015-09-171-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
* | | | Sync with 2.5.2Junio C Hamano2015-09-091-4/+8
|\| | |
| * | | Git 2.5.2v2.5.2Junio C Hamano2015-09-041-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| * | | Sync with 2.4.9Junio C Hamano2015-09-041-3/+6
| |\| |
| | * | Git 2.4.9v2.4.9Junio C Hamano2015-09-041-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>
| | * | Sync with 2.3.9Junio C Hamano2015-09-041-2/+4
| | |\|
| | | * Git 2.3.9v2.3.9Junio C Hamano2015-09-041-1/+2
| | | | | | | | | | | | | | | | Signed-off-by: Junio C Hamano <gitster@pobox.com>