summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.lfs
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* Declare LFS dependency on GSON for Bazel buildHan-Wen Nienhuys2018-02-191-0/+1
| | | | | Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Change-Id: Ia017dd5651756c3b80f18b908fb28ba56b6cbf14
* LFS: Add remote download to SmudgeFilterMarkus Duft2018-02-1611-27/+707
| | | | | | | | | | | | | | | Transfer data in chunks of 8k Transferring data byte per byte is slow, running checkout with CleanFilter on a 2.9MB file takes 20 seconds. Using a buffer of 8k shrinks this time to 70ms. Also register the filter commands in a way that the native GIT LFS can be used alongside with JGit. Implements auto-discovery of LFS server URL when cloning from a Gerrit LFS server. Change-Id: I452a5aa177dcb346d92af08b27c2e35200f246fd Also-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
* Prepare 4.11.0-SNAPSHOT buildsMatthias Sohn2017-12-312-15/+15
| | | | | Change-Id: I5d5e2befcf530d93457d44684bd9e4fc2392e5eb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Add header Automatic-Module-Name for Java 9Karsten Thoms2017-12-231-0/+1
| | | | | | Bug: 529075 Change-Id: I4532ce2c80eb91531d46026676502d636ccda706 Signed-off-by: Karsten Thoms <karsten.thoms@itemis.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix remaining javadoc errors raised by doclintMatthias Sohn2017-12-213-10/+12
| | | | | | | For now ignore doclint "missing" warnings. Change-Id: I0e5af7a757f4d92ffeeb113f30576a35414d6781 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix javadoc in org.eclipse.jgit.lfsMatthias Sohn2017-12-1724-84/+190
| | | | Change-Id: I97b53c083da6aa31719d9e10369030ee33dd23dc Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Use constants from StandardCharsets instead of hard-coded stringsDavid Pursehouse2017-12-072-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 <david.pursehouse@gmail.com>
* InvalidLongObjectIdException: Fix formatting of messageDavid Pursehouse2017-12-071-1/+1
| | | | | | | | | | | | | The message is formatted as: Invalid id: : abcde... but should be: Invalid id: abcde... Change-Id: Ie15cacdcf2f168edaee262e6cf8061ebfe9d998d Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>