{"thread":{"id":"61673","subject":"[PATCH] doc: update http.cookieFile with in-memory cookie processing","startedAt":"2024-06-23T21:24:10Z","lastAt":"2024-07-11T16:05:48Z","messageCount":7,"participants":["Piotr Szlazak via GitGitGadget","Piotr Szlazak","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"497550","messageId":"pull.1733.git.git.1719177846725.gitgitgadget@gmail.com","threadId":"61673","inReplyTo":null,"subject":"[PATCH] doc: update http.cookieFile with in-memory cookie processing","fromName":"Piotr Szlazak via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-06-23T21:24:06Z","receivedAt":"2024-06-23T21:24:10Z","isPatch":true,"sender":{"key":"piotr.szlazak@gmail.com","avatar":"https://avatars.githubusercontent.com/u/11884243?v=4"},"body":"From: Piotr Szlazak <piotr.szlazak@gmail.com>\n\nInformation added how to enable in-memory cookies\nprocessing. Cookies from server will be accepted and send\nback in successive requests within same connection.\n\nAt the moment documentation only mentions how to read\ncookies from the given file and how to save them to the file\nusing http.saveCookies.\n\ncurl / libcurl will process cookies in memory if file name\nis blank. Check curl manpage:\nhttps://curl.se/docs/manpage.html#-b\nThis is described here in more details:\nhttps://everything.curl.dev/http/cookies/engine.html\nAnd also explained here:\nhttps://www.youtube.com/watch?v=V5vZWHP-RqU&t=11459s\n\nGit documentation was updated to include suggestion how to\nenable this by setting empty value for http.cookieFile.\n\nSigned-off-by: Piotr Szlazak <piotr.szlazak@gmail.com>\n---\n    Update http.cookieFile with in-memory cookie processing\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1733%2Fpszlazak%2Fdocumentation-cookieFile-in-memory-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1733/pszlazak/documentation-cookieFile-in-memory-v1\nPull-Request: https://github.com/git/git/pull/1733\n\n Documentation/config/http.txt | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)\n\ndiff --git a/Documentation/config/http.txt b/Documentation/config/http.txt\nindex 2d4e0c9b869..228bed32ec1 100644\n--- a/Documentation/config/http.txt\n+++ b/Documentation/config/http.txt\n@@ -78,10 +78,10 @@ http.extraHeader::\n \n http.cookieFile::\n \tThe pathname of a file containing previously stored cookie lines,\n-\twhich should be used\n-\tin the Git http session, if they match the server. The file format\n-\tof the file to read cookies from should be plain HTTP headers or\n-\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n+\twhich should be used in the Git http session, if they match the server.\n+\tThe file format of the file to read cookies from should be plain HTTP\n+\theaders or the Netscape/Mozilla cookie file format (see `curl(1)`).\n+\tSet it to empty value, to enable in-memory cookies processing.\n \tNOTE that the file specified with http.cookieFile is used only as\n \tinput unless http.saveCookies is set.\n \n\nbase-commit: 66ac6e4bcd111be3fa9c2a6b3fafea718d00678d\n-- \ngitgitgadget\n"},{"id":"498379","messageId":"9fa5db58-74ab-436c-b7ac-ff8762b29d03@gmail.com","threadId":"61673","inReplyTo":"pull.1733.git.git.1719177846725.gitgitgadget@gmail.com","subject":"Re: [PATCH] doc: update http.cookieFile with in-memory cookie processing","fromName":"Piotr Szlazak","fromEmail":"piotr.szlazak@gmail.com","sentAt":"2024-07-09T21:37:06Z","receivedAt":"2024-07-09T21:37:10Z","isPatch":true,"sender":{"key":"piotr.szlazak@gmail.com","avatar":"https://avatars.githubusercontent.com/u/11884243?v=4"},"body":"\nOn 23.06.2024 23:24, Piotr Szlazak via GitGitGadget wrote:\n> From: Piotr Szlazak <piotr.szlazak@gmail.com>\n>\n> Information added how to enable in-memory cookies\n> processing. Cookies from server will be accepted and send\n> back in successive requests within same connection.\n>\n> At the moment documentation only mentions how to read\n> cookies from the given file and how to save them to the file\n> using http.saveCookies.\n>\n> curl / libcurl will process cookies in memory if file name\n> is blank. Check curl manpage:\n> https://curl.se/docs/manpage.html#-b\n> This is described here in more details:\n> https://everything.curl.dev/http/cookies/engine.html\n> And also explained here:\n> https://www.youtube.com/watch?v=V5vZWHP-RqU&t=11459s\n>\n> Git documentation was updated to include suggestion how to\n> enable this by setting empty value for http.cookieFile.\n>\n> Signed-off-by: Piotr Szlazak <piotr.szlazak@gmail.com>\n\nHello Junio!\nWould you be able to take a look at my commit?\nIt's a small update in Documentation/config/http.txt, where I wanted to\nshare how to enable in-memory HTTP cookies processing. It's more\ncurl/libcurl related thing, but worth to be known by Git users.\n\nRegards!\n--\nPiotr Szlazak\n\n> ---\n> Update http.cookieFile with in-memory cookie processing Published-As: \n> https://github.com/gitgitgadget/git/releases/tag/pr-git-1733%2Fpszlazak%2Fdocumentation-cookieFile-in-memory-v1Fetch-It-Via: \n> git fetch https://github.com/gitgitgadget/git \n> pr-git-1733/pszlazak/documentation-cookieFile-in-memory-v1 \n> Pull-Request: https://github.com/git/git/pull/1733 \n> Documentation/config/http.txt | 8 ++++---- 1 file changed, 4 \n> insertions(+), 4 deletions(-) diff --git \n> a/Documentation/config/http.txt b/Documentation/config/http.txt index \n> 2d4e0c9b869..228bed32ec1 100644 --- a/Documentation/config/http.txt \n> +++ b/Documentation/config/http.txt @@ -78,10 +78,10 @@ \n> http.extraHeader:: http.cookieFile:: The pathname of a file containing \n> previously stored cookie lines, - which should be used - in the Git \n> http session, if they match the server. The file format - of the file \n> to read cookies from should be plain HTTP headers or - the \n> Netscape/Mozilla cookie file format (see `curl(1)`). + which should be \n> used in the Git http session, if they match the server. + The file \n> format of the file to read cookies from should be plain HTTP + headers \n> or the Netscape/Mozilla cookie file format (see `curl(1)`). + Set it \n> to empty value, to enable in-memory cookies processing. NOTE that the \n> file specified with http.cookieFile is used only as input unless \n> http.saveCookies is set. base-commit: \n> 66ac6e4bcd111be3fa9c2a6b3fafea718d00678d \n"},{"id":"498383","messageId":"xmqq7cdudwqa.fsf@gitster.g","threadId":"61673","inReplyTo":"9fa5db58-74ab-436c-b7ac-ff8762b29d03@gmail.com","subject":"Re: [PATCH] doc: update http.cookieFile with in-memory cookie processing","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-07-09T22:30:37Z","receivedAt":"2024-07-09T22:30:40Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Piotr Szlazak <piotr.szlazak@gmail.com> writes:\n\n> Hello Junio!\n> Would you be able to take a look at my commit?\n\nPlease do not specifically name me.  If I did not respond, that was\nbecause I considered it was outside my area of expertise, so pinging\nme would not help all that much.\n\nCC'ed folks who touched http.c (where the configuration is used) in\nthe past 6 months to ask for their help.\n\nThanks.\n"},{"id":"498388","messageId":"xmqq4j8ycgjj.fsf@gitster.g","threadId":"61673","inReplyTo":"pull.1733.git.git.1719177846725.gitgitgadget@gmail.com","subject":"Re: [PATCH] doc: update http.cookieFile with in-memory cookie processing","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-07-09T23:05:36Z","receivedAt":"2024-07-09T23:05:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Piotr Szlazak via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n>  http.cookieFile::\n>  \tThe pathname of a file containing previously stored cookie lines,\n> -\twhich should be used\n> -\tin the Git http session, if they match the server. The file format\n> -\tof the file to read cookies from should be plain HTTP headers or\n> -\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n> +\twhich should be used in the Git http session, if they match the server.\n> +\tThe file format of the file to read cookies from should be plain HTTP\n> +\theaders or the Netscape/Mozilla cookie file format (see `curl(1)`).\n\nWith line wrapping it is hard to see if there is any change above\nhere, but I assume there is none?\n\n> +\tSet it to empty value, to enable in-memory cookies processing.\n\nIs it understandable what \"in-memory cookies processing\" means to\nexpected audience of this manual page?  I somehow doubt it (I\ncertainly do not know what you wanted it to mean).\n\nhttps://curl.se/libcurl/c/CURLOPT_COOKIEFILE.html has this to say:\n\n    By passing the empty string (\"\") to this option, you enable the\n    cookie engine without reading any initial cookies.\n\nBut http.cookiefile is also used for CURLOPT_COOKIEJAR when\nhttp.savecookies is true.  Its documentation page does not say what\nwould happen if you give an empty string to it.\n\nSo, a casual one-line mention you added is a bit irresponsible.  At\nleast you should warn against setting http.savecookies if the user\nchooses to use \"\" for this, or better yet, fix the codepath to use\nhttp.savecookies to prevent us from writing to a file with an empty\nfilename.\n\nAlso the libcURL documentation for CURLOPT_COOKIEFILE has another\nthing that is a bit worrysome:\n\n    If you tell libcurl the filename is \"-\" (just a single minus\n    sign), libcurl instead reads from stdin.\n\nSo you can easily get your git get stuck by doing\n\n    git -c http.cookiefile=- fetch https://.....\n\nas libcURL will want to read from your stdin, while you are waiting\nfor the fetch to finish and are not typing anything?\n"},{"id":"498502","messageId":"pull.1733.v2.git.git.1720687008915.gitgitgadget@gmail.com","threadId":"61673","inReplyTo":"pull.1733.git.git.1719177846725.gitgitgadget@gmail.com","subject":"[PATCH v2] doc: update http.cookieFile with in-memory cookie processing","fromName":"Piotr Szlazak via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2024-07-11T08:36:48Z","receivedAt":"2024-07-11T08:36:52Z","isPatch":true,"sender":{"key":"piotr.szlazak@gmail.com","avatar":"https://avatars.githubusercontent.com/u/11884243?v=4"},"body":"From: Piotr Szlazak <piotr.szlazak@gmail.com>\n\nInformation added how to enable in-memory cookies\nprocessing. Cookies from server will be accepted and send\nback in successive requests within same connection.\n\nAt the moment documentation only mentions how to read\ncookies from the given file and how to save them to the file\nusing http.saveCookies.\n\ncurl / libcurl will process cookies in memory if file name\nis blank. Check curl manpage:\nhttps://curl.se/docs/manpage.html#-b\nThis is described here in more details:\nhttps://everything.curl.dev/http/cookies/engine.html\nAnd also explained here:\nhttps://www.youtube.com/watch?v=V5vZWHP-RqU&t=11459s\n\nGit documentation was updated to include suggestion how to\nenable this by setting empty value for http.cookieFile.\n\nChanges since V1:\n- better explanation what in-memory processing means\n- added explanation that http.saveCookies does not work\n  if http.cookieFile was set to empty value\n\nSigned-off-by: Piotr Szlazak <piotr.szlazak@gmail.com>\n---\n    Update http.cookieFile with in-memory cookie processing\n\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1733%2Fpszlazak%2Fdocumentation-cookieFile-in-memory-v2\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1733/pszlazak/documentation-cookieFile-in-memory-v2\nPull-Request: https://github.com/git/git/pull/1733\n\nRange-diff vs v1:\n\n 1:  5e9b3924224 ! 1:  c4d41b5884d doc: update http.cookieFile with in-memory cookie processing\n     @@ Commit message\n          Git documentation was updated to include suggestion how to\n          enable this by setting empty value for http.cookieFile.\n      \n     +    Changes since V1:\n     +    - better explanation what in-memory processing means\n     +    - added explanation that http.saveCookies does not work\n     +      if http.cookieFile was set to empty value\n     +\n          Signed-off-by: Piotr Szlazak <piotr.szlazak@gmail.com>\n      \n       ## Documentation/config/http.txt ##\n     @@ Documentation/config/http.txt: http.extraHeader::\n      -\tin the Git http session, if they match the server. The file format\n      -\tof the file to read cookies from should be plain HTTP headers or\n      -\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n     +-\tNOTE that the file specified with http.cookieFile is used only as\n     +-\tinput unless http.saveCookies is set.\n      +\twhich should be used in the Git http session, if they match the server.\n      +\tThe file format of the file to read cookies from should be plain HTTP\n      +\theaders or the Netscape/Mozilla cookie file format (see `curl(1)`).\n     -+\tSet it to empty value, to enable in-memory cookies processing.\n     - \tNOTE that the file specified with http.cookieFile is used only as\n     - \tinput unless http.saveCookies is set.\n     ++\tSet it to empty value (''), to accept only new cookies from the server and\n     ++\tsend them back in successive requests within same connection. NOTE that the\n     ++\tfile specified with http.cookieFile is used only as input unless\n     ++\thttp.saveCookies is set.\n     + \n     + http.saveCookies::\n     + \tIf set, store cookies received during requests to the file specified by\n     +-\thttp.cookieFile. Has no effect if http.cookieFile is unset.\n     ++\thttp.cookieFile. Has no effect if http.cookieFile is not set or set to empty\n     ++\tvalue ('').\n       \n     + http.version::\n     + \tUse the specified HTTP protocol version when communicating with a server.\n\n\n Documentation/config/http.txt | 16 +++++++++-------\n 1 file changed, 9 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/config/http.txt b/Documentation/config/http.txt\nindex 2d4e0c9b869..e71ca11c10b 100644\n--- a/Documentation/config/http.txt\n+++ b/Documentation/config/http.txt\n@@ -78,16 +78,18 @@ http.extraHeader::\n \n http.cookieFile::\n \tThe pathname of a file containing previously stored cookie lines,\n-\twhich should be used\n-\tin the Git http session, if they match the server. The file format\n-\tof the file to read cookies from should be plain HTTP headers or\n-\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n-\tNOTE that the file specified with http.cookieFile is used only as\n-\tinput unless http.saveCookies is set.\n+\twhich should be used in the Git http session, if they match the server.\n+\tThe file format of the file to read cookies from should be plain HTTP\n+\theaders or the Netscape/Mozilla cookie file format (see `curl(1)`).\n+\tSet it to empty value (''), to accept only new cookies from the server and\n+\tsend them back in successive requests within same connection. NOTE that the\n+\tfile specified with http.cookieFile is used only as input unless\n+\thttp.saveCookies is set.\n \n http.saveCookies::\n \tIf set, store cookies received during requests to the file specified by\n-\thttp.cookieFile. Has no effect if http.cookieFile is unset.\n+\thttp.cookieFile. Has no effect if http.cookieFile is not set or set to empty\n+\tvalue ('').\n \n http.version::\n \tUse the specified HTTP protocol version when communicating with a server.\n\nbase-commit: 66ac6e4bcd111be3fa9c2a6b3fafea718d00678d\n-- \ngitgitgadget\n"},{"id":"498503","messageId":"3f69ec61-1ee3-4f4b-a773-86cbf73a627b@gmail.com","threadId":"61673","inReplyTo":"xmqq4j8ycgjj.fsf@gitster.g","subject":"Re: [PATCH] doc: update http.cookieFile with in-memory cookie processing","fromName":"Piotr Szlazak","fromEmail":"piotr.szlazak@gmail.com","sentAt":"2024-07-11T09:18:37Z","receivedAt":"2024-07-11T09:18:41Z","isPatch":true,"sender":{"key":"piotr.szlazak@gmail.com","avatar":"https://avatars.githubusercontent.com/u/11884243?v=4"},"body":"On 10.07.2024 01:05, Junio C Hamano wrote:\n> \"Piotr Szlazak via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n>>   http.cookieFile::\n>>   \tThe pathname of a file containing previously stored cookie lines,\n>> -\twhich should be used\n>> -\tin the Git http session, if they match the server. The file format\n>> -\tof the file to read cookies from should be plain HTTP headers or\n>> -\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n>> +\twhich should be used in the Git http session, if they match the server.\n>> +\tThe file format of the file to read cookies from should be plain HTTP\n>> +\theaders or the Netscape/Mozilla cookie file format (see `curl(1)`).\n> With line wrapping it is hard to see if there is any change above\n> here, but I assume there is none?\n\nSorry for bad formatting, I'm still learning.\n\n>\n>> +\tSet it to empty value, to enable in-memory cookies processing.\n> Is it understandable what \"in-memory cookies processing\" means to\n> expected audience of this manual page?  I somehow doubt it (I\n> certainly do not know what you wanted it to mean).\n\n\nI pushed PATCH 2, this time without curl/libcurl terminology (i.e. \nwithout calling it in-memory cookie processing). Hope it helps. I also \nmentioned there that http.saveCookies has no effect if '' was used for \nhttp.cookieFile.\n\nRegards!\n\n-- \n\nPiotr Szlazak\n\n\n>\n> https://curl.se/libcurl/c/CURLOPT_COOKIEFILE.html has this to say:\n>\n>      By passing the empty string (\"\") to this option, you enable the\n>      cookie engine without reading any initial cookies.\n>\n> But http.cookiefile is also used for CURLOPT_COOKIEJAR when\n> http.savecookies is true.  Its documentation page does not say what\n> would happen if you give an empty string to it.\n>\n> So, a casual one-line mention you added is a bit irresponsible.  At\n> least you should warn against setting http.savecookies if the user\n> chooses to use \"\" for this, or better yet, fix the codepath to use\n> http.savecookies to prevent us from writing to a file with an empty\n> filename.\n>\n> Also the libcURL documentation for CURLOPT_COOKIEFILE has another\n> thing that is a bit worrysome:\n>\n>      If you tell libcurl the filename is \"-\" (just a single minus\n>      sign), libcurl instead reads from stdin.\n>\n> So you can easily get your git get stuck by doing\n>\n>      git -c http.cookiefile=- fetch https://.....\n>\n> as libcURL will want to read from your stdin, while you are waiting\n> for the fetch to finish and are not typing anything?\n>\n"},{"id":"498520","messageId":"xmqqo773syll.fsf@gitster.g","threadId":"61673","inReplyTo":"pull.1733.v2.git.git.1720687008915.gitgitgadget@gmail.com","subject":"Re: [PATCH v2] doc: update http.cookieFile with in-memory cookie processing","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2024-07-11T16:05:42Z","receivedAt":"2024-07-11T16:05:48Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"Piotr Szlazak via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: Piotr Szlazak <piotr.szlazak@gmail.com>\n\nThanks.\n\n> Information added how to enable in-memory cookies\n> processing. Cookies from server will be accepted and send\n> back in successive requests within same connection.\n>\n> At the moment documentation only mentions how to read\n> cookies from the given file and how to save them to the file\n> using http.saveCookies.\n>\n> curl / libcurl will process cookies in memory if file name\n> is blank. Check curl manpage:\n> https://curl.se/docs/manpage.html#-b\n> This is described here in more details:\n> https://everything.curl.dev/http/cookies/engine.html\n> And also explained here:\n> https://www.youtube.com/watch?v=V5vZWHP-RqU&t=11459s\n>\n> Git documentation was updated to include suggestion how to\n> enable this by setting empty value for http.cookieFile.\n>\n> Changes since V1:\n> - better explanation what in-memory processing means\n> - added explanation that http.saveCookies does not work\n>   if http.cookieFile was set to empty value\n>\n> Signed-off-by: Piotr Szlazak <piotr.szlazak@gmail.com>\n> ---\n\nHere is how I amended the log message, FYI.\n\n    doc: update http.cookieFile with in-memory cookie processing\n\n    Documentation only mentions how to read cookies from the given file\n    and how to save them to the file using http.saveCookies.\n\n    But underlying libcURL allows the HTTP cookies used only in memory;\n    cookies from the server will be accepted and sent back in successive\n    requests within same connection, by using an empty string as the\n    filename.  Document this.\n\n    Signed-off-by: Piotr Szlazak <piotr.szlazak@gmail.com>\n    Signed-off-by: Junio C Hamano <gitster@pobox.com>\n\nA few points to note:\n\n - It is our convention to start a proposed log message by\n   describing the current status in present tense (\"currently\", \"at\n   the moment\", etc., are not needed).\n\n - The observation of the current status is followed by the\n   description of a problem the patch tries to solve.\n\n - And then finally we give an order to the codebase to \"become like\n   so\".\n\n - Changes between iterations do not belong to the log message, as\n   the log messages are written for those who run \"git log\"; to\n   them, our previous iterations do not exist.  We describe changes\n   below the \"---\" lines.\n\n> diff --git a/Documentation/config/http.txt b/Documentation/config/http.txt\n> index 2d4e0c9b869..e71ca11c10b 100644\n> --- a/Documentation/config/http.txt\n> +++ b/Documentation/config/http.txt\n> @@ -78,16 +78,18 @@ http.extraHeader::\n>  \n>  http.cookieFile::\n>  \tThe pathname of a file containing previously stored cookie lines,\n> -\twhich should be used\n> -\tin the Git http session, if they match the server. The file format\n> -\tof the file to read cookies from should be plain HTTP headers or\n> -\tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n> -\tNOTE that the file specified with http.cookieFile is used only as\n> -\tinput unless http.saveCookies is set.\n> +\twhich should be used in the Git http session, if they match the server.\n> +\tThe file format of the file to read cookies from should be plain HTTP\n> +\theaders or the Netscape/Mozilla cookie file format (see `curl(1)`).\n> +\tSet it to empty value (''), to accept only new cookies from the server and\n> +\tsend them back in successive requests within same connection. NOTE that the\n> +\tfile specified with http.cookieFile is used only as input unless\n> +\thttp.saveCookies is set.\n>  \n>  http.saveCookies::\n>  \tIf set, store cookies received during requests to the file specified by\n> -\thttp.cookieFile. Has no effect if http.cookieFile is unset.\n> +\thttp.cookieFile. Has no effect if http.cookieFile is not set or set to empty\n> +\tvalue ('').\n\nI reformatted the patch and added minor word-smithing.  A few points:\n\n - Avoid unnecessary line rewrapping.  This file gets formatted into\n   HTML or manpage and formatting tools will take care of filling\n   paragraphs.\n\n - Use \"an empty string\", which is used by other parts of this file\n   and other documentation files under Documentaiton/config/\n   directory, instead of \"empty value\".  We should fix other\n   instances of \"empty value\" in the file for consistency but it\n   should be left outside the scope of this patch as #leftoverbits\n   material.\n\nThanks again.\n\ndiff --git a/Documentation/config/http.txt b/Documentation/config/http.txt\nindex 2d4e0c9b86..bd04ca1c2e 100644\n--- a/Documentation/config/http.txt\n+++ b/Documentation/config/http.txt\n@@ -82,12 +82,16 @@ http.cookieFile::\n \tin the Git http session, if they match the server. The file format\n \tof the file to read cookies from should be plain HTTP headers or\n \tthe Netscape/Mozilla cookie file format (see `curl(1)`).\n+\tSet it to an empty string, to accept only new cookies from\n+\tthe server and send them back in successive requests within same\n+\tconnection.\n \tNOTE that the file specified with http.cookieFile is used only as\n \tinput unless http.saveCookies is set.\n \n http.saveCookies::\n \tIf set, store cookies received during requests to the file specified by\n-\thttp.cookieFile. Has no effect if http.cookieFile is unset.\n+\thttp.cookieFile. Has no effect if http.cookieFile is unset, or set to\n+\tan empty string.\n \n http.version::\n \tUse the specified HTTP protocol version when communicating with a server.\n"}]}