##// END OF EJS Templates
release: Merge default into stable for release preparation
marcink -
r66:64866b2d merge stable
parent child Browse files
Show More
@@ -1,5 +1,5 b''
1 [bumpversion]
1 [bumpversion]
2 current_version = 4.3.1
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 = prepared
12 state = in_progress
15 version = 4.3.1
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.3.1";
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];
@@ -1,1 +1,1 b''
1 4.3.1 No newline at end of file
1 4.4.0 No newline at end of file
@@ -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, keys=None):
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