- because of gevent we can run into a deadlock situation and worker freeze because of
each of the workers will try to aquire a lock.
- This should help with the issue and gevent.
This case won't have any IP rules set. And we accidentally loaded them becuase of no empty user filter
was present. This caused some odd display warnings for users.
Before we used one namespace for ALL meaning caches were kept in single file, or single DB row.
While this makes sense for single functions, a per-user, per-group cache should be divided to single files.
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.
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.
- 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
- 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
- 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
- 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