aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | Fix loading packed objects >2GShawn O. Pearce2012-03-286-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parsing the size from a packed object header was incorrectly computing the total inflated length when the length exceeded the range of a Java int. The next 7 bits of size information was shifted left as an int using a shift of 25 bits, placing the higher bits of the size into the sign position. When this size was extended to a long to be added to the current size accumulator the size went negative, resulting in NegativeArraySizeException being thrown. Fix all places where this particular pattern of code is used to read a pack size field, or a binary delta header, as they both use the same variable length encoding scheme. Change-Id: I04008728ed828f18202652c3d5401cf95a441d0a
* | Allow RepositoryResolver to throw ServiceMayNotContinueExceptionDave Borowitz2012-03-263-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | Implementations may want to send an error message to the user, which doesn't really fit with any of the existing exception types. ServiceMayNotContinueException, on the other hand, is documented as always containing a user-visible error string, so use that. Modify the git and HTTP transport mechanisms to properly relay this message to the end user. Change-Id: I362e67ea46102a145bf2c6284d38788537c9735f
* | Clarify documentation of exceptions in RepositoryResolverDave Borowitz2012-03-261-4/+5
|/ | | | Change-Id: Idf805f76f24bfa1f3552366197e0ed4e45cb2b74