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

[PATCHv3 6/7] Add new fast-export testcases

From
newren@gmail.com <newren@gmail.com>
Date
Jun 26, 2009, 04:48 UTC
Message-ID
<1245991713-12782-7-git-send-email-newren@gmail.com>
In-Reply-To
<1245991713-12782-1-git-send-email-newren@gmail.com>
From: Elijah Newren <newren@gmail.com>

The testcases test the new --tag-of-filtered-object option, the output when limiting what to export by path, and test behavior when no exact-ref revision is included (e.g. master~8 present on command line but not master).

Signed-off-by: Elijah Newren <newren@gmail.com>
---
Since the last series, one new testcase was added to document that running
with arguments like 'master~3' or 'master~7..master~2' are still broken.
 t/t9301-fast-export.sh |   88 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 88 insertions(+), 0 deletions(-)
diff --git a/t/t9301-fast-export.sh b/t/t9301-fast-export.sh
index 3f13e6b..356964e 100755
--- a/t/t9301-fast-export.sh
+++ b/t/t9301-fast-export.sh
@@ -262,6 +262,94 @@ test_expect_success 'cope with tagger-less tags' '
 
 '
 
+test_expect_success 'setup for limiting exports by PATH' '
+	mkdir limit-by-paths &&
+	cd limit-by-paths &&
+	git init &&
+	echo hi > there &&
+	git add there &&
+	git commit -m "First file" &&
+	echo foo > bar &&
+	git add bar &&
+	git commit -m "Second file" &&
+	git tag -a -m msg mytag &&
+	echo morefoo >> bar &&
+	git add bar &&
+	git commit -m "Change to second file" &&
+	cd ..
+'
+
+cat > limit-by-paths/expected << EOF
+blob
+mark :1
+data 3
+hi
+
+reset refs/tags/mytag
+commit refs/tags/mytag
+mark :2
+author A U Thor <author@example.com> 1112912713 -0700
+committer C O Mitter <committer@example.com> 1112912713 -0700
+data 11
+First file
+M 100644 :1 there
+
+EOF
+
+test_expect_success 'dropping tag of filtered out object' '
+	cd limit-by-paths &&
+	git fast-export --tag-of-filtered-object=drop mytag -- there > output &&
+	test_cmp output expected &&
+	cd ..
+'
+
+cat >> limit-by-paths/expected << EOF
+tag mytag
+from :2
+tagger C O Mitter <committer@example.com> 1112912713 -0700
+data 4
+msg
+
+EOF
+
+test_expect_success 'rewriting tag of filtered out object' '
+	cd limit-by-paths &&
+	git fast-export --tag-of-filtered-object=rewrite mytag -- there > output &&
+	test_cmp output expected &&
+	cd ..
+'
+
+cat > limit-by-paths/expected << EOF
+blob
+mark :1
+data 4
+foo
+
+blob
+mark :2
+data 3
+hi
+
+reset refs/heads/master
+commit refs/heads/master
+mark :3
+author A U Thor <author@example.com> 1112912713 -0700
+committer C O Mitter <committer@example.com> 1112912713 -0700
+data 12
+Second file
+M 100644 :1 bar
+M 100644 :2 there
+
+EOF
+
+test_expect_failure 'no exact-ref revisions included' '
+	cd limit-by-paths &&
+	git fast-export master~2..master~1 > output &&
+	test_cmp output expected &&
+	cd ..
+'
+
+
 test_expect_success 'set-up a few more tags for tag export tests' '
 	git checkout -f master &&
 	HEAD_TREE=`git show -s --pretty=raw HEAD | grep tree | sed "s/tree //"` &&
-- 
1.6.3.2.323.geb889
Previous: newren@gmail.comNext: newren@gmail.com
Message 7 of 8 in “A few fast export fixups -- round 3”
  1. newren@gmail.comJun 26, 2009
  2. 1/7 fast-export: Set revs.topo_order before calling setup_revisionsnewren@gmail.com, Jun 26, 2009
  3. 2/7 fast-export: Omit tags that tag treesnewren@gmail.com, Jun 26, 2009
  4. 3/7 fast-export: Make sure we show actual ref names instead of "(null)"newren@gmail.com, Jun 26, 2009
  5. 4/7 fast-export: Do parent rewriting to avoid dropping relevant commitsnewren@gmail.com, Jun 26, 2009
  6. 5/7 fast-export: Add a --tag-of-filtered-object option for newly dangling tagsnewren@gmail.com, Jun 26, 2009
  7. 6/7 Add new fast-export testcasesnewren@gmail.com, Jun 26, 2009
  8. 7/7 fast-export: Document the fact that git-rev-list arguments are acceptednewren@gmail.com, Jun 26, 2009

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.