Commit graph

77 commits

Author SHA1 Message Date
RhodeCode Admin
d300144665 repos: cleannup and fix landing-ref code.
with latest git update this exposed a bug when we allowed to set references like tip for git repos
now the defaults are loaded from a single place controlled by default branch for git.

Repos without master are now working just fine with new git and new logic.
2023-01-18 22:10:40 +01:00
RhodeCode Admin
ce7e048a7d git: allow overriding default master branch with an env variable. 2022-08-11 09:39:24 +02:00
Milka Kuzminski
72085d16b0 pull-requests: fixed problems with unicode characters in branches. 2021-04-08 16:59:58 +02:00
Milka Kuzminski
c0508d2945 git: fix for unicode branches 2021-03-18 15:26:51 +01:00
Milka Kuzminski
723ccff72e git: fix lookups.
- prioritize referenace names over numerical ids
- numerical ids are supported as a fallback if ref matching is unsuccessful.
2021-03-17 17:55:02 +01:00
Milka Kuzminski
2cc353de2c backends: use reference explicitly to properly translate GIT references to commits such as numeric branches 2021-03-16 23:18:52 +01:00
Marcin Kuzminski
293a3535ae pull-requests: fix way how pull-request calculates common ancestors.
- fixes #5561
- added new preview for size (commits/files) of PRs before opening, this is now based on the special logic that calculates common ancestor and has access to preview diff
- store common ancestor in DB so updates of pull-requests are consistent
2020-05-08 08:43:51 +02:00
Marcin Kuzminski
4b277c70fe git: fixed readme searcher for libgit2 2020-05-14 09:40:41 +02:00
Marcin Kuzminski
fe96e16646 code: update copyrights to 2020 2020-04-16 00:34:52 +02:00
Marcin Kuzminski
4de6dd537c pull-requests: fixed case for GIT repositories when a merge check failed due to merge conflicts the pull request wrongly reported missing commits.
- we're now searching for dangling commits in a repo that has them and cannot see them because of failed merge checks.
- pull-request: will save metadata during merge simulation so merge conflicts are permanently stored, and showed to all users.
2020-04-08 11:17:10 +02:00
Marcin Kuzminski
bd9e5dc1c3 api: exposed modified added/modified/deleted functions of commit to return only paths.
This combined with full text search build for certain repositories that each commit
contains lots of file changes results in *huge* (10x in some cases) performance gain.
2020-03-16 15:09:45 +01:00
Marcin Kuzminski
54a47cd524 git: use safe configparser for git submodules to prevent from errors on submodules with % sign.
- This is treated as interpolation sign and can cause errors on regular ConfigParser instance.
2020-02-20 11:28:18 +01:00
Marcin Kuzminski
0bed1e9849 git: fixed issue with git submodules detection. 2019-12-03 14:59:06 +01:00
Marcin Kuzminski
ef0be3b6e8 pull-requests: added nicer formatting for merge conflicting files 2019-11-19 16:38:56 +01:00
Marcin Kuzminski
1eb782ad15 pull-requests: expose unresolved files in merge response. 2019-11-15 01:00:13 +01:00
Daniel Dourvaris
337400c423 git: fixed py3 compat for submodule read. 2019-09-25 19:32:20 +02:00
Marcin Kuzminski
70d5bb346a shadow-repos: skip init of full repo to generate shadow repo path. 2019-09-20 21:00:31 +02:00
Daniel Dourvaris
ff0c66acf2 diffs: handle paths with quotes in diffs. 2019-08-26 21:49:06 +02:00
Daniel Dourvaris
38b8c11ea5 vcsserver: made binary content check be calculated on vcsserver
- now can use caching
- for git/hg there are faster dedicated functions instead of detecting the content
2019-08-23 20:31:43 +02:00
Daniel Dourvaris
de8ff5bcfa file-nodes: added streaming remote attributes for vcsserver.
- this will enable doing a streaming raw content or raw downloads of large files without transfering them over to enterprise for pack & repack using msgpack
- msgpack has a limit of 4gb and generally pack+repack for 2gb is very slow
2019-08-23 19:09:59 +02:00
Marcin Kuzminski
5b07354763 git: replaced some raw subprocess commands with dedicated GIT vcsserver commands. 2019-07-19 13:16:44 +02:00
Marcin Kuzminski
928652312a core: added more accurate time measurement for called functions 2019-07-17 16:28:41 +02:00
Marcin Kuzminski
cab16efa4e vcs: optimized pre-load attributes for better caching. 2019-07-17 13:50:26 +02:00
Marcin Kuzminski
0b076e1f65 caches: updated cache backend to new vcsserver caches implementation. 2019-07-17 00:14:26 +02:00
Marcin Kuzminski
ccfa86d740 git: adjusted code for new libgit2 backend
- made @CachedProperty use a custom decarator that can do invalidations. This
 is required for tests
