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

[PATCH 8/9] checkout ":" is not giving any pathspec

From
Junio C Hamano <gitster@pobox.com>
Date
May 10, 2011, 05:51 UTC
Message-ID
<1305006678-4051-9-git-send-email-gitster@pobox.com>
In-Reply-To
<1305006678-4051-1-git-send-email-gitster@pobox.com>

"git cmd :" should be exactly the same as running "git cmd" from the root level of the working tree. Do not decide solely on the value of argc (i.e. remaining parameters after options and revs are parsed), but make sure we actually do have pathspec to switch operation modes.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 builtin/checkout.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index 2bf02f2..fe46725 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -890,6 +890,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
 	char *conflict_style = NULL;
 	int patch_mode = 0;
 	int dwim_new_local_branch = 1;
+	const char **pathspec;
 	struct option options[] = {
 		OPT__QUIET(&opts.quiet, "suppress progress reporting"),
 		OPT_STRING('b', NULL, &opts.new_branch, "branch",
@@ -1004,12 +1005,8 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
 	if (opts.track == BRANCH_TRACK_UNSPECIFIED)
 		opts.track = git_branch_track;
 
-	if (argc) {
-		const char **pathspec = get_pathspec(prefix, argv);
-
-		if (!pathspec)
-			die("invalid path specification");
-
+	pathspec = get_pathspec(prefix, argv);
+	if (argc && pathspec) {
 		if (patch_mode)
 			return interactive_checkout(new.name, pathspec, &opts);
 
-- 
1.7.5.1.290.g1b565
Previous: Nguyen Thai Ngoc DuyNext: Junio C Hamano
Message 20 of 28 in “t3703: add test cases for pathspec magic”
  1. t3703: add test cases for pathspec magicNguyễn Thái Ngọc Duy, May 7, 2011
  2. Junio C HamanoMay 7, 2011
  3. Nguyen Thai Ngoc DuyMay 8, 2011
  4. t3703, t4208: add test cases for magic pathspecNguyễn Thái Ngọc Duy, May 8, 2011
  5. Junio C HamanoMay 8, 2011
  6. Nguyen Thai Ngoc DuyMay 9, 2011
  7. Junio C HamanoMay 9, 2011
  8. Junio C HamanoMay 9, 2011
  9. 0/9 magic pathspec updatesJunio C Hamano, May 10, 2011
  10. 1/9 grep: use get_pathspec() correctlyJunio C Hamano, May 10, 2011
  11. 2/9 get_pathspec(): an empty ':' pathspec should stand aloneJunio C Hamano, May 10, 2011
  12. 3/9 count_pathspec(): return number of elements in pathspecJunio C Hamano, May 10, 2011
  13. Nguyen Thai Ngoc DuyMay 10, 2011
  14. 4/9 add ":" is a pathspec that is too wideJunio C Hamano, May 10, 2011
  15. 5/9 git rm ":" is like specifying nothingJunio C Hamano, May 10, 2011
  16. 6/9 clean ":" is like specifying nothingJunio C Hamano, May 10, 2011
  17. Thiago FarinaMay 10, 2011
  18. 7/9 mv ":" ":" is like moving nothing from nowhere to nowhereJunio C Hamano, May 10, 2011
  19. Nguyen Thai Ngoc DuyMay 10, 2011
  20. 8/9 checkout ":" is not giving any pathspecJunio C Hamano, May 10, 2011
  21. 9/9 t3703, t4208: add test cases for magic pathspecJunio C Hamano, May 10, 2011
  22. t3703: Skip tests using directory name ":" on WindowsJohannes Sixt, May 12, 2011
  23. Ævar Arnfjörð BjarmasonMay 29, 2011
  24. Junio C HamanoMay 29, 2011
  25. Ævar Arnfjörð BjarmasonMay 29, 2011
  26. Nguyen Thai Ngoc DuyMay 10, 2011
  27. Junio C HamanoMay 10, 2011
  28. Nguyen Thai Ngoc DuyMay 11, 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.