automatically removing missing files beneath a directory

5 messages, 2 authors, 2016-06-15 · open the first message on its own page

automatically removing missing files beneath a directory

From: Geoffrey Irving <hidden>
Date: 2016-06-15 22:44:35

If I have a subdirectory in a git repository, and I remove some files
without telling git, is there is a simple way to automatically run the
equivalent of 'git rm' for all the missing files?  git commit -a would
work, except that I only want to remove files beneath a particular
subdirectory.  git add <directory> does the equivalent operation for
adding files, but I don't see a way to automatically remove them
without parsing the output of git status.

Thanks,
Geoffrey

Re: automatically removing missing files beneath a directory

From: Jeff King <hidden>
Date: 2016-06-15 22:44:35

On Thu, May 08, 2008 at 09:39:22AM -0700, Geoffrey Irving wrote:
If I have a subdirectory in a git repository, and I remove some files
without telling git, is there is a simple way to automatically run the
equivalent of 'git rm' for all the missing files?  git commit -a would
work, except that I only want to remove files beneath a particular
subdirectory.  git add <directory> does the equivalent operation for
adding files, but I don't see a way to automatically remove them
without parsing the output of git status.
See "git add -u", which will update the status of all already-tracked
files in paths you specify. Note that this will also stage changes in
modified files. If you truly want to just mark all removed files, you
can do something like:

  git ls-files --deleted -z | xargs -0 git rm

-Peff

Re: automatically removing missing files beneath a directory

From: Geoffrey Irving <hidden>
Date: 2016-06-15 22:44:35

On Thu, May 8, 2008 at 9:44 AM, Jeff King [off-list ref] wrote:
On Thu, May 08, 2008 at 09:39:22AM -0700, Geoffrey Irving wrote:
quoted
If I have a subdirectory in a git repository, and I remove some files
without telling git, is there is a simple way to automatically run the
equivalent of 'git rm' for all the missing files?  git commit -a would
work, except that I only want to remove files beneath a particular
subdirectory.  git add <directory> does the equivalent operation for
adding files, but I don't see a way to automatically remove them
without parsing the output of git status.
See "git add -u", which will update the status of all already-tracked
files in paths you specify. Note that this will also stage changes in
modified files. If you truly want to just mark all removed files, you
can do something like:

 git ls-files --deleted -z | xargs -0 git rm

-Peff
Cool.  "git add -u && git add ." does exactly what I want.

This is only indirectly mentioned in the documentation.  If you think
it's reasonable to mention it more explicitly, I've attached a patch.

Thanks,
Geoffrey

Re: automatically removing missing files beneath a directory

From: Jeff King <hidden>
Date: 2016-06-15 22:44:35

On Thu, May 08, 2008 at 10:12:56AM -0700, Geoffrey Irving wrote:
Cool.  "git add -u && git add ." does exactly what I want.

This is only indirectly mentioned in the documentation.  If you think
it's reasonable to mention it more explicitly, I've attached a patch.
Yeah, the term "update" is not really defined there. I actually prefer
to mention it even earlier in the paragraph; does this make sense to
you?
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 35e67a0..e2389e3 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -71,7 +71,9 @@ OPTIONS
 	the specified filepatterns before exiting.
 
 -u::
-	Update only files that git already knows about. This is similar
+	Update only files that git already knows about, staging modified
+	content for commit and marking deleted files for removal. This
+	is similar
 	to what "git commit -a" does in preparation for making a commit,
 	except that the update is limited to paths specified on the
 	command line. If no paths are specified, all tracked files in the

Re: automatically removing missing files beneath a directory

From: Geoffrey Irving <hidden>
Date: 2016-06-15 22:44:35

On Thu, May 8, 2008 at 10:18 AM, Jeff King [off-list ref] wrote:
quoted hunk
On Thu, May 08, 2008 at 10:12:56AM -0700, Geoffrey Irving wrote:
quoted
Cool.  "git add -u && git add ." does exactly what I want.

This is only indirectly mentioned in the documentation.  If you think
it's reasonable to mention it more explicitly, I've attached a patch.
Yeah, the term "update" is not really defined there. I actually prefer
to mention it even earlier in the paragraph; does this make sense to
you?
diff --git a/Documentation/git-add.txt b/Documentation/git-add.txt
index 35e67a0..e2389e3 100644
--- a/Documentation/git-add.txt
+++ b/Documentation/git-add.txt
@@ -71,7 +71,9 @@ OPTIONS
       the specified filepatterns before exiting.

 -u::
-       Update only files that git already knows about. This is similar
+       Update only files that git already knows about, staging modified
+       content for commit and marking deleted files for removal. This
+       is similar
       to what "git commit -a" does in preparation for making a commit,
       except that the update is limited to paths specified on the
       command line. If no paths are specified, all tracked files in the
Yep, that's better than mine.

Geoffrey
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help