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

[PATCH 1/5] git-p4: only a single ... wildcard is supported

From
PWPete Wyckoff <pw@padd.com>
Date
Jan 11, 2012, 23:31 UTC
Message-ID
<1326324670-15967-2-git-send-email-pw@padd.com>
In-Reply-To
<1326324670-15967-1-git-send-email-pw@padd.com>
Catch the case where a ... exists at the end, and also elsehwere.
Reported-by: Gary Gibbons <ggibbons@perforce.com>
Signed-off-by: Pete Wyckoff <pw@padd.com>
---
 contrib/fast-import/git-p4    |    4 ++--
 t/t9809-git-p4-client-view.sh |    8 +++++++-
 2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 3e1aa27..20208bf 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -1207,8 +1207,8 @@ class View(object):
                 die("Can't handle * wildcards in view: %s" % self.path)
             triple_dot_index = self.path.find("...")
             if triple_dot_index >= 0:
-                if not self.path.endswith("..."):
-                    die("Can handle ... wildcard only at end of path: %s" %
+                if triple_dot_index != len(self.path) - 3:
+                    die("Can handle only single ... wildcard, at end: %s" %
                         self.path)
                 self.ends_triple_dot = True
 
diff --git a/t/t9809-git-p4-client-view.sh b/t/t9809-git-p4-client-view.sh
index c9471d5..54204af 100755
--- a/t/t9809-git-p4-client-view.sh
+++ b/t/t9809-git-p4-client-view.sh
@@ -101,12 +101,18 @@ test_expect_success 'unsupported view wildcard *' '
 	test_must_fail "$GITP4" clone --use-client-spec --dest="$git" //depot
 '
 
-test_expect_success 'wildcard ... only supported at end of spec' '
+test_expect_success 'wildcard ... only supported at end of spec 1' '
 	client_view "//depot/.../file11 //client/.../file11" &&
 	test_when_finished cleanup_git &&
 	test_must_fail "$GITP4" clone --use-client-spec --dest="$git" //depot
 '
 
+test_expect_success 'wildcard ... only supported at end of spec 2' '
+	client_view "//depot/.../a/... //client/.../a/..." &&
+	test_when_finished cleanup_git &&
+	test_must_fail "$GITP4" clone --use-client-spec --dest="$git" //depot
+'
+
 test_expect_success 'basic map' '
 	client_view "//depot/dir1/... //client/cli1/..." &&
 	files="cli1/file11 cli1/file12" &&
-- 
1.7.8.1.409.g3e338.dirty
Previous: Pete WyckoffNext: Pete Wyckoff
Message 2 of 6 in “git-p4: view spec review fixes”
  1. 0/5 git-p4: view spec review fixesPete Wyckoff, Jan 11, 2012
  2. 1/5 git-p4: only a single ... wildcard is supportedPete Wyckoff, Jan 11, 2012
  3. 2/5 git-p4: fix verbose comment typoPete Wyckoff, Jan 11, 2012
  4. 3/5 git-p4: clarify commentPete Wyckoff, Jan 11, 2012
  5. 4/5 git-p4: adjust test to adhere to stricter useClientSpecPete Wyckoff, Jan 11, 2012
  6. 5/5 git-p4: add tests demonstrating spec overlay ambiguitiesPete Wyckoff, Jan 11, 2012

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.