Commit graph

621 commits

Author SHA1 Message Date
Marcin Kuzminski
1bc95ca628 debug: add new custom logging to track unique requests across systems. 2018-06-15 19:34:39 +02:00
Marcin Kuzminski
367a32a69a git: use force fetch and update for target ref. This solves a case
when in PRs a target is force updated and is out of sync. Before
we used a pull which --ff-only fails obviosly because two are out of
sync. This change uses new logic that resets the target branch according to the
source target branch allowing smooth merge simulation.
2018-06-08 15:42:01 +02:00
Marcin Kuzminski
ce7620668d git: add option to skip stderr logging. 2018-06-08 11:54:41 +02:00
Marcin Kuzminski
1a3259da85 git: quote fake merge user to prevent this command to potentially fail 2018-06-05 00:07:14 +02:00
Marcin Kuzminski
ede517c6b1 shadow-repos: use safer way to destroy shadow repositories.
we had reported errors on removal of shadow repos. Not reproduced, however
suspecting are filesystem sync/symlink race-conditions on shared storage.

End result were existing shadow-repo directories that tricked rhodecode
into thinking shadow repos is existing, but infact it was a dummy
structure semi-removed. Using shutil.move we ENSURE rhodecode doesn't
read those back even if removal fails.
2018-06-05 09:53:29 +02:00
Marcin Kuzminski
998cfa7aaa email: fixed logging on smtp library. 2018-05-28 18:12:58 +02:00
Marcin Kuzminski
3a3b980003 svn: fix usage of http exception from webob to pyramid one.
Webob exception had an condition that was unfilled for svn causing unexpected 500s.
2018-05-28 17:13:59 +02:00
Marcin Kuzminski
027132e56b db: don't propagate ping connection option into engine configuration as it's an internal flag for rhodecode. 2018-05-28 16:44:14 +02:00
Marcin Kuzminski
ce37751c44 sqlalchemy: allow ping connection using dedicated flag for sqlachemy.
- this is usefull flag but we don't need it to be connected to debug flag.
2018-05-23 13:15:25 +02:00
Marcin Kuzminski
c067ed3ca8 beaker: fix cache sqlalchemy options. 2018-05-23 12:36:00 +02:00
Marcin Kuzminski
213cf5463d release: merge back stable branch into default 2018-05-15 16:04:13 +02:00
Marcin Kuzminski
b929a9a3c9 hooks: execute web-based hooks for SVN 2018-05-14 14:22:28 +02:00
Marcin Kuzminski
382b0cf748 mercurial: compatability changes for mercurial 4.6.0 release 2018-05-09 21:40:20 +02:00
Marcin Kuzminski
91718020e4 diff-cache: use bz2 to reduce diff-cache size. 2018-04-18 17:50:32 +02:00
Marcin Kuzminski
ea287e0d07 diff-caches: show count and size in caches view per repository. 2018-04-18 16:52:40 +02:00
Marcin Kuzminski
7d870ea83a mercurial: protocol security updates.
- fixes Mercurial CVE for lack of permissions checking on mercurial batch commands
- more strict checks for permissions, now default to push instead of pull
to be always on safe side.
- decypher batch commands and pick top-most permission to be used
2018-04-25 13:10:52 +02:00
Bartłomiej Wołyńczyk
4637dd151e caching: add option to cache diffs for commits and pull requests.
- new option for vcs settings to enable caching of diffs and commits
- enables auditing of PR after closing it, and removing commits from source repo
- speed up for large PR upto 20x
- reduced memory usage
2018-04-17 18:46:20 +02:00
Marcin Kuzminski
9f286821ca diffs: don't use recurred diffset attachment in diffs. This makes this structure much harder to
garbage collect since it was before infinitly recursed.
2018-04-10 17:46:15 +02:00
Marcin Kuzminski
bdf5f0afb6 svn: enable hooks and integration framework execution.
- This change will allow SVN to execute rhodecode integration framework
via executing the builting hooks.
- uses txn_id for svn to provide metadata required via Apache
- Interception of SVN transaction is required to use temporary stores for metadata
- hooks are now part of vcsserver where the install/control logic is stored
2018-04-06 12:44:01 +02:00
Marcin Kuzminski
3ba4262026 timezone: fix issues with timezone detection of current logic.
- it was reported that in certain timezones e.g `US/Central` the generated offset was +19:00 which
is incorrect and should be -05:00.
- we now use a special library for detection of local timezone and use logic of pytz to calculate the offset
- fixes #5371
2018-04-09 10:54:07 +02:00
Marcin Kuzminski
5bca24da13 processes: use resources library to fetch limits in better way. 2018-04-02 19:29:51 +02:00
Marcin Kuzminski
3667868099 system-info: added ulimit to system info. 2018-03-30 15:35:55 +02:00
Marcin Kuzminski
1f15313ae4 caches: don't use lambda for caching query for easier cache debugging. 2018-03-29 16:16:40 +02:00
Marcin Kuzminski
1f8b60a56a db: ensure migrations are executed and steps are tested 2018-03-05 21:10:03 +01:00
Marcin Kuzminski
0d8040e6fa bootstrap: allow setting certain env flags for usage in CLI scripts.
- we can catch that later in pyramid and skip certain heavy actions to speed-up CLI invokation
2018-03-01 16:42:35 +01:00
Marcin Kuzminski
058c2e0291 logging: dont spawn UI logs across multiple lines 2018-02-23 00:55:14 +01:00
Bartłomiej Wołyńczyk
40434929a5 Public user group profile Task #5326 2018-02-18 21:58:45 +01:00
Marcin Kuzminski
3ea058d91b code: code fixes and small adjustments 2018-02-20 17:49:26 +01:00
Sandu Turcan
686eb87294 path-permissions: Throw RepositoryRequirementError is hgacl cannot be read 2018-02-19 18:12:52 -05:00
Sandu Turcan
cfbe15353a path-permissions: Path-based permissions for mercurial 2018-02-18 18:27:53 -05:00
Sandu Turcan
e4981d4e72 path-permissions: Initial support for path-based permissions 2018-02-18 19:30:42 -05:00
Marcin Kuzminski
f689a025ce vcs: use proper attributes/inits on base and child classes. 2018-02-20 17:47:18 +01:00
Marcin Kuzminski
9c4a8f1afd http: improved log for ssl required 2018-02-18 11:35:35 +01:00
Marcin Kuzminski
4140f7b4eb logging: don't use root logger on codeblocks 2018-02-16 16:11:09 +01:00
Marcin Kuzminski
ba5aec079a caches: use individual namespaces per user to prevent beaker caching problems.
- especially for mysql in case large number of data in caches there could be critical errors storing cache, and thus preventing
users from authentication. This is caused by the fact that we used single namespace for ALL users. It means it grew as number of users grew
reaching mysql single column limit.
This changes the behaviour and now we use namespace per-user it means that each user-id will have it's own cache namespace fragmenting maximum column data to
a single user cache. Which we should never reach.
2018-02-15 17:34:09 +01:00
Marcin Kuzminski
c2c94c7f57 repositories: allow storing push url for automation. 2018-02-11 20:51:56 +01:00
Marcin Kuzminski
141575541f core: properly report 502 errors for gevent and gunicorn.
- gevent+gunicorn doesn't raise normal pycurl errors
2018-02-09 10:52:58 +01:00
Marcin Kuzminski
0db43a1ca4 release: merge back stable branch into default 2018-02-08 23:38:09 +01:00
Marcin Kuzminski
b2c7cd47ea pull-request, git: add option to skip --ff-only 2018-02-07 18:26:38 +01:00
Marcin Kuzminski
db73f0fdd2 diffs: in case of text lexers don't do any HL because of pygments newline
conversion

