Commit Diff


commit - 643b85bcb48e24fd2ca96d415d8e61e1ceef9aad
commit + 993f033b6f1d781a4ba7970fec46915d08e53502
blob - 8dc4d8f2f703bc7e275e8efeece9dd5690dc546f
blob + fb2f5bf6b9431a0d21cf733b1b65dd54fcea2e77
--- got/got.c
+++ got/got.c
@@ -5277,13 +5277,27 @@ delete_ref(struct got_repository *repo, const char *re
 {
 	const struct got_error *err = NULL;
 	struct got_reference *ref;
+	struct got_object_id *id = NULL;
+	char *id_str = NULL;
 
 	err = got_ref_open(&ref, repo, refname, 0);
 	if (err)
 		return err;
+
+	err = got_ref_resolve(&id, repo, ref);
+	if (err)
+		goto done;
+	err = got_object_id_str(&id_str, id);
+	if (err)
+		goto done;
+
+	printf("Deleted %s: %s\n", got_ref_get_name(ref), id_str);
 
 	err = got_ref_delete(ref, repo);
+done:
 	got_ref_close(ref);
+	free(id);
+	free(id_str);
 	return err;
 }
 
blob - 6290a776df1e3a5e1a9e2083ba0e13f86f8ee30a
blob + 72a0111c612df2b974ee3335c72a8d724d58f0df
--- regress/cmdline/cleanup.sh
+++ regress/cmdline/cleanup.sh
@@ -67,7 +67,8 @@ test_cleanup_unreferenced_loose_objects() {
 	# remove worktree's base commit reference, which points at the branch
 	wt_uuid=`(cd $testroot/wt && got info | grep 'UUID:' | \
 		cut -d ':' -f 2 | tr -d ' ')`
-	got ref -r $testroot/repo -d "refs/got/worktree/base-$wt_uuid"
+	got ref -r $testroot/repo -d "refs/got/worktree/base-$wt_uuid" \
+		> /dev/null
 
 	# cleanup -n should not remove any objects
 	ls -R $testroot/repo/.git/objects > $testroot/objects-before
blob - fa4ff0524821f4d1b0e9bc984f084f50e656bdb0
blob + 5292407a8ef566f5ec84e218ccc736574fa22077
--- regress/cmdline/fetch.sh
+++ regress/cmdline/fetch.sh
@@ -939,7 +939,7 @@ test_fetch_headref_deleted_locally() {
 		return 1
 	fi
 
-	got ref -r $testroot/repo-clone -d refs/remotes/origin/HEAD
+	got ref -r $testroot/repo-clone -d refs/remotes/origin/HEAD > /dev/null
 
 	got fetch -q -r $testroot/repo-clone
 	ret="$?"
blob - d590abf4efb9a74b11e35c01ec82cfdfad3c7893
blob + 6d5ebb983005fdef61cb6e02c5ffb1acbf3d065c
--- regress/cmdline/rebase.sh
+++ regress/cmdline/rebase.sh
@@ -912,7 +912,7 @@ test_rebase_forward() {
 	# commit 3907e11dceaae2ca7f8db79c2af31794673945ad (origin/master)
 	# commit ffcffcd102cf1af6572fbdbb4cf07a0f1fd2d840 (master)
 	# commit 87a6a8a2263a15b61c016ff1720b24741d455eb5
-	(cd $testroot/repo && got ref -d master)
+	(cd $testroot/repo && got ref -d master >/dev/null)
 	(cd $testroot/repo && got ref -c $commit1 refs/heads/master)
 	(cd $testroot/repo && got ref -c $commit2 refs/remotes/origin/master)
 
blob - 0093198f72cd80b8562f1b5be725d6dfcd6cffc4
blob + 98a9f97817406af6ab4f6951d6ad39093468880c
--- regress/cmdline/ref.sh
+++ regress/cmdline/ref.sh
@@ -206,6 +206,14 @@ test_ref_delete() {
 	ret="$?"
 	if [ "$ret" != "0" ]; then
 		echo "got ref command failed unexpectedly"
+		test_done "$testroot" "$ret"
+		return 1
+	fi
+	echo "Deleted refs/heads/ref2: $commit_id" > $testroot/stdout.expected
+	cmp -s $testroot/stdout $testroot/stdout.expected
+	ret="$?"
+	if [ "$ret" != "0" ]; then
+		diff -u $testroot/stdout.expected $testroot/stdout
 		test_done "$testroot" "$ret"
 		return 1
 	fi
@@ -263,7 +271,7 @@ test_ref_delete() {
 		return 1
 	fi
 
-	got ref -r $testroot/repo -d master
+	got ref -r $testroot/repo -d master >/dev/null
 
 	got ref -l -r $testroot/repo > $testroot/stdout
 	echo "HEAD: refs/heads/master" > $testroot/stdout.expected