{"thread":{"id":"48535","subject":"which files are \"known to git\"?","startedAt":"2018-05-21T11:20:06Z","lastAt":"2018-05-23T08:21:45Z","messageCount":16,"participants":["Robert P. J. Day","Randall S. Becker","Elijah Newren","Duy Nguyen","Junio C Hamano","Jonathan Nieder","Stefan Beller"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"348191","messageId":"alpine.LFD.2.21.1805210717040.9926@localhost.localdomain","threadId":"48535","inReplyTo":null,"subject":"which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-21T11:18:30Z","receivedAt":"2018-05-21T11:20:06Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"\n  updating my git courseware and, since some man pages refer to files\n\"known to git\", i just want to make sure i understand precisely which\nfiles those are. AIUI, they would include:\n\n  * tracked files\n  * ignored files\n  * new files which have been staged but not yet committed\n\nis that it? are there others?\n\nrday\n"},{"id":"348202","messageId":"000201d3f10b$c3bfd660$4b3f8320$@nexbridge.com","threadId":"48535","inReplyTo":"alpine.LFD.2.21.1805210717040.9926@localhost.localdomain","subject":"RE: which files are \"known to git\"?","fromName":"Randall S. Becker","fromEmail":"rsbecker@nexbridge.com","sentAt":"2018-05-21T13:58:09Z","receivedAt":"2018-05-21T13:59:04Z","isPatch":false,"sender":{"key":"randall.becker@nexbridge.ca","avatar":"https://avatars.githubusercontent.com/u/28956764?v=4"},"body":"On May 21, 2018 7:19 AM, Robert P. J. Day:\n>   updating my git courseware and, since some man pages refer to files\n> \"known to git\", i just want to make sure i understand precisely which\nfiles\n> those are. AIUI, they would include:\n> \n>   * tracked files\n>   * ignored files\n>   * new files which have been staged but not yet committed\n\nYou might want to consider git metadata/config/attribute files, hooks,\nfilters, etc., that may not be not formally part of a repository, but can be\nrequired to ensure the content is complete.\n\nCheers,\nRandall\n\n-- Brief whoami:\n NonStop developer since approximately 211288444200000000\n UNIX developer since approximately 421664400\n-- In my real life, I talk too much.\n\n\n\n"},{"id":"348211","messageId":"CABPp-BH0bw3m5Ubz2+-XyFGwoHD96sAaSen9-SHQSBqMS-9u5w@mail.gmail.com","threadId":"48535","inReplyTo":"alpine.LFD.2.21.1805210717040.9926@localhost.localdomain","subject":"Re: which files are \"known to git\"?","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-05-21T15:09:14Z","receivedAt":"2018-05-21T15:09:18Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"Hi Robert,\n\nOn Mon, May 21, 2018 at 4:18 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:\n>\n>   updating my git courseware and, since some man pages refer to files\n> \"known to git\", i just want to make sure i understand precisely which\n> files those are. AIUI, they would include:\n>\n>   * tracked files\n>   * ignored files\n>   * new files which have been staged but not yet committed\n>\n> is that it? are there others?\n\nDoesn't the first category of yours include the third?  I always read\n'tracked' as 'in the index'.\n\nI had always assumed prior to your email that 'known to Git' meant\n'tracked' or 'recorded in the index'.  However, a quick `git grep -i\nknown.to.git` shows that we're actually not consistent by what we mean\nwith this phrase.  A little test setup:\n\n  $ echo ignoreme >>.gitignore\n  $ git add .gitignore\n  $ git commit -m ignoreme\n  $ touch ignoreme\n  $ git ls-files -o\n  ignoreme\n  $ git ls-files -o --exclude-standard\n  $\n\nFrom Documentation/git-clean.txt:\n\n    Normally, only files unknown to Git are removed, but if the `-x`\n    option is specified, ignored files are also removed.\n\n  This implies that ignored files are not 'unknown to Git', or fixing the\n  double negative, that ignored files are 'known to Git':\n  $ git clean -n\n  $ git clean -nx\n  Would remove ignoreme\n  $\n\nFrom Documentation/git-commit.txt:\n\n    3. by listing files as arguments to the 'commit' command\n       (without --interactive or --patch switch), in which\n       case the commit will ignore changes staged in the index, and instead\n       record the current content of the listed files (which must already\n       be known to Git);\n\n  This implies that only recorded-in-the-index files are known to Git:\n  $ git commit -m testing ignoreme\n  error: pathspec 'ignoreme' did not match any file(s) known to git.\n  $\n\nFrom Documentation/git-rm.txt:\n\n    The <file> list given to the command can be exact pathnames,\n    file glob patterns, or leading directory names.  The command\n    removes only the paths that are known to Git.  Giving the name of\n    a file that you have not told Git about does not remove that file.\n\n  This also implies that only recorded-in-the-index files are known to Git:\n  $ git rm ignoreme\n  fatal: pathspec 'ignoreme' did not match any files\n  $\n\n\nI can't see any evidence of usage that suggests any more categories\nthan tracked and ignored, but whether ignored files are included in\nthe set of 'files known to Git' appears to depend on which man page\nyou are reading...which is rather unfortunate.\n\nRobert, since you're working on documentation of sorts anyway, would\nyou like to propose some patches to fix things here?  I'm not entirely\nsure what to suggest, and we might need a random suggestion to get the\ndiscussion started before we figure out what we want here, but it'd be\nnice to fix this inconsistency.\n\n\nElijah\n"},{"id":"348212","messageId":"CACsJy8Ay2Oos7s1Lbczdf+jUsvn0F+NsHPLF6aKxxBhMb39Q3g@mail.gmail.com","threadId":"48535","inReplyTo":"CABPp-BH0bw3m5Ubz2+-XyFGwoHD96sAaSen9-SHQSBqMS-9u5w@mail.gmail.com","subject":"Re: which files are \"known to git\"?","fromName":"Duy Nguyen","fromEmail":"pclouds@gmail.com","sentAt":"2018-05-21T15:18:07Z","receivedAt":"2018-05-21T15:18:43Z","isPatch":false,"sender":{"key":"pclouds@gmail.com","avatar":"https://avatars.githubusercontent.com/u/720?v=4"},"body":"On Mon, May 21, 2018 at 5:09 PM, Elijah Newren <newren@gmail.com> wrote:\n> Robert, since you're working on documentation of sorts anyway, would\n> you like to propose some patches to fix things here?  I'm not entirely\n> sure what to suggest, and we might need a random suggestion to get the\n> discussion started before we figure out what we want here, but it'd be\n> nice to fix this inconsistency.\n\nMake sure to fix Documentation/glossary-content.txt too, Robert, if\nyou plan to improve documentation.\n-- \nDuy\n"},{"id":"348213","messageId":"alpine.LFD.2.21.1805211148340.17797@localhost.localdomain","threadId":"48535","inReplyTo":"CABPp-BH0bw3m5Ubz2+-XyFGwoHD96sAaSen9-SHQSBqMS-9u5w@mail.gmail.com","subject":"Re: which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-21T15:49:04Z","receivedAt":"2018-05-21T15:50:45Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"On Mon, 21 May 2018, Elijah Newren wrote:\n\n> Hi Robert,\n>\n> On Mon, May 21, 2018 at 4:18 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:\n> >\n> >   updating my git courseware and, since some man pages refer to files\n> > \"known to git\", i just want to make sure i understand precisely which\n> > files those are. AIUI, they would include:\n> >\n> >   * tracked files\n> >   * ignored files\n> >   * new files which have been staged but not yet committed\n> >\n> > is that it? are there others?\n>\n> Doesn't the first category of yours include the third?  I always\n> read 'tracked' as 'in the index'.\n\n you're right, i was being redundant.\n\nrday\n"},{"id":"348214","messageId":"alpine.LFD.2.21.1805211151360.17797@localhost.localdomain","threadId":"48535","inReplyTo":"CABPp-BH0bw3m5Ubz2+-XyFGwoHD96sAaSen9-SHQSBqMS-9u5w@mail.gmail.com","subject":"Re: which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-21T15:53:56Z","receivedAt":"2018-05-21T15:55:31Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"On Mon, 21 May 2018, Elijah Newren wrote:\n\n> Hi Robert,\n\n> I had always assumed prior to your email that 'known to Git' meant\n> 'tracked' or 'recorded in the index'.  However, a quick `git grep -i\n> known.to.git` shows that we're actually not consistent by what we\n> mean with this phrase.  A little test setup:\n>\n>   $ echo ignoreme >>.gitignore\n>   $ git add .gitignore\n>   $ git commit -m ignoreme\n>   $ touch ignoreme\n>   $ git ls-files -o\n>   ignoreme\n>   $ git ls-files -o --exclude-standard\n>   $\n>\n> >From Documentation/git-clean.txt:\n>\n>     Normally, only files unknown to Git are removed, but if the `-x`\n>     option is specified, ignored files are also removed.\n>\n>   This implies that ignored files are not 'unknown to Git', or fixing the\n>   double negative, that ignored files are 'known to Git':\n>   $ git clean -n\n>   $ git clean -nx\n>   Would remove ignoreme\n>   $\n\n  uh oh ... i'm just now remembering a discussion once upon a time\nwhere this wasn't simply a double negative. IIRC (and someone else\nhelp me out here), \"known to git\" also meant known *not* to be tracked\nor something like that (as in, ignored files).\n\n  anyone remember that conversation?\n\nrday\n"},{"id":"348215","messageId":"CAPc5daUu3uG0P7OsEenVcwT=BQQKEc0uJZqxmRjqFPLxzEspAw@mail.gmail.com","threadId":"48535","inReplyTo":"CABPp-BH0bw3m5Ubz2+-XyFGwoHD96sAaSen9-SHQSBqMS-9u5w@mail.gmail.com","subject":"Re: which files are \"known to git\"?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-05-21T16:08:31Z","receivedAt":"2018-05-21T16:08:56Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"On Tue, May 22, 2018 at 12:09 AM, Elijah Newren <newren@gmail.com> wrote:\n>\n> I had always assumed prior to your email that 'known to Git' meant\n> 'tracked' or 'recorded in the index'.\n\nThat's been my intention as well ;-)\n\n> From Documentation/git-clean.txt:\n>\n>     Normally, only files unknown to Git are removed, but if the `-x`\n>     option is specified, ignored files are also removed.\n\nThe above makes it sound as if \"unknown to Git\" is synonym\nto \"not marked as ignored via the exclude mechanism\", which would\nincorrectly imply \"known to Git\" is \"marked as ignored via the exclude\nmechanism\".\n\nWhich is a sheer nonsense.\n\nI think this is written while forgetting that \"known to Git\" was already a term\nwith a specific meaning, and used a confusing term unnecessarily loosely.\n\n \"clean\" removes files that are not in the index and are not marked as\nignored by default, but with \"clean -x\", the user can remove all files that\nare not in the index, even the ones that are marked as ignored.\n\nIn the above version of description, \"files that are not in the index\" can\nbe replaced with \"untracked files\" and we can also say \"files unknown to\nGit\" (if we want to), but the set of files \"clean\" operates by default is\nnarrower than \"unknown to Git\"--it is \"unknown to Git and not marked as\nignored\".\n"},{"id":"348225","messageId":"alpine.LFD.2.21.1805211335250.21160@localhost.localdomain","threadId":"48535","inReplyTo":"CABPp-BH0bw3m5Ubz2+-XyFGwoHD96sAaSen9-SHQSBqMS-9u5w@mail.gmail.com","subject":"Re: which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-21T17:40:04Z","receivedAt":"2018-05-21T17:42:56Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"On Mon, 21 May 2018, Elijah Newren wrote:\n\n> Hi Robert,\n>\n> I had always assumed prior to your email that 'known to Git' meant\n> 'tracked' or 'recorded in the index'...\n\n  i *know* i've been in this discussion before, but i don't remember\nwhere, i *assume* it was on this list, and i recall someone (again,\ndon't remember who) who opined that there are two categories of files\nthat are \"known to git\":\n\n  1) files known in a *positive* sense, those being explicitly tracked\n  files, and\n\n  2) files known in a *negative* sense, as in explicitly ignored files\n\ncan anyone refresh my memory if that happened here, and whether that\nwas the consensus after the discussion was over? if that's the\ndefinition that's being used, then this passage makes sense:\n\n  \"Normally, only files unknown to Git are removed, but if the -x\n  option is specified, ignored files are also removed.\"\n\nthat pretty clearly implies that ignored files are considered \"known\"\nto git.\n\nrday\n"},{"id":"348226","messageId":"20180521175335.GC10623@aiede.svl.corp.google.com","threadId":"48535","inReplyTo":"alpine.LFD.2.21.1805211335250.21160@localhost.localdomain","subject":"Re: which files are \"known to git\"?","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2018-05-21T17:53:35Z","receivedAt":"2018-05-21T17:53:40Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Robert P. J. Day wrote:\n> On Mon, 21 May 2018, Elijah Newren wrote:\n\n>> Hi Robert,\n>>\n>> I had always assumed prior to your email that 'known to Git' meant\n>> 'tracked' or 'recorded in the index'...\n>\n>   i *know* i've been in this discussion before, but i don't remember\n> where, i *assume* it was on this list, and i recall someone (again,\n> don't remember who) who opined that there are two categories of files\n> that are \"known to git\":\n\nMy understanding was the same as Elijah's.\n\nI would be in favor of a patch that replaces the phrase \"known to Git\"\nin Git's documentation with something less confusing.\n\nThanks,\nJonathan\n"},{"id":"348229","messageId":"alpine.LFD.2.21.1805211405410.21888@localhost.localdomain","threadId":"48535","inReplyTo":"20180521175335.GC10623@aiede.svl.corp.google.com","subject":"Re: which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-21T18:09:49Z","receivedAt":"2018-05-21T18:11:25Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"On Mon, 21 May 2018, Jonathan Nieder wrote:\n\n> Robert P. J. Day wrote:\n> > On Mon, 21 May 2018, Elijah Newren wrote:\n>\n> >> Hi Robert,\n> >>\n> >> I had always assumed prior to your email that 'known to Git'\n> >> meant 'tracked' or 'recorded in the index'...\n> >\n> >   i *know* i've been in this discussion before, but i don't\n> > remember where, i *assume* it was on this list, and i recall\n> > someone (again, don't remember who) who opined that there are two\n> > categories of files that are \"known to git\":\n>\n> My understanding was the same as Elijah's.\n>\n> I would be in favor of a patch that replaces the phrase \"known to\n> Git\" in Git's documentation with something less confusing.\n\n  first, i want to apologize to everyone for opening this apparent can\nof worms. (it's victoria day here in canada, and i intended to spend\nit just puttering around with git-related minutiae, not encouraging\nthought-provoking questions about the fundamental nature of git.)\n\n  i did a quick search for that phrase in the current code base and\ncame up with:\n\nbuiltin/difftool.c:\t\t/* The symlink is unknown to Git so read from the filesystem */\ndir.c:\t\terror(\"pathspec '%s' did not match any file(s) known to git.\",\nDocumentation/git-rm.txt:removes only the paths that are known to Git.  Giving the name of\nDocumentation/git-commit.txt:   be known to Git);\nDocumentation/user-manual.txt:error: pathspec '261dfac35cb99d380eb966e102c1197139f7fa24' did not match any file(s) known to git.\nDocumentation/gitattributes.txt:\tNotice all types of potential whitespace errors known to Git.\nDocumentation/git-clean.txt:Normally, only files unknown to Git are removed, but if the `-x`\nDocumentation/RelNotes/1.8.2.1.txt: * The code to keep track of what directory names are known to Git on\nDocumentation/RelNotes/1.8.1.6.txt: * The code to keep track of what directory names are known to Git on\nDocumentation/RelNotes/2.9.0.txt:   known to Git.  They have been taught to do the normalization.\nDocumentation/RelNotes/2.8.4.txt:   known to Git.  They have been taught to do the normalization.\nDocumentation/RelNotes/1.8.3.txt: * The code to keep track of what directory names are known to Git on\nt/t3005-ls-files-relative.sh:\t\t\techo \"error: pathspec $sq$f$sq did not match any file(s) known to git.\"\nt/t3005-ls-files-relative.sh:\t\t\techo \"error: pathspec $sq$f$sq did not match any file(s) known to git.\"\n\nso it's not like there's a *ton* of that, but still enough to want to\nget it right. should there be a precise definition for the phrase\n\"known to git\", or should that phrase simply be banned/replaced? i\nhave no idea, open to suggestions.\n\nrday\n"},{"id":"348231","messageId":"CABPp-BGsa+e_4XuK0xaKbcNxg5CS8UuAjYNP9XWpAhXOPs7iaQ@mail.gmail.com","threadId":"48535","inReplyTo":"alpine.LFD.2.21.1805211335250.21160@localhost.localdomain","subject":"Re: which files are \"known to git\"?","fromName":"Elijah Newren","fromEmail":"newren@gmail.com","sentAt":"2018-05-21T18:13:24Z","receivedAt":"2018-05-21T18:13:28Z","isPatch":false,"sender":{"key":"newren@gmail.com","avatar":"https://avatars.githubusercontent.com/u/5455730?v=4"},"body":"On Mon, May 21, 2018 at 10:40 AM, Robert P. J. Day\n<rpjday@crashcourse.ca> wrote:\n> On Mon, 21 May 2018, Elijah Newren wrote:\n>\n>> I had always assumed prior to your email that 'known to Git' meant\n>> 'tracked' or 'recorded in the index'...\n>\n>   i *know* i've been in this discussion before, but i don't remember\n> where, i *assume* it was on this list, and i recall someone (again,\n> don't remember who) who opined that there are two categories of files\n> that are \"known to git\":\n>\n>   1) files known in a *positive* sense, those being explicitly tracked\n>   files, and\n>\n>   2) files known in a *negative* sense, as in explicitly ignored files\n>\n> can anyone refresh my memory if that happened here, and whether that\n> was the consensus after the discussion was over?\n\nPerhaps this: https://public-inbox.org/git/EEC5BA1D5F274F02AE20FC269868FDEF@PhilipOakley/\n?\n\n> If that's the\n> definition that's being used, then this passage makes sense:\n>\n>   \"Normally, only files unknown to Git are removed, but if the -x\n>   option is specified, ignored files are also removed.\"\n>\n> that pretty clearly implies that ignored files are considered \"known\"\n> to git.\n\nYes, _if_ that's the definition used, then that passage makes sense.\nBut if that's the definition used, then the other two passages I\npointed out in Documentation/git-commit.txt and\nDocumentation/git-rm.txt do NOT make sense and need to be rewritten.\n\nJunio has already chimed in elsewhere on this thread and stated pretty\nclearly that the intended meaning for 'known to Git' was just (1), not\n(2), and even provided a suggested wording fix for\nDocumentation/git-clean.txt.  Putting that into a patch format and\nsubmitting along with an update to Documentation/glossary-content.txt\nas Duy suggested look like the two todos to me, though perhaps others\nwant to discuss ways to just avoid the phrase 'known to Git' (as\nsuggested by Jonathan).\n"},{"id":"348232","messageId":"20180521181511.GD10623@aiede.svl.corp.google.com","threadId":"48535","inReplyTo":"alpine.LFD.2.21.1805211405410.21888@localhost.localdomain","subject":"Re: which files are \"known to git\"?","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2018-05-21T18:15:11Z","receivedAt":"2018-05-21T18:15:17Z","isPatch":false,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nRobert P. J. Day wrote:\n\n>   i did a quick search for that phrase in the current code base and\n> came up with:\n>\n> builtin/difftool.c:\t\t/* The symlink is unknown to Git so read from the filesystem */\n> dir.c:\t\terror(\"pathspec '%s' did not match any file(s) known to git.\",\n> Documentation/git-rm.txt:removes only the paths that are known to Git.  Giving the name of\n> Documentation/git-commit.txt:   be known to Git);\n> Documentation/user-manual.txt:error: pathspec '261dfac35cb99d380eb966e102c1197139f7fa24' did not match any file(s) known to git.\n> Documentation/gitattributes.txt:\tNotice all types of potential whitespace errors known to Git.\n> Documentation/git-clean.txt:Normally, only files unknown to Git are removed, but if the `-x`\n> Documentation/RelNotes/1.8.2.1.txt: * The code to keep track of what directory names are known to Git on\n> Documentation/RelNotes/1.8.1.6.txt: * The code to keep track of what directory names are known to Git on\n> Documentation/RelNotes/2.9.0.txt:   known to Git.  They have been taught to do the normalization.\n> Documentation/RelNotes/2.8.4.txt:   known to Git.  They have been taught to do the normalization.\n> Documentation/RelNotes/1.8.3.txt: * The code to keep track of what directory names are known to Git on\n> t/t3005-ls-files-relative.sh:\t\t\techo \"error: pathspec $sq$f$sq did not match any file(s) known to git.\"\n> t/t3005-ls-files-relative.sh:\t\t\techo \"error: pathspec $sq$f$sq did not match any file(s) known to git.\"\n>\n> so it's not like there's a *ton* of that, but still enough to want to\n> get it right. should there be a precise definition for the phrase\n> \"known to git\", or should that phrase simply be banned/replaced?\n\nIn my opinion: the latter.\n\nIt's not like the phrase represents some concept that we don't have\nany other name for.  They're also known as \"tracked files\" and that\nname is more intuitive.\n\nThanks,\nJonathan\n"},{"id":"348233","messageId":"CAGZ79kZ7_QJk7BaZ2R7W=9fvNtbyeM9O9qvXdPcHsUXgD=93Aw@mail.gmail.com","threadId":"48535","inReplyTo":"alpine.LFD.2.21.1805211335250.21160@localhost.localdomain","subject":"Re: which files are \"known to git\"?","fromName":"Stefan Beller","fromEmail":"sbeller@google.com","sentAt":"2018-05-21T18:15:57Z","receivedAt":"2018-05-21T18:16:04Z","isPatch":false,"sender":{"key":"stefanbeller@gmail.com","avatar":"https://avatars.githubusercontent.com/u/455868?v=4"},"body":"On Mon, May 21, 2018 at 10:40 AM, Robert P. J. Day\n<rpjday@crashcourse.ca> wrote:\n> On Mon, 21 May 2018, Elijah Newren wrote:\n>\n>> Hi Robert,\n>>\n>> I had always assumed prior to your email that 'known to Git' meant\n>> 'tracked' or 'recorded in the index'...\n>\n>   i *know* i've been in this discussion before,\n\nhttps://public-inbox.org/git/alpine.LFD.2.21.1711120430580.30032@localhost.localdomain/\n\nvia\n\ngit clone --mirror https://public-inbox.org/git git-ml && cd git-ml\ngit log --oneline --author=rpjday@crashcourse.ca\n/ known # search for \"known\" in message subjects\n\nI really value the public inbox to work as a git repo, as then you\ncan dig though it just as you dig through commits.\n"},{"id":"348234","messageId":"alpine.LFD.2.21.1805211414010.22297@localhost.localdomain","threadId":"48535","inReplyTo":"CABPp-BGsa+e_4XuK0xaKbcNxg5CS8UuAjYNP9XWpAhXOPs7iaQ@mail.gmail.com","subject":"Re: which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-21T18:14:56Z","receivedAt":"2018-05-21T18:16:32Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"On Mon, 21 May 2018, Elijah Newren wrote:\n\n> > can anyone refresh my memory if that happened here, and whether\n> > that was the consensus after the discussion was over?\n>\n> Perhaps this: https://public-inbox.org/git/EEC5BA1D5F274F02AE20FC269868FDEF@PhilipOakley/\n> ?\n\n  yup, that's it, thanks.\n\nrday\n"},{"id":"348278","messageId":"xmqqefi4zbaw.fsf@gitster-ct.c.googlers.com","threadId":"48535","inReplyTo":"20180521175335.GC10623@aiede.svl.corp.google.com","subject":"Re: which files are \"known to git\"?","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-05-22T02:14:31Z","receivedAt":"2018-05-22T02:14:37Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jonathan Nieder <jrnieder@gmail.com> writes:\n\n> My understanding was the same as Elijah's.\n>\n> I would be in favor of a patch that replaces the phrase \"known to Git\"\n> in Git's documentation with something less confusing.\n\nOne possible twist I recall was that normally we only pay attention\nto the index (i.e. the term \"tracked files\" means \"paths shown in\nls-files (no args) output\"), but there was a desire to take a union\nof paths in the index and paths in the HEAD (the obvious difference\nis those that are removed from the index), and we may have called\nthese \"known to Git\" in the discussion to distinguish them from\n\"paths in the index\".\n\nClearly the phrase we are discussing (e.g. the ones used in \"git\nclean\" documentation) has been used _without_ such a desire but\nmerely is used carelessly and confusingly.  So I am all for finding\n\"known to Git\" and replace them with \"tracked\" and/or \"added to the\nindex\" when the phrase is not used to mean \"union of paths in the\nindex and in the HEAD\".\n\nThanks.\n\n"},{"id":"348363","messageId":"alpine.LFD.2.21.1805230406050.16917@localhost.localdomain","threadId":"48535","inReplyTo":"20180521175335.GC10623@aiede.svl.corp.google.com","subject":"Re: which files are \"known to git\"?","fromName":"Robert P. J. Day","fromEmail":"rpjday@crashcourse.ca","sentAt":"2018-05-23T08:20:01Z","receivedAt":"2018-05-23T08:21:45Z","isPatch":false,"sender":{"key":"rpjday@crashcourse.ca","avatar":"https://avatars.githubusercontent.com/u/226084077?v=4"},"body":"On Mon, 21 May 2018, Jonathan Nieder wrote:\n\n> Robert P. J. Day wrote:\n> > On Mon, 21 May 2018, Elijah Newren wrote:\n>\n> >> Hi Robert,\n> >>\n> >> I had always assumed prior to your email that 'known to Git'\n> >> meant 'tracked' or 'recorded in the index'...\n> >\n> >   i *know* i've been in this discussion before, but i don't\n> > remember where, i *assume* it was on this list, and i recall\n> > someone (again, don't remember who) who opined that there are two\n> > categories of files that are \"known to git\":\n>\n> My understanding was the same as Elijah's.\n>\n> I would be in favor of a patch that replaces the phrase \"known to\n> Git\" in Git's documentation with something less confusing.\n\n  ironically, the 2nd edition of o'reilly's \"version control with git\"\nuses the phrases \"known to Git\" and \"unknown to Git\" on p. 378 (and\nnowhere else that i can see):\n\n\"Furthermore, for the purposes of this [git clean] command, Git uses a\nslightly more conservative concept of under version control.\nSpecifically, the manual page uses the phrase “files that are unknown\nto Git” for a good reason: even files that are mentioned in the\n.gitignore and .git/info/exclude files are actually known to Git. They\nrepresent files that are not version controlled, but Git does know\nabout them. And because those files are called out in the .gitignore\nfiles, they must have some known (to you) behavior that shouldn’t be\ndisturbed by Git. So Git won’t clean out the ignored files unless you\nexplicitly request it with the -x option.\"\n\n  that phrase even occurs in git-produced diagnostic messages such as:\n\n  dir.c: error(\"pathspec '%s' did not match any file(s) known to git.\",\n\nin any event, perhaps the phrase \"known to Git\" has some value, as\nlong as it's defined very precisely and used consistently, which it\nobviously isn't right now.\n\nrday\n\n-- \n\n========================================================================\nRobert P. J. Day                                 Ottawa, Ontario, CANADA\n                  http://crashcourse.ca/dokuwiki\n\nTwitter:                                       http://twitter.com/rpjday\nLinkedIn:                               http://ca.linkedin.com/in/rpjday\n========================================================================"}]}