- split fix for non-standard file endings, e.g only \r
- fixes #5422
2018-02-07 15:03:42 +01:00
Marcin Kuzminski
c42da475ac audit-logs: handle query syntax in whosh query parser.
- fixes #5431
2018-02-01 19:17:35 +01:00
Marcin Kuzminski
b16521f1c3 simplevcs: allow passing config into repo detection logic.
- allows proper check for repos together with requirement checks for Mercurial
2018-02-01 18:51:00 +01:00
Marcin Kuzminski
fe5628ee44 mercurial: fix new 4.4.X code change that does strict requirement checks.
in few cases we init bare repos for checking, and we should use defauls that
always work.

- fixes #5433
2018-02-01 18:25:24 +01:00
Marcin Kuzminski
c36b8f3d79 git: use force branch checkout to prevent cases when .gitattributes modifies
files by specific rule and then checkout is blocked by potential file conflicts.
2018-01-29 14:37:03 +01:00
Marcin Kuzminski
0bc9813397 git: allow force checkouts for git repository 2018-01-23 22:06:41 +01:00
Marcin Kuzminski
5d8ed27c02 ssh: don't show the SSH clone url if ssh is disabled 2018-01-25 18:14:41 +01:00
Marcin Kuzminski
9c22bde88e ui: allow selecting and specifing ssh clone url.
- fixes #5340
2018-01-25 14:20:08 +01:00
Marcin Kuzminski
93a93bbb19 scm: added push options for Mercurial and Git to allow remote repository sync. 2018-01-22 18:15:51 +01:00
Marcin Kuzminski
00b45c1fa7 release: update copyright year to 2018 2018-01-19 17:13:16 +01:00
Marcin Kuzminski
6f2703e4af default-reviewers: introduce new voting rule logic that allows
defining vote rules for user groups assigned to the default reviewers.

- allows to set per number votes on user groups
- group reviewers by groups
- store the rules and show them in the UI
- fixes #5409
2018-01-19 12:38:25 +01:00