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

[PATCH 3/5] t6050-replace: test that objects are of the same type

From
Christian Couder <chriscool@tuxfamily.org>
Date
Aug 25, 2013, 13:06 UTC
Message-ID
<20130825130609.4681.58306.chriscool@tuxfamily.org>
In-Reply-To
<20130825125940.4681.70226.chriscool@tuxfamily.org>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 t/t6050-replace.sh | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
index decdc33..8f631ac 100755
--- a/t/t6050-replace.sh
+++ b/t/t6050-replace.sh
@@ -263,4 +263,17 @@ test_expect_success 'not just commits' '
 	test_cmp file.replaced file
 '
 
+test_expect_success 'replaced and replacement objects must be of the same type' '
+	test_must_fail git replace mytag $HASH1 2>err &&
+	grep "Object ref '\''mytag'\'' is of type '\''tag'\''" err &&
+	grep "replace ref '\''$HASH1'\'' is of type '\''commit'\''" err &&
+	test_must_fail git replace HEAD^{tree} HEAD~1 2>err &&
+	grep "Object ref '\''HEAD^{tree}'\'' is of type '\''tree'\''" err &&
+	grep "replace ref '\''HEAD~1'\'' is of type '\''commit'\''" err &&
+	BLOB=$(git rev-parse :file) &&
+	test_must_fail git replace HEAD^ $BLOB 2>err &&
+	grep "Object ref '\''HEAD^'\'' is of type '\''commit'\''" err &&
+	grep "replace ref '\''$BLOB'\'' is of type '\''blob'\''" err
+'
+
 test_done
-- 
1.8.4.rc1.24.g13dc82a
Previous: Christian CouderNext: Johannes Sixt
Message 8 of 11 in “Check replacement object type and minor updates”
  1. 0/5 Check replacement object type and minor updatesChristian Couder, Aug 25, 2013
  2. 1/5 replace: forbid replacing an object with one of a different typeChristian Couder, Aug 25, 2013
  3. Johannes SixtAug 25, 2013
  4. Christian CouderAug 25, 2013
  5. Johannes SixtAug 25, 2013
  6. Christian CouderAug 26, 2013
  7. 2/5 Documentation/replace: state that objects must be of the same typeChristian Couder, Aug 25, 2013
  8. 3/5 t6050-replace: test that objects are of the same typeChristian Couder, Aug 25, 2013
  9. Johannes SixtAug 25, 2013
  10. 4/5 t6050-replace: add test to clean up all the replace refsChristian Couder, Aug 25, 2013
  11. 5/5 Documentation/replace: add Creating Replacement Objects sectionChristian Couder, Aug 25, 2013

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.