Show More
@@ -1,5 +1,5 b'' | |||||
1 | [bumpversion] |
|
1 | [bumpversion] | |
2 |
current_version = 4. |
|
2 | current_version = 4.4.0 | |
3 | message = release: Bump version {current_version} to {new_version} |
|
3 | message = release: Bump version {current_version} to {new_version} | |
4 |
|
4 | |||
5 | [bumpversion:file:vcsserver/VERSION] |
|
5 | [bumpversion:file:vcsserver/VERSION] |
@@ -5,12 +5,10 b' done = false' | |||||
5 | done = true |
|
5 | done = true | |
6 |
|
6 | |||
7 | [task:fixes_on_stable] |
|
7 | [task:fixes_on_stable] | |
8 | done = true |
|
|||
9 |
|
8 | |||
10 | [task:pip2nix_generated] |
|
9 | [task:pip2nix_generated] | |
11 | done = true |
|
|||
12 |
|
10 | |||
13 | [release] |
|
11 | [release] | |
14 |
state = |
|
12 | state = in_progress | |
15 |
version = 4. |
|
13 | version = 4.4.0 | |
16 |
|
14 |
@@ -299,7 +299,7 b'' | |||||
299 | }; |
|
299 | }; | |
300 | }; |
|
300 | }; | |
301 | rhodecode-vcsserver = super.buildPythonPackage { |
|
301 | rhodecode-vcsserver = super.buildPythonPackage { | |
302 |
name = "rhodecode-vcsserver-4. |
|
302 | name = "rhodecode-vcsserver-4.4.0"; | |
303 | buildInputs = with self; [mock pytest WebTest]; |
|
303 | buildInputs = with self; [mock pytest WebTest]; | |
304 | doCheck = true; |
|
304 | doCheck = true; | |
305 | propagatedBuildInputs = with self; [configobj dulwich hgsubversion infrae.cache mercurial msgpack-python pyramid Pyro4 simplejson subprocess32 waitress WebOb]; |
|
305 | propagatedBuildInputs = with self; [configobj dulwich hgsubversion infrae.cache mercurial msgpack-python pyramid Pyro4 simplejson subprocess32 waitress WebOb]; |
@@ -429,28 +429,15 b' class GitRemote(object):' | |||||
429 | return list(getattr(obj, a) for a in attrs) |
|
429 | return list(getattr(obj, a) for a in attrs) | |
430 |
|
430 | |||
431 | @reraise_safe_exceptions |
|
431 | @reraise_safe_exceptions | |
432 |
def get_refs(self, wire |
|
432 | def get_refs(self, wire): | |
433 | # FIXME(skreft): this method is affected by bug |
|
|||
434 | # http://bugs.rhodecode.com/issues/298. |
|
|||
435 | # Basically, it will overwrite previously computed references if |
|
|||
436 | # there's another one with the same name and given the order of |
|
|||
437 | # repo.get_refs() is not guaranteed, the output of this method is not |
|
|||
438 | # stable either. |
|
|||
439 | repo = self._factory.repo(wire) |
|
433 | repo = self._factory.repo(wire) | |
440 | refs = repo.get_refs() |
|
|||
441 | if keys is None: |
|
|||
442 | return refs |
|
|||
443 |
|
434 | |||
444 | _refs = {} |
|
435 | repo.refs._peeled_refs | |
445 | for ref, sha in refs.iteritems(): |
|
436 | result = {} | |
446 | for k, type_ in keys: |
|
437 | for ref, sha in repo.refs.as_dict().items(): | |
447 | if ref.startswith(k): |
|
438 | peeled_sha = repo.refs._peeled_refs.get(ref, sha) | |
448 | _key = ref[len(k):] |
|
439 | result[ref] = peeled_sha | |
449 | if type_ == 'T': |
|
440 | return result | |
450 | sha = repo.get_object(sha).id |
|
|||
451 | _refs[_key] = [sha, type_] |
|
|||
452 | break |
|
|||
453 | return _refs |
|
|||
454 |
|
441 | |||
455 | @reraise_safe_exceptions |
|
442 | @reraise_safe_exceptions | |
456 | def get_refs_path(self, wire): |
|
443 | def get_refs_path(self, wire): |
@@ -316,6 +316,7 b' class HgRemote(object):' | |||||
316 |
|
316 | |||
317 | @reraise_safe_exceptions |
|
317 | @reraise_safe_exceptions | |
318 | def check_url(self, url, config): |
|
318 | def check_url(self, url, config): | |
|
319 | log.info("Checking URL for remote cloning/import: %s", url) | |||
319 | _proto = None |
|
320 | _proto = None | |
320 | if '+' in url[:url.find('://')]: |
|
321 | if '+' in url[:url.find('://')]: | |
321 | _proto = url[0:url.find('+')] |
|
322 | _proto = url[0:url.find('+')] | |
@@ -345,10 +346,12 b' class HgRemote(object):' | |||||
345 | req = urllib2.Request(cu, None, {}) |
|
346 | req = urllib2.Request(cu, None, {}) | |
346 |
|
347 | |||
347 | try: |
|
348 | try: | |
|
349 | log.debug("Trying to open URL %s", url) | |||
348 | resp = o.open(req) |
|
350 | resp = o.open(req) | |
349 | if resp.code != 200: |
|
351 | if resp.code != 200: | |
350 | raise exceptions.URLError('Return Code is not 200') |
|
352 | raise exceptions.URLError('Return Code is not 200') | |
351 | except Exception as e: |
|
353 | except Exception as e: | |
|
354 | log.warning("URL cannot be opened: %s", url, exc_info=True) | |||
352 | # means it cannot be cloned |
|
355 | # means it cannot be cloned | |
353 | raise exceptions.URLError("[%s] org_exc: %s" % (cleaned_uri, e)) |
|
356 | raise exceptions.URLError("[%s] org_exc: %s" % (cleaned_uri, e)) | |
354 |
|
357 | |||
@@ -358,12 +361,16 b' class HgRemote(object):' | |||||
358 | pass |
|
361 | pass | |
359 | else: |
|
362 | else: | |
360 | # check for pure hg repos |
|
363 | # check for pure hg repos | |
|
364 | log.debug( | |||
|
365 | "Verifying if URL is a Mercurial repository: %s", url) | |||
361 | httppeer(make_ui_from_config(config), url).lookup('tip') |
|
366 | httppeer(make_ui_from_config(config), url).lookup('tip') | |
362 | except Exception as e: |
|
367 | except Exception as e: | |
|
368 | log.warning("URL is not a valid Mercurial repository: %s", url) | |||
363 | raise exceptions.URLError( |
|
369 | raise exceptions.URLError( | |
364 | "url [%s] does not look like an hg repo org_exc: %s" |
|
370 | "url [%s] does not look like an hg repo org_exc: %s" | |
365 | % (cleaned_uri, e)) |
|
371 | % (cleaned_uri, e)) | |
366 |
|
372 | |||
|
373 | log.info("URL is a valid Mercurial repository: %s", url) | |||
367 | return True |
|
374 | return True | |
368 |
|
375 | |||
369 | @reraise_safe_exceptions |
|
376 | @reraise_safe_exceptions |
General Comments 0
You need to be logged in to leave comments.
Login now