We are using a Google Guice child injector to reduce the amount of injection dependencies for the GitRepositoryServiceResolver and the GitRepositoryServiceProvider.
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.
Git uses LF for line breaks in diffs, not CR or other delimiters. When
we are using other delimiters for diving diff output into lines, too,
we can get errors because diff lines can contain CRs. When we try to
split such lines, we get exceptions because these lines cannot be parsed
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.
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.
Fixes the 'scm' protocol uri for Windows. Have to replace all
backslashes with forward slashes, add one more slash at the
beginning and remove the colon from the dirve.
Without this on creation of a tree entry we try to read the object
for the given object id, but in case of a submodule this is not the
id of an object (the constructor of TreeEntry calls
repo.open(objectId)). Therefore the lookup creates an exception. With
this fix we check, whether the given path is a submodule beforehand.
* 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>