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

Bug Report: git add

From
DCDarren Cook <darren@dcook.org>
Date
Apr 5, 2011, 23:18 UTC
Message-ID
<4D9BA35E.6040204@dcook.org>

(Apologies if there is a proper place to report bugs; but I could not find one.)

PROBLEM: "git add" adds sub-directories without checking to see if there
is already a git repository already there.

WHY BAD: This causes files to be in two repositories (leading to a mess if you don't notice for a while...)

ONE SOLUTION: When adding files from a directory (except root of the repository, of course) look for a .git subdirectory, and complain if found. Allow --force to override this.

MORE SOPHISTICATED:
 1. Offer to merge in all that history, followed by removing that old
.git subdirectory.
 2. Look inside the .git subdirectory to see if the file being added is
actually under control there. If not, no need to complain.
EXAMPLE OF PROBLEM

The problem can arise when people are just dipping their toe into git, and decide to try it on just one directory, then later expand its use to the whole project.

  mkdir test
  cd test
  mkdir settings
  cd settings
  git init
  touch x
  git add x
  git commit -m "xx"
  (time passes)
  cd ..
  git init
  git add settings/
   (should complain)
Thanks for taking the time to read this,
Darren
-- 
Darren Cook, Software Researcher/Developer

http://dcook.org/work/ (About me and my work)
http://dcook.org/blogs.html (My blogs and articles)
Next: Ramkumar Ramachandra
Message 1 of 13 in “Bug Report: git add”
  1. Darren CookApr 5, 2011
  2. Ramkumar RamachandraApr 6, 2011
  3. Jakub NarebskiApr 10, 2011
  4. Ramkumar RamachandraApr 10, 2011
  5. Junio C HamanoApr 11, 2011
  6. Jeff KingApr 11, 2011
  7. Jeff KingApr 7, 2011
  8. Junio C HamanoApr 7, 2011
  9. Jeff KingApr 7, 2011
  10. Jeff KingApr 7, 2011
  11. Junio C HamanoApr 7, 2011
  12. Jeff KingApr 8, 2011
  13. Jeff KingApr 8, 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.