Show More
@@ -22,6 +22,7 b'' | |||
|
22 | 22 | VCS Backends module |
|
23 | 23 | """ |
|
24 | 24 | |
|
25 | import os | |
|
25 | 26 | import logging |
|
26 | 27 | |
|
27 | 28 | from pprint import pformat |
@@ -42,11 +43,18 b' def get_vcs_instance(repo_path, *args, *' | |||
|
42 | 43 | for the path it returns None. Arguments and keyword arguments are passed |
|
43 | 44 | to the vcs backend repository class. |
|
44 | 45 | """ |
|
46 | explicit_vcs_alias = kwargs.pop('_vcs_alias', None) | |
|
45 | 47 | try: |
|
46 | vcs_alias = get_scm(repo_path)[0] | |
|
48 | vcs_alias = explicit_vcs_alias or get_scm(repo_path)[0] | |
|
47 | 49 | log.debug( |
|
48 | 50 | 'Creating instance of %s repository from %s', vcs_alias, repo_path) |
|
49 | 51 | backend = get_backend(vcs_alias) |
|
52 | ||
|
53 | if explicit_vcs_alias: | |
|
54 | # do final verification of existance of the path, this does the | |
|
55 | # same as get_scm() call which we skip in explicit_vcs_alias | |
|
56 | if not os.path.isdir(repo_path): | |
|
57 | raise VCSError("Given path %s is not a directory" % repo_path) | |
|
50 | 58 | except VCSError: |
|
51 | 59 | log.exception( |
|
52 | 60 | 'Perhaps this repository is in db and not in ' |
@@ -1987,12 +1987,12 b' class Repository(Base, BaseModel):' | |||
|
1987 | 1987 | custom_wire = { |
|
1988 | 1988 | 'cache': cache # controls the vcs.remote cache |
|
1989 | 1989 | } |
|
1990 | ||
|
1991 | 1990 | repo = get_vcs_instance( |
|
1992 | 1991 | repo_path=safe_str(self.repo_full_path), |
|
1993 | 1992 | config=config, |
|
1994 | 1993 | with_wire=custom_wire, |
|
1995 |
create=False |
|
|
1994 | create=False, | |
|
1995 | _vcs_alias=self.repo_type) | |
|
1996 | 1996 | |
|
1997 | 1997 | return repo |
|
1998 | 1998 |
General Comments 0
You need to be logged in to leave comments.
Login now