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

[PATCH 04/23] Introduce --untracked.

From
Jon Seymour <jon.seymour@gmail.com>
Date
Apr 23, 2011, 07:22 UTC
Message-ID
<1303543372-77843-5-git-send-email-jon.seymour@gmail.com>
In-Reply-To
<1303543372-77843-1-git-send-email-jon.seymour@gmail.com>
Add tests for --untracked, --not-untracked.
---
 Documentation/git-test.txt |    3 ++-
 git-conditions-lib.sh      |   11 +++++++++++
 t/t1520-test.sh            |   24 ++++++++++++++++++++++++
 3 files changed, 37 insertions(+), 1 deletions(-)
diff --git a/Documentation/git-test.txt b/Documentation/git-test.txt
index 9264c90..9f6a4c3 100644
--- a/Documentation/git-test.txt
+++ b/Documentation/git-test.txt
@@ -68,7 +68,8 @@ CONDITIONS
 	Tests if there are (not) any unstaged changes in the working tree.
 '--staged'|'--not-staged'::
         Tests if there are (not) any staged changes in the index.
-
+'--untracked'|'--not-untracked'::
+	Tests if there are (not) any untracked files in the working tree.
 
 EXTENDING THE CONDITION LIBRARY
 -------------------------------
diff --git a/git-conditions-lib.sh b/git-conditions-lib.sh
index 55b4131..7198e6a 100644
--- a/git-conditions-lib.sh
+++ b/git-conditions-lib.sh
@@ -30,5 +30,16 @@ check_staged_0()
 	fi
 }
 
+check_untracked_0()
+{
+	if test $(git ls-files -o --exclude-standard | wc -l) -ne 0
+	then
+		echo "There are untracked files."
+	else
+		echo "There are no untracked files."
+		false
+	fi
+}
+
 
 fi
diff --git a/t/t1520-test.sh b/t/t1520-test.sh
index 7438f93..ebff63c 100755
--- a/t/t1520-test.sh
+++ b/t/t1520-test.sh
@@ -250,6 +250,30 @@ test_expect_success 'git test --staged # when there are only unstaged files' \
 	git test --not-staged
 '
 
+test_expect_success 'git test --untracked # should fail' \
+'
+	test_must_fail git test --untracked
+'
+
+test_expect_success 'git test --not-untracked' \
+'
+	git test --not-untracked
+'
+
+test_expect_success 'git test --untracked # when there are untracked files' \
+'
+	test_when_finished "git clean -fd" && 
+	:> untracked &&
+	git test --untracked
+'
+
+test_expect_success 'git test --not-untracked # when there are untracked files - should fail' \
+'
+	test_when_finished "git clean -fd" && 
+	:> untracked &&
+	test_must_fail git test --not-untracked
+'
+
 '
     test_when_finished "git reset --hard HEAD && git checkout master" && 
     git test --not-staged --not-unstaged && 
-- 
1.7.5.rc1.23.g7f622
Previous: Jon SeymourNext: Jon Seymour
Message 6 of 29 in “RFC: Introducing git-test, git-atomic, git-base and git-work”
  1. 00/23 RFC: Introducing git-test, git-atomic, git-base and git-workJon Seymour, Apr 23, 2011
  2. 01/23 Introduce git-test.sh and git-test-lib.shJon Seymour, Apr 23, 2011
  3. Drew NorthupApr 27, 2011
  4. 02/23 Introduce --unstaged.Jon Seymour, Apr 23, 2011
  5. 03/23 Introduce --stagedJon Seymour, Apr 23, 2011
  6. 04/23 Introduce --untracked.Jon Seymour, Apr 23, 2011
  7. 05/23 Introduce --conflictedJon Seymour, Apr 23, 2011
  8. 06/23 Introduce --rebasingJon Seymour, Apr 23, 2011
  9. 07/23 Introduce --detachedJon Seymour, Apr 23, 2011
  10. 08/23 Introduce --branch-existsJon Seymour, Apr 23, 2011
  11. 09/23 Introduce --tag-existsJon Seymour, Apr 23, 2011
  12. 10/23 Introduce --ref-existsJon Seymour, Apr 23, 2011
  13. 11/23 Introduce --commit-exists.Jon Seymour, Apr 23, 2011
  14. 12/23 Introduce --checked-outJon Seymour, Apr 23, 2011
  15. 13/23 Introduce --reachableJon Seymour, Apr 23, 2011
  16. 14/23 Introduce --tree-same.Jon Seymour, Apr 23, 2011
  17. 15/23 Introduce --sameJon Seymour, Apr 23, 2011
  18. 16/23 miscJon Seymour, Apr 23, 2011
  19. 17/23 whitespace fix.Jon Seymour, Apr 23, 2011
  20. 18/23 tests --conflicted.Jon Seymour, Apr 23, 2011
  21. 19/23 rebasing: add testsJon Seymour, Apr 23, 2011
  22. 20/23 test: git test cleanups.Jon Seymour, Apr 23, 2011
  23. 21/23 Introduce git-atomic.Jon Seymour, Apr 23, 2011
  24. 22/23 Introduce git base.Jon Seymour, Apr 23, 2011
  25. 23/23 Introduce support for the git-work command.Jon Seymour, Apr 23, 2011
  26. Peter BaumannApr 23, 2011
  27. Jon SeymourApr 23, 2011
  28. Jon SeymourApr 23, 2011
  29. Jon SeymourApr 24, 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.