Commit Graph

327 Commits

Author SHA1 Message Date
René Pfeuffer
2433c50d64 Add test for "real" merge commits 2020-08-07 08:01:13 +02:00
René Pfeuffer
6f20781812 Add first integration tests for merge detection 2020-08-06 17:12:14 +02:00
Eduard Heimbuch
5e10f6b730 Invalidate branches cache synchronously on create new branch 2020-07-22 10:20:37 +02:00
René Pfeuffer
086a471161 Fix migration of non-bare git repositories
During the migration of git repositories from v1 to v2, we have to
create an "scmm" config section with the repository id of the current
repository. If this does not happen, further write requests to this
repository will fail, because the hooks cannot determine the id.

However, the migration failed to write this configuration for non-bare
repositories. Therefore this fix checks beforehand, whether a '.git'
folder exists in the date directory. If this is the case, we assume that
this is a non-bare repository and write the config file inside this
folder.
2020-06-23 11:47:52 +02:00
René Pfeuffer
3e5ee53dc2 Adapt test to change from 52a09a9 2020-06-17 11:16:04 +02:00
Sebastian Sdorra
acc3306450 rename trailer to contributor 2020-06-10 11:08:11 +02:00
René Pfeuffer
cf02192315 Extract committer as trailer in git 2020-06-08 12:21:17 +02:00
René Pfeuffer
77d6784386 Remove unnecessary interfaces 2020-06-02 21:31:44 +02:00
René Pfeuffer
4c73f27389 Make reclaimer and initializer top level classes 2020-06-02 21:31:44 +02:00
René Pfeuffer
f74b7626eb New package for working copy related classes 2020-06-02 21:31:44 +02:00
René Pfeuffer
8bd17a03d7 Use better names
The name 'workdir' is now only used for a concrete directory, where a
clone can be created in. The new name 'working copy' is used for a
concrete instance of such a directory, where a clone has been created in
for a repository stored in SCM-Manager. Such a working copy can be
cached and reused for further changes.
2020-06-02 21:31:43 +02:00
René Pfeuffer
e5f4ad72d6 Add test for git reclaim of workdir 2020-06-02 21:31:43 +02:00
René Pfeuffer
5b034f8d02 Introduce cache layer for workdirs 2020-06-02 21:31:43 +02:00
Eduard Heimbuch
97cac87563 merge with develop 2020-05-20 12:13:47 +02:00
René Pfeuffer
2b1ba7e4f3 Update servlet version 2020-05-19 16:29:40 +02:00
René Pfeuffer
c722565109 Hide getEffectedPaths for other packages 2020-05-19 09:56:24 +02:00
René Pfeuffer
35ffc5c4e2 Introduce new API for modifications
New modifications includes list of 'renames'. Therefore we introduce
a new base class Modification.
2020-05-19 09:56:24 +02:00
René Pfeuffer
4d352efef0 Remove wrong test
The GitHunkParser has nothing to do with renames, so this test does not
make any sense.
2020-05-19 09:56:24 +02:00
René Pfeuffer
fba34b3bab Add unit tests 2020-05-19 09:56:24 +02:00
René Pfeuffer
dbc58784e4 Fix path handling 2020-05-19 09:56:24 +02:00
René Pfeuffer
d5d9690389 Remove redundant constructor parameter
The repository can be retrieved from the context and does not have to be
passed through by every constructor
2020-05-12 15:45:58 +02:00
René Pfeuffer
52a09a96d2 Fix error with redundant line breaks
This fixes an error with a repository, where an added file has \r\r\n
as line breaks. This interesting combination is handled as a single
line break by the diff operation, while Java's Scanner implementation
handles this as two lines (the first one delimited by the first \r,
the second one delimited by \r\n. This led to empty lines inside the
diff, where we only expect lines that contain at least one character
(' ', '+' or '-'), and this in turn led to an index out of bounds
exception.

Now we handle each combination of any kind of new line delimiter
characters as a single delimiter. This should be safe, because, as
mentioned earlier, we always expect at least one character in a line
for a diff output.
2020-05-04 15:23:46 +02:00
Florian Scholdei
f1b34eb502 Changeover to MIT license (#1066)
* prepare license-maven-plugin for license migration
* added license mapping for tsx files and added some more excludes
* Changeover to MIT license
* Fix build problems
* Delete old remaining licenses
* Add more exclude path for license checker
* Rename included netbeans license, add exclude .m2/repository/
* Specify .m2 exclude because not only repository/, also wrapper/ must match
* Add .cache/ exclude for license check
* Modify formatting of license in java classes to comply with convention and IDE
* Add IntelliJ documentation for license configuration
* Update CHANGELOG.md
* Exclude tmp/workspace/ dir for license check
* Edit README.md

Co-authored-by: Sebastian Sdorra <sebastian.sdorra@cloudogu.com>
2020-03-23 15:35:58 +01:00
René Pfeuffer
f5cfd0ca68 Adapt unit test to new mockito api 2020-03-20 11:44:28 +01:00
René Pfeuffer
55ef3f8c8c Merge remote-tracking branch 'origin/develop' into feature/browse_commit_with_limit
# Conflicts:
#	CHANGELOG.md
2020-03-10 09:43:31 +01:00
René Pfeuffer
2d117648ba Add possibility to set jgit nfs related config
It may be necessary for users to configure jgit behaviour related to
file handling. This commit makes the following two configurations
available (among others):

- core.trustfolderstat
- core.supportsatomicfilecreation
2020-03-09 16:44:42 +01:00
René Pfeuffer
b8ab729c45 Merge branch 'develop' into feature/browse_commit_with_limit 2020-03-09 08:40:29 +01:00
Rene Pfeuffer
cf43e3bc84 Implement new limit/offset rule for git and svn
Directories shall no longer be taken into account for limit/offset
calculations.
2020-03-03 17:06:55 +01:00
Rene Pfeuffer
e0b02ea1a3 Use api to set system config for lfs
Could be so simple if this works :-)
2020-03-03 16:13:17 +01:00
Rene Pfeuffer
fa80c83109 Implement new limit/offset rule for git
Directories shall no longer be taken into account for limit/offset
calculations.
2020-03-03 11:59:20 +01:00
Rene Pfeuffer
80bfc37d0f Merge with default 2020-03-03 09:35:01 +01:00
Rene Pfeuffer
34b570fddf Fix unit test
It looks like the system config is cached somehow from jgit 5.4.3 on,
so that putting the config in a file that is deleted after the first
test invalidates this config, which leads to the effect, that for the
test that runs second the filter is not applied.
2020-03-03 09:30:24 +01:00
Eduard Heimbuch
fbededbcaa cleanup test 2020-02-27 10:34:48 +01:00
Rene Pfeuffer
33037385e4 Handle unexpected merge results
It is possible that a git work tree is dirty directly after the clone
of a repository, eg. when files are not changed correctly due to bogous
.gitattribute files (though this is just a guess). In these cases a
merge might fail due to these dirty files and not due to merge
conflicts. Without this change such results lead to null pointer
exceptions, because result.getConflicts() is null.
2020-02-27 09:56:25 +01:00
René Pfeuffer
4e7381b98f Fix offset in recursion 2020-02-26 11:10:01 +01:00
René Pfeuffer
67192a203e Read and sort tree first before applying limit 2020-02-26 10:54:16 +01:00
Rene Pfeuffer
c0e0ed3d17 Fix tests 2020-02-25 17:34:41 +01:00
René Pfeuffer
fe1591171d Rename 'proceedFrom' to 'offset' 2020-02-19 09:23:23 +01:00
Rene Pfeuffer
3652a33fa0 Add truncated flag for git 2020-02-18 15:24:32 +01:00
Rene Pfeuffer
67e58209cf Implement proceed from for git 2020-02-18 09:57:57 +01:00
René Pfeuffer
db540f5f02 Add limit parameter 2020-02-17 16:48:14 +01:00
Rene Pfeuffer
c84bba8ead Add unit test for browse with lfs 2020-02-06 13:11:07 +01:00
Eduard Heimbuch
f44d17d640 create RepositoryInitializer which can be used to create new files in the initial commit on a new repository 2020-01-20 15:19:51 +01:00
Rene Pfeuffer
d6b60afeac Merge with default 2020-01-08 11:22:47 +01:00
Rene Pfeuffer
88fb31c47b Add unit test for diff command
This new tests ensures, that changes on a feature branch will be shown
in a diff even though the integration branch has been merged into the
feature branch.
2020-01-07 15:49:35 +01:00
Rene Pfeuffer
148095ad4c Add revisions of merged branches before merge 2019-12-19 10:30:02 +01:00
Rene Pfeuffer
f7c4894fb2 Let merges without effect throw an exception 2019-12-19 09:47:31 +01:00
Rene Pfeuffer
fefd8b6de8 Merge with default 2019-12-19 08:46:45 +01:00
Eduard Heimbuch
39b4c59d82 add unit tests 2019-12-19 08:25:28 +01:00
Rene Pfeuffer
cf9d1edb70 Make partial file attributes explicit. 2019-12-18 11:48:17 +01:00