code: def clone(self, path=None, bare=False):
          
          #note to self: see --reference, --shared options
          if path is None:
              path = os.path.basename(url)
          try:
              self.git.clone(self.url, path, '--bare'*bare, '--depth=0')
              return Repo(path)
          except Exception, e:
              raise GritError(e)
docs: Clone the repository to path (requires git).
  
          :param path: Destination filesystem path.
          :param bare: Make this a bare repo.
  
          :returns: grit.Repo instance.
  
          For example:
  
              >>> r = Repo("http://localhost/projects/a/b/c")
              >>> c = r.clone('/tmp')
              >>> c
              <grit.Repo "/tmp/c">