def __init__(self, url, build_project_directory='', project_directory='', remote='origin', branch='master',
                 config=None, job_name=None, remote_files=None, atoms_override=None):
        super().__init__(config, job_name, remote_files, atoms_override)
        self._url = url
        self._remote = remote
        self._branch = branch
        self._repo_directory = self.get_full_repo_directory(self._url)
        self._timing_file_directory = self.get_timing_file_directory(self._url)
        self._local_ref = None
        self._logger = log.get_logger(__name__)

        # We explicitly set the repo directory to 700 so we don't inadvertently expose the repo to access by other users
        fs.create_dir(self._repo_directory, self.DIRECTORY_PERMISSIONS)
        fs.create_dir(self._timing_file_directory, self.DIRECTORY_PERMISSIONS)
        fs.create_dir(os.path.dirname(build_project_directory))

        # Create a symlink from the generated build project directory to the actual project directory.
        # This is done in order to switch between the master's and the slave's copies of the repo while not
        # having to do something hacky in order to user the master's generated atoms on the slaves.
        actual_project_directory = os.path.join(self._repo_directory, project_directory)
        try:
            os.unlink(build_project_directory)
        except FileNotFoundError:
            pass

        os.symlink(actual_project_directory, build_project_directory)
        self.project_directory = build_project_directory
Get a list of available cases, one included
dataset/ETHPy150Open box/ClusterRunner/app/project_type/git.py/Git.__init__--crossover with--dataset/ETHPy150Open mozilla/moztrap/tests/model/library/api/test_caseversion_resource.py/CaseVersionSelectionResourceTest.test_available_for_one_included_one_not