code: def test_gh1763(src=None, target1=None, target2=None, target3=None):
      # this test is very similar to test_publish_depends, but more
      # comprehensible, and directly tests issue 1763
      src = Dataset(src).create(force=True, **ckwa)
      targets = [
          mk_push_target(src, f"target{i}", t, bare=False)
          for i, t in enumerate([target1, target2, target3])
      ]
      src.siblings(
          "configure",
          name="target0",
          publish_depends=["target1", "target2"],
          **ckwa,
      )
      # a file to annex
      (src.pathobj / "probe1").write_text("probe1")
      src.save("probe1", to_git=False, **ckwa)
      # make sure the probe is annexed, not straight in Git
      assert_in(
          "probe1", src.repo.get_annexed_files(with_content_only=True)
      )
      # publish to target0, must handle dependency
      src.push(to="target0", **ckwa)
      for target in targets:
          # with a managed branch we are pushing into the corresponding branch
          # and do not see a change in the worktree
          if not target.is_managed_branch():
              # direct test for what is in the checkout
              assert_in(
                  "probe1",
                  target.get_annexed_files(with_content_only=True),
              )
          # ensure git-annex knows this target has the file
          assert_in(
              target.config.get("annex.uuid"),
              src.repo.whereis(["probe1"])[0],
          )
  
imports: import logging
  import os
  import pytest
  from datalad.core.distributed.clone import Clone
  from datalad.core.distributed.push import Push
  from datalad.distribution.dataset import Dataset
  from datalad.support.annexrepo import AnnexRepo
  from datalad.support.exceptions import IncompleteResultsError, InsufficientArgumentsError
  from datalad.support.external_versions import external_versions
  from datalad.support.gitrepo import GitRepo
  from datalad.support.network import get_local_file_url
  from datalad.tests.utils_pytest import DEFAULT_BRANCH, DEFAULT_REMOTE, SkipTest, assert_false, assert_in, assert_in_results, assert_not_in, assert_not_in_results, assert_raises, assert_repo_status, assert_result_count, assert_status, eq_, known_failure_githubci_osx, known_failure_githubci_win, neq_, ok_, ok_file_has_content, serve_path_via_http, skip_if_adjusted_branch, skip_if_on_windows, skip_ssh, slow, swallow_logs, with_tempfile, with_tree
  from datalad.utils import Path, chpwd, path_startswith, swallow_outputs
label_desc: Use image node_id 12 for calling a global function with example usage: test_gh1763(src, target1, target2, target3) without return types