{"thread":{"id":"13900","subject":"[PATCH User manual-Added advice on proxies and autocrlf]","startedAt":"2008-06-11T19:48:47Z","lastAt":"2008-06-11T19:58:32Z","messageCount":2,"participants":["John Yesberg","J. Bruce Fields"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"79487","messageId":"1033a22d0806111248l5184cf1at3c3130262d8fd0a0@mail.gmail.com","threadId":"13900","inReplyTo":null,"subject":"[PATCH User manual-Added advice on proxies and autocrlf]","fromName":"John Yesberg","fromEmail":"john.yesberg@gmail.com","sentAt":"2008-06-11T19:48:47Z","receivedAt":"2008-06-11T19:48:47Z","isPatch":true,"sender":{"key":"john.yesberg@gmail.com","avatar":null},"body":"---\n Documentation/user-manual.txt |   23 +++++++++++++++++++++++\n 1 files changed, 23 insertions(+), 0 deletions(-)\n\ndiff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\nindex bfde507..02b1be0 100644\n--- a/Documentation/user-manual.txt\n+++ b/Documentation/user-manual.txt\n@@ -56,6 +56,16 @@ $ git clone\ngit://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n The initial clone may be time-consuming for a large project, but you\n will only need to clone once.\n\n+If there is a proxy between you and the repository you want to clone, you\n+may not be able to use the git protocol. But you can use the http protocol, by\n+configuring the proxy. Note that the address to access the repository via http\n+may be different from the git address:\n+\n+------------------------------------------------\n+$ export http_proxy=http://theproxy.example.com:8080\n+$ git clone http://www.kernel.org/pub/scm/git/git.git\n+------------------------------------------------\n+\n The clone command creates a new directory named after the project (\"git\"\n or \"linux-2.6\" in the examples above).  After you cd into this\n directory, you will see that it contains a copy of the project files,\n@@ -129,6 +139,19 @@ $ git branch\n * new\n ------------------------------------------------\n\n+It is possible, particularly on Windows platforms, that as you checkout\n+the original version, it will in fact be modified, by the autocrlf process.\n+(Windows and Unix store newlines as CRLF and LF respectively, and autocrlf\n+tries to adapt intelligently.) If the checked out version is modified, then\n+trying to switch to a new branch will not work, because then the uncommitted\n+changes would be lost. So you may need to add the +-f+ flag to _force_ these\n+changes to be thrown away. Another option might be to edit +~/.gitconfig+ or\n+use the following command to disable the autocrlf function.\n+\n+------------------------------------------------\n++git config --global core.autocrlf false\n+------------------------------------------------\n+\n If you decide that you'd rather see version 2.6.17, you can modify\n the current branch to point at v2.6.17 instead, with\n\n-- \n1.5.5.1015.g9d258\n"},{"id":"79489","messageId":"20080611195832.GQ15380@fieldses.org","threadId":"13900","inReplyTo":"1033a22d0806111248l5184cf1at3c3130262d8fd0a0@mail.gmail.com","subject":"Re: [PATCH User manual-Added advice on proxies and autocrlf]","fromName":"J. Bruce Fields","fromEmail":"bfields@fieldses.org","sentAt":"2008-06-11T19:58:32Z","receivedAt":"2008-06-11T19:58:32Z","isPatch":true,"sender":{"key":"bfields@citi.umich.edu","avatar":null},"body":"On Wed, Jun 11, 2008 at 08:48:47PM +0100, John Yesberg wrote:\n> ---\n>  Documentation/user-manual.txt |   23 +++++++++++++++++++++++\n>  1 files changed, 23 insertions(+), 0 deletions(-)\n\nThanks!\n\n> \n> diff --git a/Documentation/user-manual.txt b/Documentation/user-manual.txt\n> index bfde507..02b1be0 100644\n> --- a/Documentation/user-manual.txt\n> +++ b/Documentation/user-manual.txt\n> @@ -56,6 +56,16 @@ $ git clone\n> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git\n>  The initial clone may be time-consuming for a large project, but you\n>  will only need to clone once.\n> \n> +If there is a proxy between you and the repository you want to clone, you\n> +may not be able to use the git protocol. But you can use the http protocol, by\n> +configuring the proxy. Note that the address to access the repository via http\n> +may be different from the git address:\n> +\n> +------------------------------------------------\n> +$ export http_proxy=http://theproxy.example.com:8080\n> +$ git clone http://www.kernel.org/pub/scm/git/git.git\n> +------------------------------------------------\n> +\n\nEspecially this early in the manual, I really want to keep the text\nshort--we need to get to the basics as quickly as possible--even if that\nmeans leaving out some corner cases.\n\nWhat actually happens when you run across this case as a user?  Are\nthere any improvements to the error reporting from \"clone\" that would\nlead the user to the right solution without needing to deal with this\ncase here?\n\n>  The clone command creates a new directory named after the project (\"git\"\n>  or \"linux-2.6\" in the examples above).  After you cd into this\n>  directory, you will see that it contains a copy of the project files,\n> @@ -129,6 +139,19 @@ $ git branch\n>  * new\n>  ------------------------------------------------\n> \n> +It is possible, particularly on Windows platforms, that as you checkout\n> +the original version, it will in fact be modified, by the autocrlf process.\n> +(Windows and Unix store newlines as CRLF and LF respectively, and autocrlf\n> +tries to adapt intelligently.) If the checked out version is modified, then\n> +trying to switch to a new branch will not work, because then the uncommitted\n> +changes would be lost. So you may need to add the +-f+ flag to _force_ these\n> +changes to be thrown away. Another option might be to edit +~/.gitconfig+ or\n> +use the following command to disable the autocrlf function.\n> +\n> +------------------------------------------------\n> ++git config --global core.autocrlf false\n> +------------------------------------------------\n> +\n\nAgain, I'd rather not deal with this case in the main text; if we\nabsolutely need to, a quick reference to the appropriate documentation\n(\"note: if you see an error like XXX, see the XXX man page...\") might be\nthe thing to do.\n\n--b.\n\n>  If you decide that you'd rather see version 2.6.17, you can modify\n>  the current branch to point at v2.6.17 instead, with\n> \n> -- \n> 1.5.5.1015.g9d258\n"}]}