git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Why doesn't git commit -a track new files

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Feb 25, 2011, 08:43 UTC
Message-ID
<4D676B97.3000204@drmicha.warpmail.net>
In-Reply-To
<buozkpk91nf.fsf@dhlpc061.dev.necel.com>
Miles Bader venit, vidit, dixit 25.02.2011 05:30:
Show 13 quoted lines
> Michael J Gruber <git@drmicha.warpmail.net> writes:
>>> git add -A && git commit -m "Message"
>>
>> "commit -a" is much like "add -u", at least when used without file
>> arguments ("pathspec").
>>
>> "commit -A" does not exist, so that "git add -A && git commit" is your
>> only way.
>>
>> Why does it not exist? Because you should at least
>> "git add -A && git status && behappy && git commit".
> 
> The exact same argument applies to "git commit -a" of course, but it's

No, because you are usually more aware of tracked files than of untracked ones, especially in subdirs.

> still supported.  Why?  Because it's a nice convenience for many common
> situations.  It isn't the least bit unsafe if one does git status _first_.

That is why I recommended to use git status first. But "-A" is still different, because (depending on your config) git status does not show you files in untracked subdirs.

Show 9 quoted lines
>> Also, "-A" supports a very "un-gitty" way of using git. This makes it
>> unlikely that someone cares to implement it... (By "un-gitty" I don't
>> mean a matter of personal taste, but a matter of fruitful habits.)
> 
> Nonsense.
> 
> The index is a great idea, and cool and useful in many situations; I use
> it heavily, and wish other systems had something like it.  But there's
> nothing "un-gitty" or "unfruitful" about directly commiting sometimes.
And you can do that with "git add -A" followed by "git commit".
> For the record, I usually use the index, but sometimes when the changes

So if you use the index usually, it must be a fruitful habit. That renders your "Nonsense" remark rather nonsensical.

> are simple, I'll use shortcuts like "commit -a", because they're handy.
> Typically I'll do "git status" _first_, check that everything's kosher,
> and then do "git commit -a ...".  If "git commit -A" existed, I'd use
> that in the same way.

It almost exists (add -A plus commit), and you carefully chose to ignore my earlier posts about the implementation strategy leading to "commit -A" (after I had looked at the details of the code - have you?), of course, because otherwise the content of your post would be baseless; the tone is anyway. No surprise here either.

Just for those wondering:

The "habit problem" with "commit -A" is that, potentially, it keeps newcomers from learning vcs/git at all. It's a (too) wonderful way of not having to worry even about the concept of "files under version control" - this has nothing to do with using the index or not (that would be the "-a" thingy). Even "svn commit" does not do what "git commit -A" would.

No more posts from me on this subthread, it's just not worth it. Michael

Previous: Miles BaderNext: Miles Bader
Message 19 of 25 in “Why doesn't git commit -a track new files”
  1. MarcoFeb 24, 2011
  2. Ævar Arnfjörð BjarmasonFeb 24, 2011
  3. Pascal ObryFeb 24, 2011
  4. MarcoFeb 24, 2011
  5. Michael J GruberFeb 24, 2011
  6. Jeff KingFeb 24, 2011
  7. Michael J GruberFeb 24, 2011
  8. Jeff KingFeb 24, 2011
  9. Michael J GruberFeb 24, 2011
  10. Jeff KingFeb 24, 2011
  11. Michael J GruberFeb 25, 2011
  12. Jeff KingFeb 25, 2011
  13. Michael J GruberFeb 25, 2011
  14. Jeff KingFeb 25, 2011
  15. Matthieu MoyFeb 24, 2011
  16. Michael J GruberFeb 24, 2011
  17. MarcoFeb 24, 2011
  18. Miles BaderFeb 25, 2011
  19. Michael J GruberFeb 25, 2011
  20. Miles BaderFeb 26, 2011
  21. Marc WeberFeb 24, 2011
  22. Junio C HamanoFeb 24, 2011
  23. MarcoFeb 24, 2011
  24. Michael J GruberFeb 25, 2011
  25. Junio C HamanoFeb 25, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.