{"thread":{"id":"38270","subject":"[PATCH v2] doc: core.ignoreStat update, and clarify the --assume-unchanged effect","startedAt":"2015-01-02T00:18:30Z","lastAt":"2015-01-05T16:02:49Z","messageCount":3,"participants":["Philip Oakley","Junio C Hamano"],"isPatch":true,"patchVersion":2,"patchTotal":null},"messages":[{"id":"254246","messageId":"1420157910-2252-1-git-send-email-philipoakley@iee.org","threadId":"38270","inReplyTo":null,"subject":"[PATCH v2] doc: core.ignoreStat update, and clarify the --assume-unchanged effect","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.org","sentAt":"2015-01-02T00:18:30Z","receivedAt":"2015-01-02T00:18:30Z","isPatch":true,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"The assume-unchanged bit, and consequently core.ignoreStat, can be\nmisunderstood. Be assertive about the expectation that file changes should\nnotified to Git.\n\nSigned-off-by: Philip Oakley <philipoakley@iee.org>\n---\nOverhaul the general wording thus:\n    1. direct description of what is ignored given first.\n    2. example instruction of the user manual action required.\n    3. use sideways indirection for assume-unchanged and update-index references.\n    4. add a 'normally' to give leeway for the change detection.\n\nThis version is on top of the current master, and replaces the patch in next.\n---\n Documentation/config.txt | 18 +++++++++++-------\n 1 file changed, 11 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/config.txt b/Documentation/config.txt\nindex 6862e3e..32e42dd 100644\n--- a/Documentation/config.txt\n+++ b/Documentation/config.txt\n@@ -375,13 +375,17 @@ This is useful for excluding servers inside a firewall from\n proxy use, while defaulting to a common proxy for external domains.\n \n core.ignoreStat::\n-\tIf true, commands which modify both the working tree and the index\n-\twill mark the updated paths with the \"assume unchanged\" bit in the\n-\tindex. These marked files are then assumed to stay unchanged in the\n-\tworking tree, until you mark them otherwise manually - Git will not\n-\tdetect the file changes\tby lstat() calls. This is useful on systems\n-\twhere those are very slow, such as Microsoft Windows.\n-\tSee linkgit:git-update-index[1].\n+\tIf true, Git will avoid using lstat() calls to detect if files have\n+\tchanged. Git will set the \"assume-unchanged\" bit for those tracked files\n+\twhich it has updated identically in both the index and working tree.\n++\n+\tWhen files are modified outside of Git, the user will need to stage\n+\tthe modified files explicitly (e.g. see 'Examples' section in\n+\tlinkgit:git-update-index[1]).\n+\tGit will not normally detect changes to those files.\n++\n+\tThis is useful on systems where lstat() calls are very slow, such as\n+\tCIFS/Microsoft Windows.\n \tFalse by default.\n \n core.preferSymlinkRefs::\n-- \n1.9.5.msysgit.0\n"},{"id":"254279","messageId":"xmqqh9w6qppv.fsf@gitster.dls.corp.google.com","threadId":"38270","inReplyTo":"1420157910-2252-1-git-send-email-philipoakley@iee.org","subject":"Re: [PATCH v2] doc: core.ignoreStat update, and clarify the --assume-unchanged effect","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2015-01-04T20:02:20Z","receivedAt":"2015-01-04T20:02:20Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Philip Oakley <philipoakley@iee.org> writes:\n\n> The assume-unchanged bit, and consequently core.ignoreStat, can be\n> misunderstood. Be assertive about the expectation that file changes should\n> notified to Git.\n>\n> Signed-off-by: Philip Oakley <philipoakley@iee.org>\n> ---\n> Overhaul the general wording thus:\n>     1. direct description of what is ignored given first.\n>     2. example instruction of the user manual action required.\n>     3. use sideways indirection for assume-unchanged and update-index references.\n>     4. add a 'normally' to give leeway for the change detection.\n>\n> This version is on top of the current master, and replaces the patch in next.\n\nSorry, you do not replace anything in 'next', once it is in.\n\nI was about to say that I'll try to see if I turn it into\nincremental (at which point some of the above four points after the\nthree-dash line might want to be in the log message proper), but the\nAsciiDoc mark-up looks somewhat suspect (we usually do not see\nindentation in the paragraphs continued with \"+\").  Does this format\nfine for manpage and HTML?\n\nThanks.\n\n> ---\n>  Documentation/config.txt | 18 +++++++++++-------\n>  1 file changed, 11 insertions(+), 7 deletions(-)\n>\n> diff --git a/Documentation/config.txt b/Documentation/config.txt\n> index 6862e3e..32e42dd 100644\n> --- a/Documentation/config.txt\n> +++ b/Documentation/config.txt\n> @@ -375,13 +375,17 @@ This is useful for excluding servers inside a firewall from\n>  proxy use, while defaulting to a common proxy for external domains.\n>  \n>  core.ignoreStat::\n> -\tIf true, commands which modify both the working tree and the index\n> -\twill mark the updated paths with the \"assume unchanged\" bit in the\n> -\tindex. These marked files are then assumed to stay unchanged in the\n> -\tworking tree, until you mark them otherwise manually - Git will not\n> -\tdetect the file changes\tby lstat() calls. This is useful on systems\n> -\twhere those are very slow, such as Microsoft Windows.\n> -\tSee linkgit:git-update-index[1].\n> +\tIf true, Git will avoid using lstat() calls to detect if files have\n> +\tchanged. Git will set the \"assume-unchanged\" bit for those tracked files\n> +\twhich it has updated identically in both the index and working tree.\n> ++\n> +\tWhen files are modified outside of Git, the user will need to stage\n> +\tthe modified files explicitly (e.g. see 'Examples' section in\n> +\tlinkgit:git-update-index[1]).\n> +\tGit will not normally detect changes to those files.\n> ++\n> +\tThis is useful on systems where lstat() calls are very slow, such as\n> +\tCIFS/Microsoft Windows.\n>  \tFalse by default.\n>  \n>  core.preferSymlinkRefs::\n"},{"id":"254293","messageId":"909C88A460AB4DDFA7E72216B3218C9F@PhilipOakley","threadId":"38270","inReplyTo":"xmqqh9w6qppv.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH v2] doc: core.ignoreStat update, and clarify the --assume-unchanged effect","fromName":"Philip Oakley","fromEmail":"philipoakley@iee.org","sentAt":null,"receivedAt":"2015-01-05T16:02:49Z","isPatch":true,"sender":{"key":"philipoakley@iee.email","avatar":"https://avatars.githubusercontent.com/u/914343?v=4"},"body":"From: \"Junio C Hamano\" <gitster@pobox.com>\n> Philip Oakley <philipoakley@iee.org> writes:\n>\n>> The assume-unchanged bit, and consequently core.ignoreStat, can be\n>> misunderstood. Be assertive about the expectation that file changes \n>> should\n>> notified to Git.\n>>\n>> Signed-off-by: Philip Oakley <philipoakley@iee.org>\n>> ---\n>> Overhaul the general wording thus:\n>>     1. direct description of what is ignored given first.\n>>     2. example instruction of the user manual action required.\n>>     3. use sideways indirection for assume-unchanged and update-index \n>> references.\n>>     4. add a 'normally' to give leeway for the change detection.\n>>\n>> This version is on top of the current master, and replaces the patch \n>> in next.\n>\n> Sorry, you do not replace anything in 'next', once it is in.\n\nMy apologies. I'd been too quick to read the 'expecting reroll' to \nproperly notice the promotion to next.\n>\n> I was about to say that I'll try to see if I turn it into\n> incremental (at which point some of the above four points after the\n> three-dash line might want to be in the log message proper), but the\n> AsciiDoc mark-up looks somewhat suspect (we usually do not see\n> indentation in the paragraphs continued with \"+\").  Does this format\n> fine for manpage and HTML?\n\nI didn't have access to AsciiDoc at the time.\n\nYou are right, it doesn't format correctly, I shouldn't have continued \nwith the indentation tabs in the continuation paragraphs. My mistake. I \ncan re-roll if that's easiest\n\n>\n> Thanks.\n>\n>> ---\n>>  Documentation/config.txt | 18 +++++++++++-------\n>>  1 file changed, 11 insertions(+), 7 deletions(-)\n>>\n>> diff --git a/Documentation/config.txt b/Documentation/config.txt\n>> index 6862e3e..32e42dd 100644\n>> --- a/Documentation/config.txt\n>> +++ b/Documentation/config.txt\n>> @@ -375,13 +375,17 @@ This is useful for excluding servers inside a \n>> firewall from\n>>  proxy use, while defaulting to a common proxy for external domains.\n>>\n>>  core.ignoreStat::\n>> - If true, commands which modify both the working tree and the index\n>> - will mark the updated paths with the \"assume unchanged\" bit in the\n>> - index. These marked files are then assumed to stay unchanged in the\n>> - working tree, until you mark them otherwise manually - Git will not\n>> - detect the file changes by lstat() calls. This is useful on systems\n>> - where those are very slow, such as Microsoft Windows.\n>> - See linkgit:git-update-index[1].\n>> + If true, Git will avoid using lstat() calls to detect if files have\n>> + changed. Git will set the \"assume-unchanged\" bit for those tracked \n>> files\n>> + which it has updated identically in both the index and working \n>> tree.\n>> ++\n>> + When files are modified outside of Git, the user will need to stage\n>> + the modified files explicitly (e.g. see 'Examples' section in\n>> + linkgit:git-update-index[1]).\n>> + Git will not normally detect changes to those files.\n>> ++\n>> + This is useful on systems where lstat() calls are very slow, such \n>> as\n>> + CIFS/Microsoft Windows.\n>>  False by default.\n>>\n>>  core.preferSymlinkRefs::\n> --\n\n\nPhilip \n"}]}