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>
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
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.
Failing git push does not lead to an GitAPIException. Instead we have to
check the dedicated push update results.
By the way this adds a message for the internal repository exception.