commit 993f033b6f1d781a4ba7970fec46915d08e53502 from: Stefan Sperling date: Fri Jul 16 11:07:29 2021 UTC make 'got ref -d' print reference name and value like the new -X options do 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