Skip to main content
AgeCommit message (Collapse)AuthorFilesLines
2017-12-31Prepare 4.10.1-SNAPSHOT buildsMatthias Sohn2-15/+15
Change-Id: I139fb660c4630d9d073eabf37ff26ea3a823bcbd Signed-off-by: Matthias Sohn <>
2017-12-31JGit v4.10.0.201712302008-rv4.10.0.201712302008-rMatthias Sohn2-2/+2
Change-Id: I9cc3a839d906acd01829df1de64cfafca8a6d008 Signed-off-by: Matthias Sohn <>
2017-12-23Add header Automatic-Module-Name for Java 9Karsten Thoms1-0/+1
Bug: 529075 Change-Id: I4532ce2c80eb91531d46026676502d636ccda706 Signed-off-by: Karsten Thoms <> Signed-off-by: Matthias Sohn <>
2017-12-21Fix remaining javadoc errors raised by doclintMatthias Sohn3-10/+12
For now ignore doclint "missing" warnings. Change-Id: I0e5af7a757f4d92ffeeb113f30576a35414d6781 Signed-off-by: Matthias Sohn <>
2017-12-17Fix javadoc in org.eclipse.jgit.lfsMatthias Sohn24-84/+190
Change-Id: I97b53c083da6aa31719d9e10369030ee33dd23dc Signed-off-by: Matthias Sohn <>
2017-12-07Use constants from StandardCharsets instead of hard-coded stringsDavid Pursehouse2-10/+9
Instead of hard-coding the charset strings "US-ASCII", "UTF-8", and "ISO-8859-1", use the corresponding constants from StandardCharsets. UnsupportedEncodingException is not thrown when the StandardCharset constants are used, so remove the now redundant handling. Because the encoding names are no longer hard-coded strings, also remove redundant $NON-NLS warning suppressions. Also replace existing usages of the constants with static imports. Change-Id: I0a4510d3d992db5e277f009a41434276f95bda4e Signed-off-by: David Pursehouse <>
2017-12-07InvalidLongObjectIdException: Fix formatting of messageDavid Pursehouse1-1/+1
The message is formatted as: Invalid id: : abcde... but should be: Invalid id: abcde... Change-Id: Ie15cacdcf2f168edaee262e6cf8061ebfe9d998d Signed-off-by: David Pursehouse <>
2017-11-24Merge branch 'stable-4.9'Matthias Sohn1-0/+6
* stable-4.9: Ignore warning for minor version change without API change Silence boxing warning Prepare 4.5.5-SNAPSHOT builds JGit v4.5.4.201711221230-r Fix LockFile semantics when running on NFS Honor trustFolderStats also when reading packed-refs Prepare 4.5.4-SNAPSHOT builds JGit v4.5.3.201708160445-r Change-Id: Icc33d2e36f140e8714fce088379673a8834ae9de
2017-11-24Ignore warning for minor version change without API changeMatthias Sohn1-0/+6
- this is a new warning option in Eclipse 4.7 and higher - we always change version of all bundles in a release to keep release engineering simple Change-Id: Ic7523d77b67b2802f1bab3bc70af250d712a034f Signed-off-by: Matthias Sohn <>
2017-11-14FileUtils.toPath to convert File to PathMarc Strapetz2-2/+3
When invoking File.toPath(), an (unchecked) InvalidPathException may be thrown which should be converted to a checked IOException. For now, we will replace File.toPath() by FileUtils.toPath() only for code which can already handle IOExceptions. Change-Id: I0f0c5fd2a11739e7a02071adae9a5550985d4df6 Signed-off-by: Marc Strapetz <>
2017-10-08Prepare 4.10.0-SNAPSHOT buildsMatthias Sohn2-15/+15
Change-Id: I5ca462d1db18a2c5c9382cfb9c83972510fa2b88 Signed-off-by: Matthias Sohn <>
2017-10-08Prepare 4.9.1-SNAPSHOT buildsMatthias Sohn2-15/+15
Change-Id: Ic49fd093d3fe4324c4d83aba74033040fcaa37a6 Signed-off-by: Matthias Sohn <>
2017-10-07JGit v4.9.0.201710071750-rv4.9.0.201710071750-rMatthias Sohn2-2/+2
Change-Id: I487f6aa3d0c4ef1d57f91cdc36177d994ae24c51 Signed-off-by: Matthias Sohn <>
2017-08-30Partially revert c0ad77d8 "Enhance Eclipse save actions"Matthias Sohn1-1/+1
Do not automatically organize imports using a save action since this seems to be buggy and removed some annotations org.eclipse.jgit.pgm needs to use args4j. Change-Id: I5a91292c3b9241ce2dde3e4ecce14ad460097129 Signed-off-by: Matthias Sohn <>
2017-08-29Partially revert c0ad77d8 "Enhance Eclipse save actions"Matthias Sohn1-2/+2
Revert the following save actions which were introduced in c0ad77d8: - always use braces around blocks - remove unused imports Other than I expected save actions are run globally on edited files - and not only on edited code lines only. Hence revert the save action "Convert control statement bodies to blocks" which would affect a large number of code lines not affected by the change editing some small part of a class. This would generate a large number of changes which may lead to many unnecessary conflicts. Total number of affected lines across jgit would be around 10k lines. Also revert "Remove unused imports" since it erroneously removes imports of some annotations needed by pgm classes using args4j. Change-Id: I879a47f68e664129e6124cf25c1ae1f6a2d7a5aa Signed-off-by: Matthias Sohn <>
2017-08-28Enhance Eclipse save actionsMatthias Sohn1-7/+12
Add the following Eclipse save actions executed when saving modified lines. This should help to reduce manual work needed to maintain a clean and consistent code style: - organize imports - always use braces around blocks - add missing annotations - @Override including implementation of interface methods - @Deprecated - remove - unused imports - unnecessary $NON-NLS$ tags - redundant type arguments Also add default values for new settings that were introduced in recent Eclipse versions up to Neon since we updated save rules the last time. Change-Id: Idc90b249df044d0552f04edf01a5f607c4846f50 Signed-off-by: Matthias Sohn <>
2017-07-25Add missing newlines at ends of Java filesDavid Pursehouse1-1/+1
Change-Id: Iead36f53d57ead0eb3edd3f9efb63b6630c9c20c Signed-off-by: David Pursehouse <>
2017-05-30Prepare 4.9.0-SNAPSHOT buildsMatthias Sohn2-15/+15
Change-Id: I52a4153d573799e861ab104939f51fac1aceb9ee Signed-off-by: Matthias Sohn <>
2017-05-11Remove unused clirr-maven-plugin from LFS pom.xml filesDavid Pursehouse1-19/+0
Change-Id: I7252b6c89d91ac675c0e02e4d17ba0212b617098 Signed-off-by: David Pursehouse <>
2017-04-13Bazel: Restrict src globs to Java source filesDavid Pursehouse1-1/+1
Generating the src list with an unrestricted wildcard causes all files in the source tree to be included. This results in junk files such as .orig (generated during merge conflict resolution) to be included, which causes in a build error: in srcs attribute of java_library rule //org.eclipse.jgit:jgit: file '//org.eclipse.jgit:src/org/eclipse/jgit/gitrepo/' is misplaced here (expected .java, .srcjar or .properties). Modify the globs to only include Java source files. Change-Id: Iaef3db33ac71d71047cd28acb0378e15cb09ece9 Signed-off-by: David Pursehouse <>
2017-04-05Prepare 4.8.0-SNAPSHOT buildsMatthias Sohn2-15/+15
Change-Id: Ifea6750e79d417a8a2a891b3b5f96d68c7200011 Signed-off-by: Matthias Sohn <>
2017-03-22Remove Buck buildDavid Pursehouse1-17/+0
Buck will be replaced with Bazel Change-Id: I3cf07d7aaaa2a58bac34e16c50af5416693254ac Signed-off-by: Matthias Sohn <>
2017-02-20Enable and fix warnings about redundant specification of type argumentsDavid Pursehouse1-1/+1
Since the introduction of generic type parameter inference in Java 7, it's not necessary to explicitly specify the type of generic parameters. Enable the warning in Eclipse, and fix all occurrences. Change-Id: I9158caf1beca5e4980b6240ac401f3868520aad0 Signed-off-by: David Pursehouse <>
2017-02-20Enable and fix 'Should be tagged with @Override' warningDavid Pursehouse3-1/+5
Set missingOverrideAnnotation=warning in Eclipse compiler preferences which enables the warning: The method <method> of type <type> should be tagged with @Override since it actually overrides a superclass method Justification for this warning is described in: Enabling this causes in excess of 1000 warnings across the entire code-base. They are very easy to fix automatically with Eclipse's "Quick Fix" tool. Fix all of them except 2 which cause compilation failure when the project is built with mvn; add TODO comments on those for further investigation. Change-Id: I5772061041fd361fe93137fd8b0ad356e748a29c Signed-off-by: David Pursehouse <>
2017-01-28Don't rely on default locale when using toUpperCase() and toLowerCase()Matthias Sohn1-1/+2
Otherwise these methods may produce unexpected results if used for strings that are intended to be interpreted locale independently. Examples are programming language identifiers, protocol keys, and HTML tags. For instance, "TITLE".toLowerCase() in a Turkish locale returns "t\u0131tle", where '\u0131' is the LATIN SMALL LETTER DOTLESS I character. See Bug: 511238 Change-Id: Id8d8f37d84d62239c918b81f8d883ed798d87656 Signed-off-by: Matthias Sohn <>
2017-01-22Implement Bazel build for http-apache, lfs, lfs-serverDavid Pursehouse1-0/+11
Test plan: $ bazel build all $ unzip -t bazel-genfiles/ Archive: bazel-genfiles/ testing: libhttp-apache.jar OK testing: libjgit-archive.jar OK testing: libjgit-lfs-server.jar OK testing: libjgit-lfs.jar OK testing: libjgit-servlet.jar OK testing: libjgit.jar OK testing: libjunit.jar OK No errors detected in compressed data of bazel-genfiles/ Change-Id: I9e6c60898ccc6d2a4557ec7544c297442a9702b4 Signed-off-by: David Pursehouse <>
2017-01-13Expose LFS operation strings as public constantsDavid Pursehouse1-0/+21
So that they can be used either by third party LFS server implementations or from within other parts of JGit's internal LFS implementation. Change-Id: I58da6230247204588e017c010ce5b14e4615448d Signed-off-by: David Pursehouse <>
2017-01-13LfsProtocolServlet: Improve error on getLargeFileRepository failureDavid Pursehouse2-0/+2
Externalize the error message and make it more specific. Also emit an error log. Change-Id: Ie7b1c90c54673bfb8e133fb0aa19a117d4ca6587 Signed-off-by: David Pursehouse <> Signed-off-by: Matthias Sohn <>
2017-01-13Add support for refusing LFS request due to invalid authorizationDavid Pursehouse3-0/+70
Add a new exception type that server implementations can throw when a client attempts to make an unauthorized LFS operation, which will result in HTTP 401 Unauthorized being returned to the client. An example of this is a Gerrit server that rejects a request to perform an LFS operation on a ref that is not visible to the caller. As defined in the LFS spec [1] the request may include authentication, and per RFC 2616 [2], "401 response indicates that authorization has been refused for those credentials". [1] [2] Change-Id: I2aa22e2144df5fb7972df0e3285b77b08ecc63f2 Signed-off-by: David Pursehouse <>
2017-01-09Add LfsPointerFilter TreeFilterDariusz Luksza3-3/+114
Add new variation of TreeFilter in order to detect LFS pointer files in the repository. Additionally, update LfsPointer to support the legacy version URL [1] as described in [2], and to allow arbitrary fields in the pointer file. [1] [2] Change-Id: I621eb058619fb1b78888a54c4b60bb110a722fc3 Signed-off-by: Dariusz Luksza <> Signed-off-by: David Pursehouse <> Signed-off-by: Matthias Sohn <>
2016-12-29[findBugs] Fix potential NPE in CleanFilterMatthias Sohn1-1/+4
Change-Id: Ibc20e9fc16be62f61748b3f59f6d70c1ebf63671 Signed-off-by: Matthias Sohn <>
2016-12-28Remove unused API warning filtersMatthias Sohn1-17/+0
Change-Id: If6d343a55245219a652e35c9cfde69349dc09889 Signed-off-by: Matthias Sohn <>
2016-12-27Prepare 4.7.0-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: I20754d13007e6591d36aae5766f3a9a82b24e120 Signed-off-by: Matthias Sohn <>
2016-12-24Prepare 4.6.1-SNAPSHOT buildsMatthias Sohn2-12/+12
Change-Id: I6b05a6f6c3f92365c272e1bdaf76093ca01f2d58 Signed-off-by: Matthias Sohn <>
2016-12-24JGit v4.6.0.201612231935-rv4.6.0.201612231935-rMatthias Sohn2-2/+2
Change-Id: Iaa88fe1b195dfe6be99a7b4cb064684e75563715 Signed-off-by: Matthias Sohn <>
2016-11-24Fix encoding of LFSPointer filesChristian Halstrick1-5/+13
LFS pointer files have to be UTF-8 with \n as line ending character. That is described in [1]. Fix JGit to follow this rules. [1] Bug: 507120 Change-Id: Ib6bd13f1cc17f1a3de125249b4f250b7b0692396
2016-10-26Use AtomicObjectOutputStream in CleanFilterMatthias Sohn2-22/+33
Enhance and use AtomicObjectOutputStream to write temporary files in CleanFilter. Change-Id: I28987dad18255a9067344f94b4e836cbd183e4b1 Signed-off-by: Matthias Sohn <>
2016-10-26CleanFilter: use atomic move to move temporary file to media fileMatthias Sohn1-1/+3
Change-Id: I227a0ed6e4e15ac3d96f96a6cefcaf55680ad8bb Signed-off-by: Matthias Sohn <>
2016-10-26Fix temporary file leak in CleanFilterMatthias Sohn1-0/+2
The CleanFilter leaked temporary files when a media file already existed before running clean filter. Change-Id: Ie20fce3f40d34095ce58e596d25d8d64fe0cde99 Signed-off-by: Matthias Sohn <>
2016-10-26Use AnyLongObjectId instead of LongObjectId in LFS APIMatthias Sohn2-8/+9
Change-Id: I083ad1ea3e8d3685df7c306854c2498c92b05ffb Signed-off-by: Matthias Sohn <>
2016-10-26Speedup CleanFilter by transferring data in chunks of 8kMatthias Sohn1-5/+6
Transferring data byte per byte is slow, running add with CleanFilter on a 2.9MB file takes 20 seconds. Using a buffer of 8k shrinks this time to 70ms. Change-Id: I3bc2d8c11fe6cfaffcc99dc2a00643e01ac4e9cc Signed-off-by: Matthias Sohn <>
2016-10-12Content type constants used in lfs should be finalMatthias Sohn2-2/+19
Change-Id: Ia56a9f58e336c25255a81d9402e198e5ce5da442 Signed-off-by: Matthias Sohn <>
2016-09-20Change JGit minimum execution environment to JavaSE-1.8Matthias Sohn3-5/+5
Bug: 500059 Change-Id: I47f3f6749a67da52029f84e002d9b155ed56d2b7 Signed-off-by: Matthias Sohn <>
2016-09-20Move AtomicObjectOutputStream to lfs/internalChristian Halstrick4-1/+131
The class AtomicObjectOutputStream should be available to all lfs related classes, not only to the server side. Move the class from org.eclipse.jgit.lfs.server.fs to org.eclipse.jgit.lfs.internal to achieve that. Change-Id: I028e1c9ec7c21f316340b21d558b9a6b77e2060d
2016-09-20Add built-in LFS smudge filter for local caseChristian Halstrick4-2/+181
Adds a JGit built-in implementation of the "git lfs smudge" filter. This filter should do the same as the one described in [1] besides that it only supports the local case when the lfs objects are already present in the media directory. Remote cases where download of LFS objects from an LFS server is needed will be done in a later commit. [1] Change-Id: I8ff661d4edd3667ef7f86f3b4fa33e568eb4c8f4
2016-09-20Add built-in LFS clean filterChristian Halstrick8-5/+534
Adds a JGit built-in implementation of the "git lfs clean" filter. This filter should do the same as the one described in [1]. But since this filter is written in Java and can be called by JGit without forking new processes it should be much faster [1] Change-Id: If60e387e97870245b4bd765eda6717eb84cffb1d
2016-09-19Prepare 4.6.0-SNAPSHOT buildsMatthias Sohn2-9/+9
Change-Id: Id2eafc331ee32c332c2a9b867b05c260beb0d10f Signed-off-by: Matthias Sohn <>
2016-08-30Add specific exception for LFS unavailableDavid Pursehouse3-1/+68
Instead of returning null, LfsProtocolServlet#getLargeFileRepository should throw LfsUnavailable. If null is returned, throw a generic LfsException. Handle LfsException as an internal server error and return HTTP 500. Change-Id: I33e2a19fcc0fde8aaf0f703860c8fa8ce2de2db5 Signed-off-by: David Pursehouse <>
2016-08-30Add Javadoc for LFS exception messagesDavid Pursehouse7-0/+7
Change-Id: I4967b5f7a9a7e9488d20f60aaa949efe97442429 Signed-off-by: David Pursehouse <>
2016-08-25LfsProtocolServlet: Add support for insufficient storage errorDavid Pursehouse1-0/+61
Since [1], the git-lfs specification allows the server to return HTTP 507 if there is insufficient storage for the uploaded object(s). Add a new exception class, which implementations may throw from the getRepository() method, causing HTTP 507 to be returned to the client. [1] Change-Id: If5bc0a35fcf870d4216af6ca2f7c8924689ef9c5 Signed-off-by: David Pursehouse <>

Back to the top