Show More
@@ -2227,7 +2227,7 b' def revoke_user_group_permission(request' | |||
|
2227 | 2227 | |
|
2228 | 2228 | |
|
2229 | 2229 | @jsonrpc_method() |
|
2230 | def pull(request, apiuser, repoid, remote_uri=Optional(None)): | |
|
2230 | def pull(request, apiuser, repoid, remote_uri=Optional(None), sync_large_objects=Optional(False)): | |
|
2231 | 2231 | """ |
|
2232 | 2232 | Triggers a pull on the given repository from a remote location. You |
|
2233 | 2233 | can use this to keep remote repositories up-to-date. |
@@ -2244,6 +2244,8 b' def pull(request, apiuser, repoid, remot' | |||
|
2244 | 2244 | :type repoid: str or int |
|
2245 | 2245 | :param remote_uri: Optional remote URI to pass in for pull |
|
2246 | 2246 | :type remote_uri: str |
|
2247 | :param sync_large_objects: Optional flag for pulling LFS objects. | |
|
2248 | :type sync_large_objects: bool | |
|
2247 | 2249 | |
|
2248 | 2250 | Example output: |
|
2249 | 2251 | |
@@ -2277,7 +2279,7 b' def pull(request, apiuser, repoid, remot' | |||
|
2277 | 2279 | |
|
2278 | 2280 | try: |
|
2279 | 2281 | ScmModel().pull_changes( |
|
2280 | repo.repo_name, apiuser.username, remote_uri=remote_uri) | |
|
2282 | repo.repo_name, apiuser.username, remote_uri=remote_uri, sync_large_objects=sync_large_objects) | |
|
2281 | 2283 | return { |
|
2282 | 2284 | 'msg': 'Pulled from url `{}` on repo `{}`'.format( |
|
2283 | 2285 | remote_uri_display, repo.repo_name), |
@@ -52,7 +52,7 b' class RepoSettingsRemoteView(RepoAppView' | |||
|
52 | 52 | |
|
53 | 53 | try: |
|
54 | 54 | ScmModel().pull_changes( |
|
55 | self.db_repo_name, self._rhodecode_user.username) | |
|
55 | self.db_repo_name, self._rhodecode_user.username, sync_large_objects=True) | |
|
56 | 56 | h.flash(_('Pulled from remote location'), category='success') |
|
57 | 57 | except Exception: |
|
58 | 58 | log.exception("Exception during pull from remote") |
@@ -669,11 +669,11 b' class GitRepository(BaseRepository):' | |||
|
669 | 669 | self._remote.pull(url, refs=refs, update_after=update_after) |
|
670 | 670 | self._remote.invalidate_vcs_cache() |
|
671 | 671 | |
|
672 | def fetch(self, url, commit_ids=None): | |
|
672 | def fetch(self, url, commit_ids=None, **kwargs): | |
|
673 | 673 | """ |
|
674 | 674 | Fetch all git objects from external location. |
|
675 | 675 | """ |
|
676 | self._remote.sync_fetch(url, refs=commit_ids) | |
|
676 | self._remote.sync_fetch(url, refs=commit_ids, **kwargs) | |
|
677 | 677 | self._remote.invalidate_vcs_cache() |
|
678 | 678 | |
|
679 | 679 | def push(self, url): |
@@ -577,7 +577,7 b' class MercurialRepository(BaseRepository' | |||
|
577 | 577 | self._remote.pull(url, commit_ids=commit_ids) |
|
578 | 578 | self._remote.invalidate_vcs_cache() |
|
579 | 579 | |
|
580 | def fetch(self, url, commit_ids=None): | |
|
580 | def fetch(self, url, commit_ids=None, **kwargs): | |
|
581 | 581 | """ |
|
582 | 582 | Backward compatibility with GIT fetch==pull |
|
583 | 583 | """ |
@@ -387,7 +387,7 b' class ScmModel(BaseModel):' | |||
|
387 | 387 | self.sa.add(repo) |
|
388 | 388 | return repo |
|
389 | 389 | |
|
390 | def pull_changes(self, repo, username, remote_uri=None, validate_uri=True): | |
|
390 | def pull_changes(self, repo, username, remote_uri=None, validate_uri=True, **kwargs): | |
|
391 | 391 | dbrepo = self._get_repo(repo) |
|
392 | 392 | remote_uri = remote_uri or dbrepo.clone_uri |
|
393 | 393 | if not remote_uri: |
@@ -409,7 +409,7 b' class ScmModel(BaseModel):' | |||
|
409 | 409 | repo_name = dbrepo.repo_name |
|
410 | 410 | try: |
|
411 | 411 | # TODO: we need to make sure those operations call proper hooks ! |
|
412 | repo.fetch(remote_uri) | |
|
412 | repo.fetch(remote_uri, **kwargs) | |
|
413 | 413 | |
|
414 | 414 | self.mark_for_invalidation(repo_name) |
|
415 | 415 | except Exception: |
General Comments 0
You need to be logged in to leave comments.
Login now