aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.pgm/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | TextBuiltin#init: Factor out a method to get the log output encodingDavid Pursehouse2018-09-301-11/+22
| | | | | | | | | | Change-Id: I87c5774722bd36ea6fe18c4b7ce22342578fa290 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | ConfigConstants: Add constants for i18n.logOutputEncodingDavid Pursehouse2018-09-301-2/+5
| | | | | | | | | | Change-Id: I6073c7fc8ec30840e2ee2e90ac4cfdb136f48b9a Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | TextBuiltin: Default to UTF-8 when i18n.logOutputEncoding is not setDavid Pursehouse2018-09-301-25/+25
| | | | | | | | | | Change-Id: I69d82086c052b7ba601e0daab133573ec37c25cf Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Make inner classes static where possibleDavid Pursehouse2018-09-261-1/+1
|/ | | | | | | | | | | | | As reported by Error Prone: An inner class should be static unless it references members of its enclosing class. An inner class that is made non-static unnecessarily uses more memory and does not make the intent of the class clear. See https://errorprone.info/bugpattern/ClassCanBeStatic Change-Id: Ib99d120532630dba63cf400cc1c61c318286fc41 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Deprecate Constants.CHARSET in favor of StandardCharsets.UTF_8David Pursehouse2018-09-045-11/+13
| | | | | Change-Id: I3b748620f067582afef20f144feebe40d0332be2 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Add ls-files CLI commandMatthias Sohn2018-08-281-0/+106
| | | | | | Implement the basic functionality and support the option --help (-h). Change-Id: Ibcdf0c958d0f93b7415d4e591b1455ccba5d95f7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* refactor: simplify collection.toArray()Michael Keppler2018-08-235-5/+5
| | | | | | | | | | | 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>
* Make Reftable seek* and has* method names more consistentMinh Thai2018-07-111-1/+1
| | | | | | | | | | | | | | | | | Make the method names more consistent and their semantics simpler: hasRef and seekRef to look up a single exact reference by name and hasRefsByPrefix and seekRefsByPrefix to look up multiple references by name prefix. In particular, splitting hasRef into two separate methods for its different uses makes DfsReftableDatabase.isNameConflicting easier to follow. [jn: fleshed out commit message] Change-Id: I71106068ff3ec4f7e14dd9eb6ee6b5fab8d14d0b Signed-off-by: Minh Thai <mthai@google.com> Signed-off-by: Jonathan Nieder <jrn@google.com>
* Seek references by prefix in reftableMinh Thai2018-07-101-1/+1
| | | | | | | | | Reftable implementation of RefDatabase.getRefsByPrefix() should be more performant, as references are filtered directly by prefix; instead of fetching the whole subtree then filter by prefix. Change-Id: If4f5f8c08285ea1eaec9efb83c3d864cea7a1321 Signed-off-by: Minh Thai <mthai@google.com>
* Repository: Deprecate #peel methodDavid Pursehouse2018-05-221-1/+1
| | | | | | | | | | | | | | Callers should use getRefDatabase().peel(ref) instead since it doesn't swallow the IOException. Adapt all trivial callers to user the alternative. DescribeCommand still uses the deprecated method and is not adapted in this change since it will require more refactoring to add handling of the IOException. Change-Id: I14d4a95a5e0570548753b9fc5c03d024dc3ff832 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Remove further unnecessary 'final' keywordsHan-Wen Nienhuys2018-05-1820-48/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1528-56/+56
| | | | | Change-Id: Id924f79c8b2c720297ebc49bf9c5d4ddd6d52547 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com>
* Rename RefDatabase#getAllRefs to getRefsJonathan Nieder2018-04-295-7/+5
| | | | | | | | | | | | | | | This is easier to type and makes it clearer that it only returns refs and not the pseudo-refs returned by getAdditionalRefs. It also puts us in a better position to add a method to the Repository class later that delegates to this one without colliding with the existing Repository#getAllRefs method that returns a Map<String, Ref>. While at it, clarify the javadoc of getRefs and hasRefs to make the same point. Suggested-by: David Pursehouse <david.pursehouse@gmail.com> Change-Id: I23497c66ac7b5e0c987b91efbc9e9cc29924ca66 Signed-off-by: Jonathan Nieder <jrn@google.com>
* RefDatabase: add hasRefs convenience methodDavid Pursehouse2018-04-291-1/+1
| | | | | | | | | | | | | | | | | Callers can now say: db.getRefDatabase().hasRefs() rather than the more verbose: !db.getRefDatabase().getAllRefs().isEmpty() The default implementation simply uses getAllRefs().isEmpty(), but a derived class could possibly override the method with a more efficient implementation. Change-Id: I5244520708a1a7d9adb351f10e43fc39d98e22a1 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* RefDatabase: Introduce getAllRefs methodDavid Pursehouse2018-04-275-15/+6
| | | | | | | | | | | | Currently to get all refs, callers must use: getRefsByPrefix(ALL) Introduce getAllRefs, which does this, and migrate all existing callers of getRefsByPrefix(ALL). Change-Id: I7b1687c162c8ae836dc7db3ccc7ac847863f691d Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Remove trivial cases of using deprecated RefDatabase.getRefs()Matthias Sohn2018-04-255-19/+14
| | | | Change-Id: I2d3e426a3391923f8a690ac68fcc33851f3eb419 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Configure WindowCache settings to use in JGit CLIMatthias Sohn2018-04-131-0/+10
| | | | | | | Set the same defaults as in EGit. Use mmap to map git packfiles into memory. Change-Id: I7997b9123448a762192d7eeb55e01432549fba98 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* ShowPackDelta: Refactor to use try-with-resourceDavid Pursehouse2018-03-141-7/+8
| | | | | | | | Remove the resource warning suppression and refactor the code to open the TemporaryBuffer and InflaterInputStream in a try-with-resource. Change-Id: I3082e5ac7565c5000d5a4364f750dd0a0952fc6e Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* CommandCatalog: Simplify scan method using try-with-resourceDavid Pursehouse2018-03-131-21/+4
| | | | | | | | | The IOExceptions caught in the nested try blocks are all ignored, so we can just wrap them all up into a single try-with-resource block. Change-Id: Id85850b3f54c408af73063220e6fead20cb0fd80 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Open auto-closeable resources in try-with-resourceDavid Pursehouse2018-03-132-12/+4
| | | | | | | | | | | | | | | | | | | | When an auto-closeable resources is not opened in try-with-resource, the warning "should be managed by try-with-resource" is emitted by Eclipse. Fix the ones that can be silenced simply by moving the declaration of the variable into a try-with-resource. In cases where we explicitly call the close() method, for example in tests where we are testing specific behavior caused by the close(), suppress the warning. Leave the ones that will require more significant refcactoring to fix. They can be done in separate commits that can be reviewed and tested in isolation. Change-Id: I9682cd20fb15167d3c7f9027cecdc82bc50b83c4 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Implement --force option in FetchCommand and CLI fetch commandMatthias Sohn2018-03-131-0/+6
| | | | Change-Id: I42cdb57b8fb54ce466d1958391f12f911045327f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Consistently use Constants.CHARSET rather than StandardCharsets.UTF_8David Pursehouse2018-03-114-9/+9
| | | | | Change-Id: I6714fc3666e1bced22abba94ceb700477349586e Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* CommandCatalog: Use StandardCharsets.UTF_8David Pursehouse2018-03-071-1/+3
| | | | | Change-Id: I7c3356335cfedd81f663fd528799fc57b95fcf0f Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* DiffAlgorithms: Open Repository in try-with-resourceDavid Pursehouse2018-03-061-4/+1
| | | | | Change-Id: I67cb486283213f8aa964333533c55966518baa36 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* AmazonS3Client: Open Input/OutputStream in try-with-resourceDavid Pursehouse2018-03-051-15/+8
| | | | | Change-Id: I32d4031159dff9005e839d0b53940431cba12beb Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* LFS: Enable LFS support for the CLI, better error handlingMarkus Duft2018-03-031-0/+3
| | | | | | | | | | 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>
* LFS: support merge/rebase/cherry-pick/diff/compare with LFS filesMarkus Duft2018-03-031-4/+2
| | | | | | | | | | | | 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>
* Progress reporting for checkoutMarkus Duft2018-01-231-1/+3
| | | | | | | | | | | | | | The reason for the change is LFS: when using a lot of LFS files, checkout can take quite some time on larger repositories. To avoid "hanging" UI, provide progress reporting. Also implement (partial) progress reporting for cherry-pick, reset, revert which are using checkout internally. The feature is also useful without LFS, so it is independent of it. Change-Id: I021e764241f3c107eaf2771f6b5785245b146b42 Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Remove redundant @SuppressWarnings("unused")David Pursehouse2017-12-181-1/+1
| | | | | | | These are now redundant since the parameters have javadoc. Change-Id: I6bfde267e1712ee35871c30c8203c3b4dc5e136a Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* PathTreeFilterHandler: Remove unused importDavid Pursehouse2017-12-181-1/+0
| | | | | Change-Id: I7a91210dcb775d0c9b46772f8ff3d84196ba3b10 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Fix javadoc in org.eclipse.jgit.pgmMatthias Sohn2017-12-1876-42/+329
| | | | Change-Id: I74616f6e8ef69bef4db2f13a9b47ddf57714fd1f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* LfsStore: Make inner class AppServer staticDavid Pursehouse2017-12-061-1/+1
| | | | | | | | | | | | | FindBugs reports: This class is an inner class, but does not use its embedded reference to the object which created it. This reference makes the instances of the class larger, and may keep the reference to the creator object alive longer than necessary. If possible, the class should be made static. Change-Id: I245e44678166176de0cfb275e22ddd159f88e0bd Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Remove final modifier on args4j argument field in RevParseRĂ¼diger Herrmann2017-11-191-1/+1
| | | | | | | | | | | | Args4J does no longer allow to use final fields to reference arguments or options [1]. Change RevParse to be compatibel with this change. [1] https://github.com/kohsuke/args4j/commit/6e11f89d40dcc518c0e5eb9eef5d74f05d58e6af See-also: a0558b709448cea01cc0725fff73408d9b223c72 Signed-off-by: RĂ¼diger Herrmann <ruediger.herrmann@gmx.de> Change-Id: I33b233f195c06855d9e094c8c9ba804fbe7b1438
* Checkout now reports failures through exceptions.Ned Twigg2017-10-011-8/+12
| | | | | | | | | | | Checkout sometimes throws an exception, and other times it writes an error message to outw and returns normally, even though the command failed. This commit now reports all failures through a die() exception. Change-Id: I038a5d976d95020fea3faac68e9178f923c25b28 Signed-off-by: Ned Twigg <ned.twigg@diffplug.com>
* Added API to TextBuiltin for piped usage.Ned Twigg2017-09-211-0/+33
| | | | | | | | | | Added a public method to TextBuiltin which makes it possible for clients to initialize all of its state, including output and error streams. This gives clients the ability to customize the way in which a command is run. Change-Id: If718236964d2c5cf869e120c74f1a12965f4812e Signed-off-by: Ned Twigg <ned.twigg@diffplug.com>
* Implement CommandRef.toString() to help debuggingMatthias Sohn2017-09-081-0/+8
| | | | Change-Id: If3ebed08c8f4e2cc925a97dbdd4c84410bc7c4a5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Stop using deprecated CmdLineException constructorsDavid Pursehouse2017-09-068-32/+75
| | | | | | | | | | | Instead of taking a String, the constructors now take a Localizable and a variable list of format arguments. Introduce a new Format helper class in CLIText, which implements the Localizable interface, and use it in place of raw Strings. Change-Id: I241eda16e242293ceb17b3c85ae5df85bd37c658 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* UntrackedFilesHandler: Fix non-localized stringDavid Pursehouse2017-09-062-2/+6
| | | | | Change-Id: Ida7b9ddc991515ab233763f2cb985853c9143a3c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Main: Replace deprecated ExampleMode with OptionHandlerFilterDavid Pursehouse2017-09-061-2/+3
| | | | | Change-Id: I1161a82269b7f093c00c9533ed8b99b7cca0a322 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Remove final modifier on args4j option or argument fieldsMatthias Sohn2017-09-054-8/+8
| | | | | | | | | Remove final field modifier since args4j does no longer allow use of final fields [1]. [1] https://github.com/kohsuke/args4j/commit/6e11f89d40dcc518c0e5eb9eef5d74f05d58e6af Change-Id: Ib3dee10828d87d6b558c2e90387eadd9aa2ce260 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Update args4j to 2.33Matthias Sohn2017-08-305-31/+14
| | | | | | | CQ: 11068 Change-Id: I7d52cddacff05477f646fda5f7b9f2de844922f6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Fix compilation errors with args4j 2.0.23 and laterRobin Stocker2017-08-3010-18/+16
| | | | | | | | | | The multiValued attribute on @Option was removed. When the field is a List, it's not actually needed (even with earlier versions of args4j), see RmTest. In other cases, we have a custom handler, where it's also not needed. Bug: 413163 Change-Id: I4bb951e9fab5f4ae4271bd7e11be799dc234ab80
* Cleanup: Organize importsMatthias Sohn2017-08-302-4/+4
| | | | Change-Id: I6065e59519bc42bd18f5cc5ee3ec5210764ab03c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix default directory set when setDirectory wasn't called.Joan Goyeau2017-08-251-0/+3
| | | | | | Bug: 519883 Change-Id: I46716e9626b4c4adc0806a7c8df6914309040b94 Signed-off-by: Joan Goyeau <joan@goyeau.com>
* reftable: debug toolsShawn Pearce2017-08-174-0/+924
| | | | | | | | | | | Simple debug programs to experiment with the reftable file format: debug-read-reftable debug-write-reftable debug-verify-reftable debug-benchmark-reftable Change-Id: I79db351d86900f1e58b17e922e195dff06ee71f1
* Rename extensions.refsStorage to refStorageShawn Pearce2017-08-111-1/+1
| | | | | | | This matches the proposal that has been discussed at length on git-core mailing list and seems to be the accepted convention. Change-Id: I9f6ab15144826893d1e2a4b48a2d657d6dd445ec
* Add missing newlines at ends of Java filesDavid Pursehouse2017-07-253-3/+3
| | | | | Change-Id: Iead36f53d57ead0eb3edd3f9efb63b6630c9c20c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Add --match option for `jgit describe` to CLIOliver Lockwood2017-06-222-0/+8
| | | | | | | | | This adds --match option for glob(7) matchers on git tags to jgit describe in CLI. Bug: 518377 Change-Id: I745988d565dd4391e8b3e5a91bbfbae575333819 Signed-off-by: Oliver Lockwood <oliver.lockwood@cantab.net>
* Use a dedicated executor to run auto-gc in command line interfaceMatthias Sohn2017-06-111-0/+19
| | | | | | | | WorkQueue uses daemon threads so auto-gc would not be executed after short-lived commands run in command line. Hence use a dedicated executor which we shutdown when the command finishes. Change-Id: I0c2429ecfa04387389d159168ba78a020a696228 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fetch: Add --recurse-submodules and --no-recurse-submodules optionsDavid Pursehouse2017-06-113-2/+49
| | | | | | | | | | Add options to control recursion into submodules on fetch. Add a callback interface on FetchCommand, to allow Fetch to display an update "Fetching submodule XYZ" for each submodule. Change-Id: Id805044b57289ee0f384b434aba1dbd2fd317e5b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>