aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Use new StoredObjectRepresentationNotAvailableException constructorDavid Pursehouse2017-12-193-21/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5e7eed4 a new StoredObjectRepresentationNotAvailableException constructor was added, that takes a Throwable to initialize the exception cause. Update more call sites to use this constructor instead of first instantiating it and explicitly calling initCause(). All callers now use the new constructor, so annotate the other one as deprecated. Change-Id: I6d2a7e289a95f0360ddebf904cfd8b6c18fef10c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | | Fix javadoc in org.eclipse.jgit submodule packageMatthias Sohn2017-12-192-37/+75
| | | | | | | | | | | | Change-Id: Idc2a32a2e10d1cfc0b23a4f3fd1bf29840724336 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Fix javadoc in org.eclipse.jgit storage/file and pack packageMatthias Sohn2017-12-195-41/+169
| | | | | | | | | | | | Change-Id: If1fee165782823dc21d896073f60ee838365463d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Fix javadoc in org.eclipse.jgit revwalk packageMatthias Sohn2017-12-1940-256/+487
| | | | | | | | | | | | Change-Id: I3fabab8afa284b1919ab7bc656cab19e56ed474e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Fix javadoc in org.eclipse.jgit patch and revplot packageMatthias Sohn2017-12-1910-61/+236
| | | | | | | | | | | | Change-Id: I6f1aba98bf7034cb51494c546806cf1b72dd1473 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Fix javadoc in org.eclipse.jgit nls and notes packageMatthias Sohn2017-12-198-71/+94
| | | | | | | | | | | | Change-Id: I1b65fba5b4856f98974dc10f549540d401ef916f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Fix javadoc in org.eclipse.jgit merge packageMatthias Sohn2017-12-1916-105/+209
|/ / | | | | | | Change-Id: I735d0f2e9f10531ed43b7b3dd6314c574392422f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit lib packageMatthias Sohn2017-12-1964-550/+1215
| | | | | | | | Change-Id: I1e85a951488177993521ce177fdea212615e6164 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit storage/reftree packageMatthias Sohn2017-12-198-37/+105
| | | | | | | | Change-Id: Ie206b5340ad2019a1e0bd2bcede2c1e5a279f2d5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit storage/reftable packageMatthias Sohn2017-12-1911-57/+215
| | | | | | | | Change-Id: I14764c5d5b2309d82fe2ccc0593120b51328bf41 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit storage/pack packageMatthias Sohn2017-12-1910-125/+258
| | | | | | | | Change-Id: Id1b7d392e1bb36079edaf16450e73a044a318e7e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit storage/io packageMatthias Sohn2017-12-191-2/+3
| | | | | | | | Change-Id: I2db781311af79510b26fd05cc0556623e75e3eff Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit storage/file packageMatthias Sohn2017-12-1950-166/+473
| | | | | | | | Change-Id: Ieb2f66aef2cab7e2a6d8e35c5f5047da881994dd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit dfs packageMatthias Sohn2017-12-1938-160/+647
| | | | | | | | Change-Id: I1f5e3dc3ba34b323ee7244dbefee207ce19e6021 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | StoredObjectRepresentationNotAvailableException: Add TODO to fix API in 5.0David Pursehouse2017-12-191-1/+1
| | | | | | | | | | Change-Id: I9a0e6acac1b88ddf257fe7b2b7d0142be20250ea Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | StoredObjectRepresentationNotAvailableException: Add constructor that takes ↵David Pursehouse2017-12-192-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | cause If the cause can be passed into the constructor, callers don't need to instantiate it and then explicitly call initCause. Note that the constructors in this class cause "non-API parameter type" warnings because ObjectToPack is internal, however it's probably OK since the only non-internal reference to it is in the pgm.debug package. Change-Id: Ia4eab24e79f9afe6214ea8160137d941d4048319 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Merge changes Ifc34e96a,I72be0a0dDavid Pursehouse2017-12-1820-130/+386
|\ \ | | | | | | | | | | | | | | | * changes: Fix javadoc in org.eclipse.jgit rewalk package Fix javadoc in org.eclipse.jgit ketch package
| * | Fix javadoc in org.eclipse.jgit rewalk packageMatthias Sohn2017-12-182-0/+6
| | | | | | | | | | | | Change-Id: Ifc34e96a56df30e3b73bef812eea943623af7906 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Fix javadoc in org.eclipse.jgit ketch packageMatthias Sohn2017-12-1818-130/+380
| | | | | | | | | | | | Change-Id: I72be0a0d5ac7d3e957597803bd103dbbec141ba4
* | | Config: Rewrite subsection and value escaping and parsingDave Borowitz2017-12-183-66/+131
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, Config was using the same method for both escaping and parsing subsection names and config values. The goal was presumably code savings, but unfortunately, these two pieces of the git config format are simply different. In git v2.15.1, Documentation/config.txt says the following about subsection names: "Subsection names are case sensitive and can contain any characters except newline (doublequote `"` and backslash can be included by escaping them as `\"` and `\\`, respectively). Section headers cannot span multiple lines. Variables may belong directly to a section or to a given subsection." And, later in the same documentation section, about values: "A line that defines a value can be continued to the next line by ending it with a `\`; the backquote and the end-of-line are stripped. Leading whitespaces after 'name =', the remainder of the line after the first comment character '#' or ';', and trailing whitespaces of the line are discarded unless they are enclosed in double quotes. Internal whitespaces within the value are retained verbatim. Inside double quotes, double quote `"` and backslash `\` characters must be escaped: use `\"` for `"` and `\\` for `\`. The following escape sequences (beside `\"` and `\\`) are recognized: `\n` for newline character (NL), `\t` for horizontal tabulation (HT, TAB) and `\b` for backspace (BS). Other char escape sequences (including octal escape sequences) are invalid." The main important differences are that subsection names have a limited set of supported escape sequences, and do not support newlines at all, either escaped or unescaped. Arguably, it would be easy to support escaped newlines, but C git simply does not: $ git config -f foo.config $'foo.bar\nbaz.quux' value error: invalid key (newline): foo.bar baz.quux I468106ac was an attempt to fix one bug in escapeValue, around leading whitespace, without having to rewrite the whole escaping/parsing code. Unfortunately, because escapeValue was used for escaping subsection names as well, this made it possible to write invalid config files, any time Config#toText is called with a subsection name with trailing whitespace, like {foo }. Rather than pile hacks on top of hacks, fix it for real by largely rewriting the escaping and parsing code. In addition to fixing escape sequences, fix (and write tests for) a few more issues in the old implementation: * Now that we can properly parse it, always emit newlines as "\n" from escapeValue, rather than the weird (but still supported) syntax with a non-quoted trailing literal "\n\" before the newline. In addition to producing more readable output and matching the behavior of C git, this makes the escaping code much simpler. * Disallow '\0' entirely within both subsection names and values, since due to Unix command line argument conventions it is impossible to pass such values to "git config". * Properly preserve intra-value whitespace when parsing, rather than collapsing it all to a single space. Change-Id: I304f626b9d0ad1592c4e4e449a11b136c0f8b3e3
* | Fix javadoc in org.eclipse.jgit internal and fsck packagesMatthias Sohn2017-12-183-9/+54
| | | | | | | | Change-Id: Ib12da10aacda9389d594bf4f521e9a58d1935701 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit ignore packageMatthias Sohn2017-12-1811-16/+55
| | | | | | | | Change-Id: I1a81d371420cd4cf90ab9e048026c0ab8a763018 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit hooks packageMatthias Sohn2017-12-186-7/+54
| | | | | | | | Change-Id: I3b644048eb0fc19f94ba8f9799b5a2310481103f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit gitrepo packageMatthias Sohn2017-12-184-6/+49
| | | | | | | | Change-Id: I2604c7bca87f005004d6d6c80fa9a39a7a1e3807 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit fnmatch packageMatthias Sohn2017-12-188-11/+44
| | | | | | | | Change-Id: I14384c3bf3c41f8e1c62ec117837c2fc782a832f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit events packageMatthias Sohn2017-12-1812-26/+66
| | | | | | | | Change-Id: Ifcb9c67daeb9da84a1461a4f731523ac5df3a223 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit errors packageMatthias Sohn2017-12-1831-47/+156
| | | | | | | | Change-Id: I46aa5c3073b99a311a1a97fc57d8f29d32524482 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit dircache packageMatthias Sohn2017-12-1810-92/+153
| | | | | | | | Change-Id: Ib485eb217ac6be70519816f8cc0396931043a3d1 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | EmtpyCommitException: Add TODO to fix misspelled class name in 5.0David Pursehouse2017-12-181-1/+1
| | | | | | | | | | Change-Id: I5bb145d6d6cbaaa2d8cfb2febad7a008ca921236 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Fix javadoc org.eclipse.jgit diff packageMatthias Sohn2017-12-1822-160/+333
| | | | | | | | Change-Id: I7162d72916abc8533ad37e8b17335ff4a70d6519 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit annotations and api packagesMatthias Sohn2017-12-1893-723/+1387
| | | | | | | | Change-Id: I2761ea91f8dfed16ea54e7a6646af03a30c15ec9 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit blame packageMatthias Sohn2017-12-175-31/+100
| | | | | | | | Change-Id: I116dacc7f4ace341ec6ffae2ab96b53496d89f64 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix javadoc in org.eclipse.jgit attributes packageMatthias Sohn2017-12-1710-81/+171
| | | | | | | | Change-Id: I12968f4be805266f285a518a014b8bd1d0c23bae Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Merge branch 'stable-4.9'David Pursehouse2017-12-162-5/+37
|\| | | | | | | | | | | | | | | | | | | * stable-4.9: Prepare 4.9.3-SNAPSHOT builds JGit v4.9.2.201712150930-r Write packed-refs directly when cloning Change-Id: I3b0fad9c45cdf3a918ddb8ea4a37b8d3403aae90 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 4.9.3-SNAPSHOT buildsMatthias Sohn2017-12-163-49/+49
| | | | | | | | | | Change-Id: Ife3f2b0b5407227f89ded42358adbf01d53e14cf Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v4.9.2.201712150930-rv4.9.2.201712150930-rMatthias Sohn2017-12-153-4/+4
| | | | | | | | | | Change-Id: I013964045d532659a4be3b81d6612b59bc9ffb14 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Write packed-refs directly when cloningThomas Wolf2017-12-152-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we are cloning we have no refs at all yet, and there cannot (or at least should not) be any other thread doing something with refs yet. Locking loose refs is thus not needed, since there are no loose refs yet and nothing should be trying to create them concurrently. Let's skip the whole loose ref locking when we are cloning a repository. As a result, JGit will write the refs directly to the packed-refs file, and will not create the refs/remotes/ directories nor the lock files underneath when cloning and packed refs are used. Since no lock files are created, any problems on case-insensitive file systems with tag or branch names that differ only in case are avoided during cloning. Detect if we are cloning based on the following heuristics: * HEAD is a dangling symref * There is no loose ref * There is no packed-refs file Note, however, that there may still be problems with such tag or branch names later on. This is primarily a five-minutes-past-twelve stop-gap measure to resolve the referenced bug, which affects the Oxygen.2 release. Bug: 528497 Change-Id: I57860c29c210568165276a123b855e462b6a107a Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Config: Remove the include functionalityDavid Pursehouse2017-12-151-39/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Config class must be safe to run against untrusted input files. Reading arbitrary local system paths using include.path is risky for servers, including Gerrit Code Review. This was fixed on master [1] by making "readIncludedConfig" a noop by default. This allows only FileBasedConfig, which originated from local disk, to read local system paths. However, the "readIncludedConfig" method was only introduced in [2] which was needed by [3], both of which are only on the master branch. On the stable branch only Config supports includes. Therefore this commit simply disables the include functionality. [1] https://git.eclipse.org/r/#/c/113371/ [2] https://git.eclipse.org/r/#/c/111847/ [3] https://git.eclipse.org/r/#/c/111848/ Bug: 528781 Change-Id: I9a3be3f1d07c4b6772bff535a2556e699a61381c Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | DfsFsck: Skip unborn branches and symrefs to nowhereZhen Chen2017-12-151-2/+8
| | | | | | | | | | | | | | | | | | | | The map returned by getAllRefs includes all refs, including symrefs like HEAD that may not point to any object yet. That is a valid state (e.g., in a new repository that has just been created by "git init"), so skip such refs. Change-Id: Ieff8a1aa738b8d09a2990d075eb20601156b70d3 Signed-off-by: Zhen Chen <czhen@google.com>
* | Merge branch 'stable-4.9'David Pursehouse2017-12-141-1/+1
|\| | | | | | | | | | | | | | | * stable-4.9: InMemoryRepository: Make inner class MemObjDatabase static Change-Id: I62bb5957de1ae3bc6030ea2181b09efccc48252b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * InMemoryRepository: Make inner class MemObjDatabase staticDavid Pursehouse2017-12-121-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: I9f49de32b4cd81b7ef1239b390353689263bf66e Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Make Config.readIncludedConfig a noop by defaultShawn Pearce2017-12-131-18/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | The Config class must be safe to run against untrusted input files. Reading arbitrary local system paths using include.path is risky for servers, including Gerrit Code Review. Return null by default to incide the include should be ignored. Only FileBasedConfig which originated from local disk should be trying to read local system paths. FileBasedConfig already overrides this method with its own implementation. Change-Id: I2ff31753868aa1bbac4a6843a4c23e50bd6f46f3
* | DfsBlockCache.hasBlock0: quickly check for file in cacheShawn Pearce2017-12-131-0/+17
| | | | | | | | | | | | | | | | This can be useful for sophisticated pre-read algorithms to quickly determine if a file is likely already in cache, especially small reftables which may be smaller than a typical DFS block size. Change-Id: I7756948063b722ff650c9ba82060ff9ad554b0ba
* | Merge branch 'stable-4.9'David Pursehouse2017-12-131-1/+1
|\| | | | | | | | | | | | | | | | | * stable-4.9: TransportCommand#setTimeout: Specify units for timeout in Javadoc Fix typo in key of a JGitText externalized string Change-Id: Icb60537d2e99cb6e928d9fe07f66695ed69081b5 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * TransportCommand#setTimeout: Specify units for timeout in JavadocDavid Turner2017-12-121-1/+1
| | | | | | | | | | Change-Id: Iadf0e2c6483794e43a5326f6be6bb34c19b00564 Signed-off-by: David Turner <dturner@twosigma.com>
| * Fix typo in key of a JGitText externalized stringMatthias Sohn2017-12-113-3/+3
| | | | | | | | Change-Id: I0d22e24a0aa3b17339ef68849554f7c99b350dde Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Remove unused API filtersDavid Pursehouse2017-12-131-43/+0
| | | | | | | | | | Change-Id: Ie8bfa4e8473c2a68a6308de7dbf29ccbca97495d Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Fix typo in key of a JGitText externalized stringMatthias Sohn2017-12-103-3/+3
| | | | | | | | Change-Id: I0d22e24a0aa3b17339ef68849554f7c99b350dde Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Merge branch 'stable-4.9'Matthias Sohn2017-12-103-6/+31
|\| | | | | | | | | | | | | * stable-4.9: Fix IllegalThreadStateException if stderr closed without exiting Change-Id: I8a6a6788c2bb000171233b88d9592ed0640ad15e
| * Fix IllegalThreadStateException if stderr closed without exitingDmitry Pavlenko2017-12-103-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | If some process executed by FS#readPipe lived for a while after closing stderr, FS#GobblerThread#run failed with an IllegalThreadStateException exception when accessing p.exitValue() for the process which is still alive. Add Process#waitFor calls to wait for the process completion. Bug: 528335 Change-Id: I87e0b6f9ad0b995dbce46ddfb877e33eaf3ae5a6 Signed-off-by: Dmitry Pavlenko <pavlenko@tmatesoft.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>