- made few cleanups of code since we use a simpler libgit2 backend now
- removed some unused obsolete code
2019-07-12 17:39:32 +02:00
Marcin Kuzminski
929deba1dd tests: fixing tests for pull-requests and changelog(commits) 2019-06-28 14:24:57 +02:00
Marcin Kuzminski
634590913e commits: updated logic of in-memory-commits, fixed tests and re-architectured a bit how commit_ids are calculated and updated.
- it's all part of recent updates on performance, and new commit pages
2019-06-11 12:59:37 +02:00
Marcin Kuzminski
6a2e2f0b94 commits: re-implemented fetching a single commit for git case.
- faster using always cache if available
- fixed problems after changes of __bool__ of repo object which always rebuilt cache and this is not the case now
- make few error messages better
2019-06-10 12:28:47 +02:00
Marcin Kuzminski
1b48364bb6 commits: allow tag commit translation to be skipped for faster commit fetching in big chunks. 2019-02-11 19:58:34 +01:00
Marcin Kuzminski
4c846e8f05 git: use rev-list for fetching last commit data inc ase of single commit. It's faster that using git log 2019-02-07 11:31:55 +01:00
Marcin Kuzminski
bd1a9c8201 docs: updated copyrights to 2019 2019-01-02 18:13:27 +01:00
Daniel Dourvaris
599f9b7964 pull-requests: ensure merge response provide more details
- refactor merge responses with detailed messages
- fixes #5520
- code cleanups
2018-12-30 11:00:09 +01:00
Marcin Kuzminski
169a8475bb vcs: rename get_file_history to get_path_history as it better reflects what it does. 2018-12-07 09:43:58 +01:00
Marcin Kuzminski
f3d3f479b4 code: fixed deprecated octal calls for py3 compat. 2018-11-30 11:49:27 +01:00
Daniel Dourvaris
a55c002d0c git: reset should use explicit -- to distinguish we want reset of branch name. 2018-10-16 17:53:16 +02:00
Marcin Kuzminski
5a4a98b40e git: use a fetch_sync based creation of remote repos.
- skips fragile dulwich code that has problems with large repos
- is in sync with logic that does remote fetch
- is faster and more efficient
2018-09-21 13:35:45 +02:00
Marcin Kuzminski
9effaef334 git: use smarter way for checking if repo is empty. This doesn't spam logs with some dulwich exceptions, we shouldn't really care about here.` 2018-08-11 14:20:58 +02:00
Marcin Kuzminski
426032d9a2 caches: make gevent curl connection cache friendly.
- gevent threads needs it's own cache, and connection
- added strict detection of cache problem in gevent curl
2018-08-06 19:28:16 +02:00
Marcin Kuzminski
42c80fe075 shadow-repos: use numeric repo id for creation of shadow repos.
- Fixes a problem after rename or move into repository group.
2018-06-21 14:04:06 +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
3ea058d91b code: code fixes and small adjustments 2018-02-20 17:49:26 +01:00
Marcin Kuzminski
f689a025ce vcs: use proper attributes/inits on base and child classes. 2018-02-20 17:47:18 +01:00
Marcin Kuzminski
b2c7cd47ea pull-request, git: add option to skip --ff-only 2018-02-07 18:26:38 +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
93a93bbb19 scm: added push options for Mercurial and Git to allow remote repository sync. 2018-01-22 18:15:51 +01:00