Skip to content

Commit ebbaf4b

Browse files
committed
Added rw parameter to remote add method for services
This parameter enables choosing between git or http URI when adding a new remote.
1 parent 90941c0 commit ebbaf4b

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

git_repo/services/service.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ def fetch(self, remote, remote_branch, local_branch):
209209
remote.fetch(':'.join([remote_branch, local_branch]), progress=pb)
210210
print()
211211

212-
def clone(self, user, repo, branch='master'):
212+
def clone(self, user, repo, branch='master', rw=True):
213213
'''Clones a new repository
214214
215215
:param user: namespace of the repository
@@ -222,10 +222,10 @@ def clone(self, user, repo, branch='master'):
222222
'''
223223
log.info('Cloning {}…'.format(repo))
224224

225-
remote = self.add(user=user, repo=repo, tracking=True)
225+
remote = self.add(user=user, repo=repo, tracking=True, rw=rw)
226226
self.pull(remote, branch)
227227

228-
def add(self, repo, user=None, name=None, tracking=False, alone=False):
228+
def add(self, repo, user=None, name=None, tracking=False, alone=False, rw=True):
229229
'''Adding repository as remote
230230
231231
:param repo: Name slug of the repository to add
@@ -262,16 +262,16 @@ def add(self, repo, user=None, name=None, tracking=False, alone=False):
262262
if not alone:
263263
# if remote all does not exists
264264
if not all_remote:
265-
self.repository.create_remote('all', self.format_path(repo, user, rw=True))
265+
self.repository.create_remote('all', self.format_path(repo, user, rw=rw))
266266
else:
267267
url = self.format_path(repo, user, rw=True)
268268
# check if url not already in remote all
269269
if url not in all_remote.list:
270-
all_remote.set_url(url=self.format_path(repo, user, rw=True), add=True)
270+
all_remote.set_url(url=self.format_path(repo, user, rw=rw), add=True)
271271

272272
# adding "self" as the tracking remote
273273
if tracking:
274-
remote = self.repository.create_remote(name, self.format_path(repo, user, rw=True))
274+
remote = self.repository.create_remote(name, self.format_path(repo, user, rw=rw))
275275
# lookup tracking branch (usually master)
276276
for branch in self.repository.branches:
277277
if tracking == branch.name:
@@ -280,7 +280,7 @@ def add(self, repo, user=None, name=None, tracking=False, alone=False):
280280
break
281281
return remote
282282
else:
283-
return self.repository.create_remote(name, self.format_path(repo, user, rw=True))
283+
return self.repository.create_remote(name, self.format_path(repo, user, rw=rw))
284284

285285
def open(self, user=None, repo=None):
286286
'''Open the URL of a repository in the user's browser'''

0 commit comments

Comments
 (0)