def obtain(self):
self.check_destination()<EOL>url = self.url<EOL>cmd = ['<STR_LIT>', '<STR_LIT>']<EOL>if self.git_shallow:<EOL><INDENT>cmd.extend(['<STR_LIT>', '<STR_LIT:1>'])<EOL><DEDENT>if self.tls_verify:<EOL><INDENT>cmd.extend(['<STR_LIT:-c>', '<STR_LIT>'])<EOL><DEDENT>cmd.extend([url, self.path])<EOL>self.info('<STR_LIT>')<EOL>self.run(cmd, log_in_real_time=True)<EOL>if self.remotes:<EOL><INDENT>for r in self.remotes:<EOL><INDENT>self.error('<STR_LIT>' % (r['<STR_LIT>'], r['<STR_LIT:url>']))<EOL>self.remote_set(name=r['<STR_LIT>'], url=r['<STR_LIT:url>'])<EOL><DEDENT><DEDENT>self.info('<STR_LIT>')<EOL>self.run(['<STR_LIT>', '<STR_LIT>'], log_in_real_time=True)<EOL>cmd = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>cmd.extend(self.git_submodules)<EOL>self.run(cmd, log_in_real_time=True)<EOL>
Retrieve the repository, clone if doesn't exist.