summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
Commit message (Collapse)AuthorAgeFilesLines
* Prepare next 2.0.0-SNAPSHOT buildsMatthias Sohn2012-05-313-3/+3
| | | | Change-Id: Iffc57d6b25dafb72272d1957116c19ab45ba2c54 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v2.0.0.201205301645-rc2v2.0.0.201205301645-rc2Matthias Sohn2012-05-303-3/+3
| | | | | Change-Id: Ic4f84f1a11c93863c229c0089f2e4edc7c7a36b7 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Git API does not declare GitAPIException call() and related cleanupsRobin Rosenberg2012-05-3042-136/+151
| | | | | | | | | | | | | | | | | | | | | | | | All commands should throw a GitAPIException so new exceptions can be added without breaking the builds of old code, i.e. anyone that calls a Git API should catch GitAPIException and not just the currently known exceptions. Now the only checked exceptions on Git API calls are GitException and subclasses of it. New checked exceptions that are subclasses of GitException may be added without breaking the API. Javadoc for GitAPIException is declared on GitCommand and inherited to subclasses. JGitInternalException is not explicitly documented anymore. Unfortunately this change itself breaks the API. The intention is that it shall be possible to add new checked subclasses of GitAPIException without breaking the API. Bug: 366914 EGit-Change-Id: I50380f13fc82c22d0036f47c7859cc3a77e767c5 Change-Id: I50380f13fc82c22d0036f47c7859cc3a77e767c5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge "Retain file length and mod time when doing a mixed reset" into stable-2.0Robin Rosenberg2012-05-301-6/+43
|\
| * Retain file length and mod time when doing a mixed resetKevin Sawicki2012-05-281-6/+43
| | | | | | | | | | | | | | | | | | | | | | Previously the index was cleared and updated with a new tree. Now the commit being reset to and the index are iterated over in a tree walk and the current index mod time and file length are copied over to the new dir cache entry being written if the object ids are the same. Change-Id: Iaf9e624efb0bf90f9e05fcb0587dde4dec50000c
* | Merge "Update smudged entries when writing index" into stable-2.0Robin Rosenberg2012-05-302-3/+102
|\|
| * Update smudged entries when writing indexKevin Sawicki2012-05-282-3/+102
| | | | | | | | | | | | | | | | | | | | | | Overload DirCache.lock to take a repository that is used for updating smudged index entries with information from the repository's working tree. New unit tests are also added for updating smudged index entries on reset, checkout, and commit. Change-Id: I88689f26000e4e57e77931e5ace7c804d92af1b6
* | Enable loading history until a given commitMatthias Sohn2012-05-301-0/+66
|/ | | | | | | This is needed to allow jumping to a selected commit when loading history incrementally. Change-Id: Id3b97d88d3b4b2d67561b11f8810cb88fe040823 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Ensure resetting on commit idDariusz Luksza2012-05-231-1/+1
| | | | | | | | | When reset command was called with tag name as parameter the resulting HEAD was set to the tag's SHA-1 which is a bug. This patch ensures that repository.resolve() call always returns commit id. Change-Id: I219b898c620a75c497c8652dbf4735fd094c4d7c Signed-off-by: Dariusz Luksza <dariusz@luksza.org> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Smudge index entries on first write (too), as well when readingRobin Rosenberg2012-05-213-18/+44
| | | | | | | | | | | That happens when the index and a new file is created within the same second and becomes a problem if we then modify the newly created file within the same second after adding it to the index. Without smudging JGit will, on later reads, think the file is unchanged. The accompanying test passed with the smuding on read. Change-Id: I4dfecf5c93993ef690e7f0dddb3f3e6125daae15
* Don't swallow JSchException "Auth fail" exceptionDariusz Luksza2012-05-161-1/+2
| | | | | | | | | "Auth fail" exception was swallowed during retrying, this leads to "Session down" exception during clone operation with invalid SSH keys. Bug: 336795 Change-Id: Id8d9e83b10f4f2a01e0cf89819190bb23a04a2b9 Signed-off-by: Dariusz Luksza <dariusz@luksza.org>
* Enable call chaining on LsRemoteCommand methodsDave Borowitz2012-05-141-4/+10
| | | | Change-Id: I706332386415892d7a964b241442832ad79fa223
* Factor a base class out of ReceivePackDave Borowitz2012-05-146-1132/+1322
| | | | | | | | | | | | We are working on a publish/subscribe based git protocol, and we want to reuse several parts of the ReceivePack-like code for reading commands and processing a pack. In this new implementation, the connection management will be very different, in particular, there may be multiple packs received on a single open connection. So, hoist out as much as we can from ReceivePack, mostly just leaving behind the single-connection version in that class. Change-Id: I5567aad6ae77951f73f59c1f91996d934ea88334
* Cleanup MergeResult constructorsTomasz Zarna2012-05-101-6/+8
| | | | | | | | 'mergeStrategy' should be 5th argument, after 'mergeStatus'. Pass 'description' if available. Change-Id: I97cebfe5d7db6247fe899075d917b82955906f85 Signed-off-by: Chris Aniszczyk <zx@twitter.com>
* Add missing @since tags to mark API added in 2.0Matthias Sohn2012-05-1025-22/+111
| | | | | | Change-Id: I0a86ce0e393dfde9bb27f0b29e036e76c856396e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Chris Aniszczyk <zx@twitter.com>
* Remove throws IOException declaration on filterCleanKevin Sawicki2012-05-101-1/+1
| | | | | | | | | This method only creates an EolCanonicalizingInputStream which does not throw an IOException and so the throws declaration on the method is unneeded. Change-Id: Icae8b80006c5e3ffcf3b69790a1a45c505be0f05 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Add Object type to Comparable implements declarationKevin Sawicki2012-05-101-1/+1
| | | | | | | | | This removes unchecked warnings when a List of AnyObjectId objects or any of its subclasses are passed to Collections.sort such as in PackWriter Change-Id: I806732cee24349c75c0357a655df55b070f2f213 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Remove 4 unboxed warningsKevin Sawicki2012-05-102-3/+4
| | | | | | | Use Integer.intValue to explicitly convert to an int Change-Id: I1135ed01af4e274b26d6b07d1a50f48ef0a30d91 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Make output stream optional in DiffCommandKevin Sawicki2012-05-101-10/+14
| | | | | | | | | | | | Use the NullOutputStream.INSTANCE value when the configured output stream is null or the command is configured to only show name and status. Also only set the context and prefix options if formatting is actually being performed. Bug: 377157 Change-Id: I333cfcc82ee746f3c6a8e94c09dcc803ffbb4b3a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Compare modes before comparing ids in ResolveMergerKevin Sawicki2012-05-091-2/+2
| | | | | | | | Comparing ids can be more expensive so do the cheap mode check first and short circuit the id comparison when modes are non-equal Change-Id: I671eda51c74a411cc27de9d6077cc76e816ebe2b
* Remove 86 boxing warningsKevin Sawicki2012-05-0832-96/+160
| | | | | | | | Use Integer, Character, and Long valueOf methods when passing parameters to MessageFormat and other places that expect objects instead of primitives Change-Id: I5942fbdbca6a378136c00d951ce61167f2366ca4
* Remove unnecessary boxing SuppressWarnings annotationKevin Sawicki2012-05-081-1/+0
| | | | Change-Id: Id8a6d9f96860742f9094efdb4f31a952be7d3025
* Remove unneeded catch block and null checksKevin Sawicki2012-05-041-12/+4
| | | | | | | | The catched exception was just rethrown and the null check of the locked dir cache was unneeded if the assignment was done outside the try block. Change-Id: If2ee1f3eff3849f8da51eab825057fc56e166a94
* Validate paths during DirCheckoutRobin Rosenberg2012-04-235-8/+206
| | | | | | | | | | | | | | | | | | | DirCacheCheckout and CanonicalTreeParser cooperate. CanonicalTreeParser can detect malformed, potentially malicious tree entries and sets a flag, while DirCacheCheckout refuses to work with such paths. Malicious tree entries are ".", "..", ".git" (case insensitive), any name containing '/' and (on Windows '\') and also (on Windows) any paths ending in a combination of '.' or space or containing a ':'. We also forbid all special names like "con" etc on Windows. Some of the test can execute on any platform by enabling partial platform emulation. A new runtime exception, InvalidPathException, is introduced. For backwards compatibility it extends InvalidArgumentException. Change-Id: I86199105814b63d4340e5de0e471d0da6b579ead Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Enable large file supportRobin Rosenberg2012-04-182-9/+8
| | | | | | | | Allow adding files with size over 2 GB. The drawback is that the tests for huge file support adds roughly 10 minutes of execution time. For that reason we @Ignore the test in the standard test execution. Change-Id: I5788e8009899203b346f353297166825b3744575
* Allow to write tests with CLI syntaxTomasz Zarna2012-04-181-0/+38
| | | | | | | CQ: 6385 Bug: 365444 Change-Id: I2d5164cd92429673fe3c37e9f5f9bc565192cc12 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Enable DirCacheEntry's copyMetaData to not copy stage infoRobin Rosenberg2012-04-172-4/+27
| | | | | | | When there is a conflict sometimes we did not set the stage of the conflict entries properly for the STAGE_1 entry. Change-Id: I1c28ff6251fdbc95f7c40fc3e401f1b41157a9f6
* Hide two warnings about boxingRobin Rosenberg2012-04-161-0/+2
| | | | Change-Id: I1cb7cdb81481019f4a55221d38d771fcc9451529 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix constructor for SafeBufferedOutputStreamRobin Rosenberg2012-04-141-1/+4
| | | | | | | The size shoould be passed to BufferedOutputStream's constructor. All callers seem to use the default, but that could change. Change-Id: I874afee6a9114698805e36813781547e6aa328a5
* Merge "UnsupportedCredentialItem with password authentication"Robin Rosenberg2012-04-091-6/+15
|\
| * UnsupportedCredentialItem with password authenticationRobin Rosenberg2012-04-091-6/+15
| | | | | | | | | | | | | | If the server prompts for password, it comes as a StringType prompt. Bug: 360862 Change-Id: Ic758456c21c8d68d1b3d7f56228beb7535b11735
* | Merge "Fix broken TagCommand API"Robin Rosenberg2012-04-062-15/+12
|\ \
| * | Fix broken TagCommand APIRobin Rosenberg2012-04-062-15/+12
| |/ | | | | | | | | | | | | | | Tags can be un-annotated whereby there is no RevTag object, only a ref pointing to the tagged object. Bug: 360650 Change-Id: I06309c45c0a896fe2a0a874700febf78c9fb87e8
* | Merge "Cleanup possiblyFilteredInputStream() in WorkingTreeIterator"Matthias Sohn2012-04-051-29/+26
|\ \
| * | Cleanup possiblyFilteredInputStream() in WorkingTreeIteratorRobin Rosenberg2012-04-061-29/+26
| | | | | | | | | | | | | | | | | | Use early return instead of nested if/else Change-Id: I3b5048f9f5cfdfd01f916af550722532db3f9bb3
* | | Merge "Handle content length in WorkingTreeIterator"Robin Rosenberg2012-04-055-41/+81
|\| |
| * | Handle content length in WorkingTreeIteratorRobin Rosenberg2012-03-275-41/+81
| |/ | | | | | | | | | | | | | | | | | | Content length is computed and cached (short term) in the working tree iterator when core.autocrlf is set. Hopefully this is a cleaner fix than my previous attempt to make autocrlf work. Change-Id: I1b6bbb643101a00db94e5514b5e2b069f338907a
* | Merge "Recurse into cloned submodules"Matthias Sohn2012-04-031-2/+10
|\ \
| * | Recurse into cloned submodulesKevin Sawicki2012-04-011-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | Iterate over all successfully cloned submodules recursively and continue initializing and updating until no more are found. Bug: 375426 Change-Id: Ifb99e41e2deb0c369442bca3c0f5f072dd006816
* | | Unlock DirCache in case of occurring exceptionJens Baumgart2012-04-031-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | A DirCache was not unlocked if an exception occurred in the DirCacheCheckout constructor. Bug: 365449 Change-Id: I231d902d52e3e5e9a7748eedaa63a2bb889ebb13 Signed-off-by: Jens Baumgart <jens.baumgart@sap.com>
* | | Merge "Index config section and subsection names in one pass"Robin Rosenberg2012-04-022-148/+136
|\ \ \
| * | | Index config section and subsection names in one passShawn O. Pearce2012-04-022-148/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of indexing the subsection names on each request for a given section name, index both the section and subsection names in a single scan through the entry list. This should improve lookup time for reading the section names out of the configuration, especially for the url.*.insteadof type of processing performed in RemoteConfig. Change-Id: I7b3269565b1308f69d20dc3f3fe917aea00f8a73
* | | | Merge "Add @Override annotations to enums"Robin Rosenberg2012-04-023-0/+111
|\ \ \ \
| * | | | Add @Override annotations to enumsTomasz Zarna2012-04-023-0/+111
| | |/ / | |/| | | | | | | | | | Change-Id: I8fa3b89a6349c1231251b346cae12c1c4f095929
* | | | Merge "Externalize parsing exception message for RebaseCommand#Action"Matthias Sohn2012-04-023-5/+5
|\ \ \ \ | |_|/ / |/| | |
| * | | Externalize parsing exception message for RebaseCommand#ActionTomasz Zarna2012-04-023-5/+5
| |/ / | | | | | | | | | Change-Id: Id0d7801e4de98bf118dbecadf623c9ffd7ab7554
* / / Don't use java.nio channel for file size determinationMarkus Duft2012-04-021-3/+29
|/ / | | | | | | | | | | | | | | | | | | | | | | Java NIO has some problems (like files closing unexpectedly because the thread was interrupted). To avoid those problems, don't use a NIO channel to determine the size of a file, but rather ask the File itself. We have to be prepared to handle wrong/outdated information in this case too, as the inode of the File may change between opening and determining file size. Change-Id: Ic7aa6c3337480879efcce4a3058b548cd0e2cef0
* | Merge changes Ic8907231,I693148a5Robin Rosenberg2012-03-304-176/+400
|\ \ | | | | | | | | | | | | | | | * changes: Sort Config entries and use O(log N) lookup Extract inner classes from Config
| * | Sort Config entries and use O(log N) lookupShawn O. Pearce2012-03-273-39/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decrease running time for getStringList (and all other get methods) by looking for configuration entries using binary search rather than linear search through the configuration file. Configuration lines are sorted by section, subsection, name in a sorted list whenever the snapshot is rebuilt. Binary search is used to locate an index in the middle of the values, then walk backwards to find the first value in the range. Given a configuration of file of 5000 distinct section/subsection/name triplets (e.g. a Gerrit Code Review project.config configuration file with 5000 unique access control rules), this new code is faster to lookup each rule individually using getStringList(): old setStringList() 194 usec avg getStringList() 196 usec avg new setStringList() 188 usec avg getStringList() 24 usec avg Change-Id: Ic8907231868c18eb946b72f341a6b58666b70324
| * | Extract inner classes from ConfigShawn O. Pearce2012-03-273-140/+236
| |/ | | | | | | | | | | | | | | The Config class is getting very large. Extract two of its inner classes into new top level types to reduce the size of Config. Rename them slightly in the process. Change-Id: I693148a5ae2977378789bf455c880a6fd856c0f0