summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.lfs
Commit message (Collapse)AuthorAgeFilesLines
* Disable Eclipse warning about unrecognized @SuppressWarnings valueDavid Pursehouse2018-10-171-1/+1
| | | | | | | | | | | | | The code base has several @SuppressWarnings annotations to suppress warnings raised by Error Prone, but those are not recognized by Eclipse and there is currently no way to tell it about them [1]. Suppress them for now. [1] https://bugs.eclipse.org/bugs/show_bug.cgi?id=392045 Change-Id: I3de7cfa8ad4370ca5be71e1303879c73ab6829c1 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Format @NonNull on return value as method annotationJonathan Nieder2018-10-091-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | For example, instead of using public @NonNull String getMyFavoriteString() { ... } use @NonNull public String getMyFavoriteString() { ... } This makes the style more consistent (the existing JGit code base tends to lean toward the second style) and makes the source code better reflect how the annotation is parsed, as a METHOD annotation. Longer term, we should switch to a TYPE_USE annotation and switch to the first style. Noticed using a style checker that follows https://google.github.io/styleguide/javaguide.html#s4.8.5-annotations Change-Id: I9b9fa08035d805ca660520f812a84d2f47eff507 Reported-by: Ivan Frade <ifrade@google.com> Signed-off-by: Jonathan Nieder <jrn@google.com>
* Format @Nullable on return value as method annotationJonathan Nieder2018-10-092-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | For example, instead of using public @Nullable String getMyFavoriteString() { ... } use @Nullable public String getMyFavoriteString() { ... } This makes the style more consistent (the existing JGit code base tends to lean toward the second style) and makes the source code better reflect how the annotation is parsed, as a METHOD annotation. Longer term, we should switch to a TYPE_USE annotation and switch to the first style. Noticed using a style checker that follows https://google.github.io/styleguide/javaguide.html#s4.8.5-annotations Change-Id: I07f4e67cc149fb8007f696a4663e10d4bfc57e3a Reported-by: Ivan Frade <ifrade@google.com> Signed-off-by: Jonathan Nieder <jrn@google.com>
* Fix Mylyn commit message templateMichael Keppler2018-09-231-1/+1
| | | | | | | | The commit message template contains a superfluous blank at the end of the first line, which is deleted by this change. This is only relevant for jgit contributors using Eclipse, not for jgit users. Change-Id: I462deb49c26fb64b3dc2d1d75f1e40ef302b0fc9 Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
* [spotBugs] Fix potential NPE in SmudgeFilter#downloadLfsResourceMatthias Sohn2018-09-131-1/+4
| | | | Change-Id: Ibaf8481a5b1a96ebe1debfd98e1e2201d1005fc0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Prepare 5.2.0-SNAPSHOT buildsMatthias Sohn2018-09-062-24/+24
| | | | | Change-Id: If8e8ca20e745901a5e0239c16cb4acc7934b4ec8 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Deprecate Constants.CHARSET in favor of StandardCharsets.UTF_8David Pursehouse2018-09-043-10/+10
| | | | | Change-Id: I3b748620f067582afef20f144feebe40d0332be2 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Specify charset when constructing InputStreamReaderDavid Pursehouse2018-09-022-2/+3
| | | | | | | | | | | | ErrorProne warns [1] about implicit use of the platform default charset, which can result in differing behaviour between JVM executions or incorrect behavior if the encoding of the data source doesn't match expectations. [1] http://errorprone.info/bugpattern/DefaultCharset Change-Id: I0fd489d352170339c3867355cd24324dfdbd4b59 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Adjust severity of missing execution environment for LFSMarkus Duft2018-08-291-1/+1
| | | | | | | | All other JGit bundles use severity warning for missing execution environment definition. Use the same configuration for LFS bundles. Bug: 488123 Change-Id: I575d6d61418f5c4e39303fb8a9cd69e6539f6b5e Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* Prepare 5.1.0-SNAPSHOT buildsMatthias Sohn2018-08-292-2/+2
| | | | | Change-Id: If57fcce14f5ba3ef2a2602515e2f89b8f22a742b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v5.1.0.201808281540-m3v5.1.0.201808281540-m3Matthias Sohn2018-08-282-2/+2
| | | | | Change-Id: Ie86c46a828b55a2235056b9a5bc2c6c450b95ed0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* refactor: simplify collection.toArray()Michael Keppler2018-08-231-1/+1
| | | | | | | | | | | On recent VMs, collection.toArray(new T[0]) is faster than collection.toArray(new T[collection.size()]). Since it is also more readable, it should now be the preferred way of collection to array conversion. https://shipilev.net/blog/2016/arrays-wisdom-ancients/ Change-Id: I80388532fb4b2b0663ee1fe8baa94f5df55c8442 Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
* Merge branch 'stable-5.0'Matthias Sohn2018-06-142-20/+50
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-5.0: Prepare 5.0.1-SNAPSHOT builds JGit v5.0.0.201806131550-r JGit v5.0.0.201806131210-r Downgrade Apache httpclient to 4.5.2.v20170210-0925 RefUpdateTest: Refactor to not use deprecated Repository#getAllRefs Propagate failure of ssh command to caller of SshSupport Make JGit describe behaves same as c-git for lightweight tags Fix issues with LFS on GitHub (SSH) Change-Id: I0471440919adfdbfc72996711d9e0bbd1f3cf477 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.0.1-SNAPSHOT buildsMatthias Sohn2018-06-132-24/+24
| | | | | | | | | | Change-Id: Iadf12dbdd63ef17c3f712c0fc18495304aa35016 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.0.0.201806131550-rv5.0.0.201806131550-rMatthias Sohn2018-06-132-2/+2
| | | | | | | | | | Change-Id: Ia2d548676217250593c3f0c383aec19e12e5e4a4 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.0.0.201806131210-rMatthias Sohn2018-06-132-2/+2
| | | | | | | | | | Change-Id: Iedccfcaf57c11822f1faf5d5195357de42b2a14e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Propagate failure of ssh command to caller of SshSupportMatthias Sohn2018-06-134-24/+38
| | | | | | | | | | | | | | | | | | | | | | | | When SshSupport.runSshCommand fails since the executed external ssh command failed throw a CommandFailedException. If discovery of LFS server fails due to failure of the git-lfs-authenticate command chain the CommandFailureException to the LfsConfigInvalidException in order to allow root cause analysis in the application using that. Change-Id: I2f9ea2be11274549f6d845937164c248b3d840b2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Fix issues with LFS on GitHub (SSH)Markus Duft2018-06-124-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | * URIish seems to have a tiny feature (bug?). The path of the URI starts with a '/' only if the URI has a port set (it seems). * GitHub does not return SSH authorization on a single line as Gerrit does - need to account for that. * Increase the SSH git-lfs-authenticate timeout, as GitHub sometimes responds slower than expected. * Guard against NPE in case the download action does not contain any additional headers. Change-Id: Icd1ead3d015479fd4b8bbd42ed42129b0abfb95c Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* | Merge branch 'stable-5.0'Matthias Sohn2018-06-101-3/+4
|\| | | | | | | | | | | | | | | | | | | | | | | * stable-5.0: Ensure Jsch checks all configured algorithms RawTextTest#testBinary: use array comparison to compare arrays LFS: Better SSH authentication token timeout handling Ensure DirectoryStream is closed promptly Validate branch names on branch creation Change-Id: Ic4f6a24b6ccee6730eee3fd5dcb0d1f3e291c478 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * LFS: Better SSH authentication token timeout handlingMarkus Duft2018-06-091-3/+4
| | | | | | | | | | | | | | * Larger eager timeout to compensate for high-latency lines * Respect eager timeout in case the server uses "expiresIn" Change-Id: Id87da1eea874e70b69eaccf35c84af4c3bb50770 Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
| * Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2018-06-052-2/+2
| | | | | | | | | | Change-Id: I9acca328146aa7100fbc1b457fcb1f8fd87cf52a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.0.0.201806050710-rc3v5.0.0.201806050710-rc3Matthias Sohn2018-06-052-2/+2
| | | | | | | | | | Change-Id: Ic7a6a87dd3a21351e60fbf6cd330456adf1f6800 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2018-05-302-2/+2
| | | | | | | | | | Change-Id: I9c4a0465f8e85041d24da97f4b4c7ad5f5eed3e4 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.0.0.201805301535-rc2v5.0.0.201805301535-rc2Matthias Sohn2018-05-302-2/+2
| | | | | | | | | | Change-Id: Ifad678794525c01838b03e52bada66e1c089c5ae Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2018-05-232-2/+2
| | | | | | | | | | Change-Id: Ie343ccf37f46168041046500a2e19acc80814cfe Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v5.0.0.201805221745-rc1v5.0.0.201805221745-rc1Matthias Sohn2018-05-222-2/+2
| | | | | | | | | | Change-Id: Ie2c35fab87f294b00f9754b07b60a848bf256b10 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Prepare 5.1.0-SNAPSHOT buildsMatthias Sohn2018-05-232-24/+24
|/ | | | | Change-Id: I8523a993ae1f7b62573d7547273bc1356bf64fa7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Remove further unnecessary 'final' keywordsHan-Wen Nienhuys2018-05-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove it from * package private functions. * try blocks * for loops this was done with the following python script: $ cat f.py import sys import re import os def replaceFinal(m): return m.group(1) + "(" + m.group(2).replace('final ', '') + ")" methodDecl = re.compile(r"^([\t ]*[a-zA-Z_ ]+)\(([^)]*)\)") def subst(fn): input = open(fn) os.rename(fn, fn + "~") dest = open(fn, 'w') for l in input: l = methodDecl.sub(replaceFinal, l) dest.write(l) dest.close() for root, dirs, files in os.walk(".", topdown=False): for f in files: if not f.endswith('.java'): continue full = os.path.join(root, f) print full subst(full) Change-Id: If533a75a417594fc893e7c669d2c1f0f6caeb7ca Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
* Remove 'final' in parameter listsHan-Wen Nienhuys2018-05-154-42/+42
| | | | | Change-Id: Id924f79c8b2c720297ebc49bf9c5d4ddd6d52547 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
* Remove trivial cases of using deprecated RefDatabase.getRefs()Matthias Sohn2018-04-251-2/+2
| | | | Change-Id: I2d3e426a3391923f8a690ac68fcc33851f3eb419 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'stable-4.11'David Pursehouse2018-04-091-0/+4
|\ | | | | | | | | | | | | | | * stable-4.11: LFS: Fix potential NPE in LfsPrePushHook Change-Id: If721bd18035870541d216d2dcd9d47484e9af3e5 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * LFS: Fix potential NPE in LfsPrePushHookMarkus Duft2018-04-041-0/+4
| | | | | | | | | | | | The NPE occurred in conjunction with a symbolic ref (origin/HEAD). Change-Id: I291636818a121ca00e0df25de5b6fc71a48d447f Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* | Remove unused API problem filtersDavid Pursehouse2018-03-241-27/+0
| | | | | | | | | | Change-Id: I414ebba1db831686fd378dadcb7c4882eb323115 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Merge "Introduce SshSupport to centralize SSH related utility code"Matthias Sohn2018-03-121-46/+6
|\ \
| * | Introduce SshSupport to centralize SSH related utility codeMarkus Duft2018-03-121-46/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As discussed with Thomas here: https://git.eclipse.org/r/#/c/83506/31/org.eclipse.jgit.lfs/src/org/eclipse/jgit/lfs/SmudgeFilter.java@349 Move the code from ConfigureGerritAfterCloneTask to SshSupport and eliminate the slightly modified copy of the code from LfsConnectionFactory. Separate EGit commit will eliminate the code from ConfigureGerritAfterCloneTask. Change-Id: Ifb5adb1342e0fc1f2a70cddf693408d4e0ef7906 Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* | | Consistently use Constants.CHARSET rather than StandardCharsets.UTF_8David Pursehouse2018-03-113-8/+9
| | | | | | | | | | | | | | | Change-Id: I6714fc3666e1bced22abba94ceb700477349586e Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | | Remove deprecated Lfs#Lfs(Path)Matthias Sohn2018-03-101-13/+0
| | | | | | | | | | | | | | | | | | Use Lfs#Lfs(Repository) instead. Change-Id: I7303987ed047b42fd1bac8e27ed49333080e556b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Prepare 5.0.0-SNAPSHOT buildsMatthias Sohn2018-03-082-24/+24
| |/ |/| | | | | | | Change-Id: I2d2f50ed8a12f310e7cac68eed5536bd460c403f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Prepare 4.11.1-SNAPSHOT buildsMatthias Sohn2018-03-082-24/+24
| | | | | | | | | | Change-Id: Id9aa6b7e8f56de5183b6cd57ef0e790ec9debd4d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | JGit v4.11.0.201803080745-rv4.11.0.201803080745-rMatthias Sohn2018-03-082-2/+2
|/ | | | | Change-Id: Ie24a33bc8a24c30db06fe7b175f405efb95776ec Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* LFS: Adjust some API to make integration into tools (EGit,...) easierMarkus Duft2018-03-072-4/+11
| | | | | | | | | | Make the install command accessible without requiring reflection. Expose the isEnabled(Repository) API to be able to check if calling the install command is required for a repository. Change-Id: I17e6eaefb6afda17fea8162cbf0cb86a20506753 Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* SmudgeFilter: Fix Integer boxing warningDavid Pursehouse2018-03-051-1/+2
| | | | | Change-Id: Ic00bcd25b0808a58880a4433d76b3b5a6a4ee5c7 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Add ConfigConstants.CONFIG_SECTION_LFSDavid Pursehouse2018-03-053-9/+12
| | | | | | | | | | | | | | DirCacheCheckout has a warning about non-localised string "lfs". Other classes use org.eclipse.jgit.lfs.lib.Constants but that is not visible to DirCacheCheckout. Add a new constant in ConfigConstants and use that in DirCacheCheckout. Replace existing uses of org.eclipse.jgit.lfs.lib.Constants.LFS with the new constant, except where it is referring to the folder name. Change-Id: I0f21b951babff9a2e579d68c4de0c62ee4bc23d4 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Return this from InstallLfsCommand.setRepository() to allow chainingMatthias Sohn2018-03-041-1/+5
| | | | Change-Id: I105f1f62f2dcdb20a196361190e9c9fe368e8613 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Enable warning for resources not managed by try-with-resourceDavid Pursehouse2018-03-031-1/+1
| | | | | Change-Id: Iefe97de6bdb62af558f1b0e77c9205a9186f9b4c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* LFS: Enable LFS support for the CLI, better error handlingMarkus Duft2018-03-033-0/+7
| | | | | | | | | | Enable LFS support for the CLI by registering the according filters. Errors during filter creation must be propagated up the call stack, as a failure to create a filter should be treated as fatal if the filter is required. Change-Id: I3833757839bdda97cd01b6c21c1613d199e2692d Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* Cleanup stream usage WRT filtersMarkus Duft2018-03-032-30/+45
| | | | | | | | As it is right now some streams leak out of the filter construct. This change clarifies responsibilities and fixes stream leaks Change-Id: Ib9717d43a701a06a502434d64214d13a392de5ab Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* LFS: support merge/rebase/cherry-pick/diff/compare with LFS filesMarkus Duft2018-03-038-11/+417
| | | | | | | | | | | | Respect merge=lfs and diff=lfs attributes where required to replace (in memory) the content of LFS pointers with the actual blob content from the LFS storage (and vice versa when staging/merging). Does not implement general support for merge/diff attributes for any other use case apart from LFS. Change-Id: Ibad8875de1e0bee8fe3a1dffb1add93111534cae Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* LFS: Dramatically improve checkout speed with SSH authenticationMarkus Duft2018-03-014-15/+108
| | | | | | | | | | | | | | | SSH Authentication is quite expensive (~120ms on localhost against Gerrit with LFS plugin). The SSH authentication typically also sends a validity time of the returned token, which allows to re-use it for a certain time, avoiding the expensive authentication on every download request. This improves checkout times by large factors depending on the LFS object amount/sizes. Also make sure that all instances of Gson used by LFS are configured in the same way. Change-Id: I422c94c37021b4322789b3829fa0185e25d683f2 Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* LFS: pre-push upload supportMarkus Duft2018-02-278-183/+616
| | | | | | | | | | | | If JGit built in LFS support is enabled for the current repository (or user/system), any existing pre-push hook will cause an exception for the time beeing, as only a single pre-push hook is supported. Thus either native pre-push hooks OR JGit built-in LFS support may be enabled currently, but not both. Change-Id: Ie7d2b90e26e948d9cca3d05a7a19489488c75895 Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>