class_docstr: Mix-in class for Runners to be used to run git and git annex commands
  
  Overloads the runner class to check & update GIT_DIR and
  GIT_WORK_TREE environment variables set to the absolute path
  if is defined and is relative path
class_docstr_tok: ["Mix-in","class","for","Runners","to","be","used","to","run","git","and","git","annex","commands","Overloads","the","runner","class","to","check","&","update","GIT_DIR","and","GIT_WORK_TREE","environment","variables","set","to","the","absolute","path","if","is","defined","and","is","relative","path"]
code: def _get_bundled_path():
      from shutil import which
  
      annex_fpath = which("git-annex")
      if not annex_fpath:
          # not sure how to live further anyways! ;)
          alongside = False
      else:
          annex_path = op.dirname(op.realpath(annex_fpath))
          bundled_git_path = op.join(annex_path, "git")
          # we only need to consider bundled git if it's actually different
          # from default. (see issue #5030)
          alongside = op.lexists(
              bundled_git_path
          ) and bundled_git_path != op.realpath(which("git"))
  
      return annex_path if alongside else ""
  
imports: import logging
  import os
  import os.path
  from typing import Optional
  from datalad.dochelpers import borrowdoc
  from datalad.utils import generate_file_chunks, make_tempfile
  from .runner import GeneratorMixIn, WitlessRunner
label_desc: Use image node_id 2 for calling the GitRunnerBase obj's underlying member method code with example usage: obj._get_bundled_path() and returns: unknown