aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst
Commit message (Collapse)AuthorAgeFilesLines
* Parse RevCommit bodies before calling RevFilter.include()Jesse Greenwald2011-01-251-0/+117
| | | | | | | | | | RevFilter.include()'s documentation promises the RevCommit's body is parsed before include is invoked. This wasn't always true if the commit was parsed once, had its body discarded, the RevWalk was reset() and started a new traversal. Change-Id: Ie5cafde09ae870712b165d8a97a2c9daf90b1dbd Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
* Exposed the constructor of Note classSasa Zivkov2011-01-251-58/+58
| | | | | | | | | | | | | | | Additionally, defined the NoteMap.getNote method which returns a Note instance. These changes were necessary to enable implementation of the NoteMerger interface (the merge method needs to instantiate a Note) and to enable direct use of NoteMerger which expects instances of Note class as its paramters. Implementing creation of code review summary notes in Gerrit [1] will make use of both of these features. [1] https://review.source.android.com/#change,20045 Change-Id: I627aefcedcd3434deecd63fa1d3e90e303b385ac Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com> Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
* Merge "File utility for creating a new empty file"Matthias Sohn2011-01-161-0/+15
|\
| * File utility for creating a new empty fileMatthias Sohn2011-01-141-0/+15
| | | | | | | | | | | | | | | | | | | | The java.io.File.createNewFile() method for creating new empty files reports failure by returning false. To ease proper checking of return values provide a utility method wrapping createNewFile() throwing IOException on failure. Change-Id: I42a3dc9d8ff70af62e84de396e6a740050afa896 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix API ListBranchCommand for listmode 'all'Roberto Tyley2011-01-121-0/+6
| | | | | | | | | | | | | | If remote branches are present they can not be added to the RefMap from the local branches - the two RefMaps have a different value of 'prefix' and consequently an IllegalArgumentException is thrown.
* | Merge "Using java.util.concurrent in NLSTest instead of handling threads ↵Shawn Pearce2011-01-101-30/+28
|\ \ | |/ |/| | | directly."
| * Using java.util.concurrent in NLSTest instead of handling threads directly.Sasa Zivkov2011-01-101-30/+28
| | | | | | | | | | | | | | | | | | | | A test in NLSTest was mixing the "old" and the "new" way of handling concurrency. This change makes use of the java.util.concurrent facilities to control concurrency and removes the code that was directly dealing with Thread objects. Change-Id: Ie7267776e988a48a5443f0f3fe4eb43e79eee4b1 Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
* | Merge "Config: Preserve existing case of names in sections"Shawn O. Pearce2011-01-091-2/+15
|\ \
| * | Config: Preserve existing case of names in sectionsShawn O. Pearce2011-01-061-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When an application asks for the names in a section, it may want to see the existing case that was stored by the user. For example, Gerrit Code Review wants to store a configuration block like: [access "refs/heads/master"] label-Code-Review = group Developers and although the name label-Code-Review is case-insensitive, it wants to display the case as it appeared in the configuration file. When enumerating section names or variable names (both of which are case-insensitive), Config now keeps track of the string that first appeared, and presents them in file order, permitting applications to use this information. To maintain case-insensitive behavior, the contains() method of the returned Set<String> still performs a case-insensitive compare. This is a behavior change if the caller enumerates the returned Set<String> and copies it to his own Set<String>, and then performs contains() tests against that, as the strings are now the original case from the configuration block. But I don't think anyone actually does this, as the returned sets are immutable and are cached. Change-Id: Ie4e060ef7772958b2062679e462c34c506371740 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | | Merging Git notesSasa Zivkov2011-01-092-0/+658
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merging Git notes branches has several differences from merging "normal" branches. Although Git notes are initially stored as one flat tree the tree may fanout when the number of notes becomes too large for efficient access. In this case the first two hex digits of the note name will be used as a subdirectory name and the rest 38 hex digits as the file name under that directory. Similarly, when number of notes decreases a fanout tree may collapse back into a flat tree. The Git notes merge algorithm must take into account possibly different tree structures in different note branches and must properly match them against each other. Any conflict on a Git note is, by default, resolved by concatenating the two conflicting versions of the note. A delete-edit conflict is, by default, resolved by keeping the edit version. The note merge logic is pluggable and the caller may provide custom note merger that will perform different merging strategy. Additionally, it is possible to have non-note entries inside a notes tree. The merge algorithm must also take this fact into account and will try to merge such non-note entries. However, in case of any merge conflicts the merge operation will fail. Git notes merge algorithm is currently not trying to do content merge of non-note entries. Thanks to Shawn Pearce for patiently answering my questions related to this topic, giving hints and providing code snippets. Change-Id: I3b2335c76c766fd7ea25752e54087f9b19d69c88 Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Fix IgnoreRule for directory-only patternsMarc Strapetz2011-01-071-0/+10
|/ / | | | | | | | | | | Patterns containing only a trailing slash have to be treated as "global" patterns. For example: "classes/" matches "classes" as well as "dir/classes" directory.
* / NoteMap implements Iterable<Note>Sasa Zivkov2011-01-051-0/+87
|/ | | | | | | | | We will need to iterate over all notes of a NoteMap, at least this will be needed for testing purposes. This change also implied making the Note class public. Change-Id: I9b0639f9843f457ee9de43504b2499a673cd0e77 Signed-off-by: Sasa Zivkov <sasa.zivkov@sap.com>
* Fix NLSTest and RootLocalTest for JUnit 4Shawn O. Pearce2011-01-022-19/+42
| | | | | | | | These test classes needed new @Test annotations to be found by the JUnit 4 test runner. Change-Id: I61b6a8ebd468fa2d13fad5bf9cbd8f81a6f67e41 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* Implement a revert commandRobin Rosenberg2011-01-022-0/+159
| | | | | | | | | | This is almost reverted cherry-pick, and the implementation is almost identical. It orders the input to merge differently to get the effect and produces a different commit message with the default author, rather than the original author. Change-Id: I39970091d9f7406ae7168b8efaab23a5e2c16bad Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* Drop unneccessary @SuppressWarningsRobin Rosenberg2010-12-311-5/+0
| | | | | Change-Id: I3a5b877efd3a58ad463c47bb663d073baea81dda Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* Fix TestTranslationBundleRobin Rosenberg2010-12-315-5/+1
| | | | | | | | | | | The test was never run from maven, because its name did not end in a way that was recognized by the pom. After rename it failed because it did not find its resources. Rename test class and move resources to the resources folder Change-Id: I74a7ef1373cd902e1d05ff6ea38f8648b5fc5700 Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* Convert all JGit unit tests to JUnit 4Robin Rosenberg2010-12-31171-411/+2888
| | | | | | | | | | | | | | | | | | | | | | | | | | | Eclipse has some problem re-running single JUnit tests if the tests are in Junit 3 format, but the JUnit 4 launcher is used. This was quite unnecessary and the move was not completed. We still have no JUnit4 test. This completes the extermination of JUnit3. Most of the work was global searce/replace using regular expression, followed by numerous invocarions of quick-fix and organize imports and verification that we had the same number of tests before and after. - Annotations were introduced. - All references to JUnit3 classes removed - Half-good replacement for getting the test name. This was needed to make the TestRngs work. The initialization of TestRngs was also made lazily since we can not longer find out the test name in runtime in the @Before methods. - Renamed test classes to end with Test, with the exception of TestTranslateBundle, which fails from Maven - Moved JGitTestUtil to the junit support bundle Change-Id: Iddcd3da6ca927a7be773a9c63ebf8bb2147e2d13 Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* Add support for getting the system wide configurationRobin Rosenberg2010-12-311-1/+2
| | | | | | | | | | | | | These settings are stored in <prefix>/etc/gitconfig. The C Git binary is installed in <prefix>/bin, so we look for the C Git executable to find this location, first by looking at the PATH environment variable and then by attemting to launch bash as a login shell to find out. Bug: 333216 Change-Id: I1bbee9fb123a81714a34a9cc242b92beacfbb4a8 Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* Merge "Fix FileSnapShot"Shawn Pearce2010-12-301-0/+152
|\
| * Fix FileSnapShotRobin Rosenberg2010-12-301-0/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot use SystemReader to get the time, unless we do that consistently, which is harder to do and be sure we are really testing what we want. Then we need to update our lastRead variable whenever we conclude that our file is not racily clean according to lastRead. It may well be clean, but we do not know that until we check the system clock again. Finally add a test for this class. Change-Id: I1894b032b9bd359d1b5325e5472d48e372599e4c Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* | Merge "CheckoutResult: return paths instead of Files"Shawn Pearce2010-12-291-4/+3
|\ \ | |/ |/|
| * CheckoutResult: return paths instead of FilesMathias Kinzler2010-12-211-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | As discussed in http://egit.eclipse.org/r/#change,2127 we should use paths relative the working directory instead of Files to notify the caller about conflicts and nondeleted files. Change-Id: I034c7bd846f0df78d97bc246f38d411f29713dde Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
* | Fix ArrayIndexOutOfBoundsException in DirCacheIteratorShawn O. Pearce2010-12-221-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the 'TREE' extension contains an invalid subtree that has been removed, DirCacheIterator still tried to access it due to an invalid childCnt field within the parent DirCacheTree object. This is easy for a user to do, they just need to move all files out of a subdirectory. For example, the input for the JUnit test case for this bug was built using the following C Git sequence: mkdir -p a/b touch a/b/c q git add a/b/c q git write-tree git mv a/b/c a/a After the last step, the subdirectory a/b is empty, as its only file was moved into the parent directory. Because of the earlier `git write-tree` operation, there is a 'TREE' extension present, but the a and a/b subdirectories have been marked invalid by the rename. When JGit tried to iterate over the a tree, it tried to correct childCnt to be zero as a/b no longer exists, but it failed to update childCnt. Change-Id: I7a0f78fc48a36b1a83252d354618f6807fca0426 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | DirCacheIteratorTest: Use newInCore instead of diskShawn O. Pearce2010-12-221-8/+8
|/ | | | | | | | | Avoid the dependency on the local filesystem by using only an in-core DirCache instance. Each test case builds up the index from scratch anyway through a DirCacheBuilder. Change-Id: I5decf6bffc3ed35bf1d3e4ad5cc095891c80b772 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* Fix CheckoutCommandTestMathias Kinzler2010-12-201-3/+4
| | | | | Change-Id: Ieacae01de20d7729ef34e6e6a1523fbaf9db41a8 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
* Fix JDK 6 Usage of String.getBytes(Charset)Mathias Kinzler2010-12-201-1/+2
| | | | | Change-Id: I619b00d8a3b0770c9fd1dc3314794f915ea80604 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
* Checkout: fix handling if name does not refer to a local branchMathias Kinzler2010-12-201-1/+18
| | | | | | | | | | The CheckoutCommand does not handle names other than local branch names properly; it must detach HEAD if such a name is encountered (for example a commit ID or a remote tracking branch). Change-Id: I5d55177f4029bcc34fc2649fd564b125a2929cc4 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com> Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
* Remove deprecated WriteTree from testsShawn O. Pearce2010-12-202-141/+168
| | | | | | | | | These tests doesn't need to use WriteTree anymore. There are other means of creating tree objects in the repository that aren't deprecated, so use those instead. Change-Id: I89cd8ab54c66964a5fddc0a045f1c0f1c7c49055 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* Checkout: expose a CheckoutResultMathias Kinzler2010-12-201-0/+51
| | | | | | | | | | This is needed by callers to determine checkout conflicts and possible files that were not deleted during the checkout so that they can present the end user with a better Exception description and retry to delete the undeleted files later, respectively. Change-Id: I037930da7b1a4dfb24cfa3205afb51dc29e4a5b8 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
* Merge "Do not rely on filemode differences in case of symbolic links"Shawn Pearce2010-12-151-0/+21
|\
| * Do not rely on filemode differences in case of symbolic linksPhilipp Thun2010-12-141-0/+21
| | | | | | | | | | | | | | | | | | | | | | When checking whether a file in the working tree has been modified - WorkingTreeIterator.isModified() - we should not trust the filemode in case of symbolic links, but check the timestamp and also the content, if requested. Without this fix symlinks will always be shown in EGit as modified files on Windows systems. Change-Id: I367c807df5a7e85e828ddacff7fee7901441f187 Signed-off-by: Philipp Thun <philipp.thun@sap.com>
* | Save StoredConfig after modificationsShawn O. Pearce2010-12-154-10/+18
| | | | | | | | | | | | | | | | | | When the Config is changed, it should be saved back to its local file. This ensure that a future call to getConfig() won't wipe out the edits that were just made. Change-Id: Id46d3f85d1c9b377f63ef861b72824e1aa060eee Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Reduce calls to Repository.getConfigShawn O. Pearce2010-12-151-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each time getConfig() is called on FileRepository, it checks the last modified time of both ~/.gitconfig and $GIT_DIR?config. If $GIT_DIR/config appears to have been modified, it is read back in from disk and the current config is wiped out. When mutating a configuration file, this may cause in-memory edits to disappear. To avoid that callers need to avoid calling getConfig until after the configuration has been saved to disk. Unfortunately the API is still horribly broken. Configuration should be modified only while a lock is held on the configuration file, very similar to the way a ref is updated via its locking protocol. But our existing API is really broken for that so we'll have to defer cleaning up the edit path for a future change. Change-Id: I5888dd97bac20ddf60456c81ffc1eb8df04ef410 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Remove remaining uses of FileWriterShawn O. Pearce2010-12-132-20/+6
|/ | | | | | | | | FileWriter uses the platform default encoding, which might not be UTF-8. JGit prefers UTF-8 everywhere for string encodings, so make the unit tests more predictable by ensuring use of UTF-8. Change-Id: I75bb9f962ee230b73ca3a942bffd7a8a28674ba5 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* File utilities for creating directoriesMatthias Sohn2010-12-131-4/+77
| | | | | | | | | | | | | | The java.io.File methods for creating directories report failure by returning false. To ease proper checking of return values provide utility methods wrapping mkdir() and mkdirs() which throw IOException on failure. Also fix the tests to store test data under a trash folder and cleanup after test. Change-Id: I09c7f9909caf7e25feabda9d31e21ce154e7fcd5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
* Rebase: abort on unknown/unsupported command in git-rebase-todoMathias Kinzler2010-12-101-1/+9
| | | | | | | | | | | | | This is needed to ensure interoperability with the command line: if the git-rebase-todo file was created manually (by git rebase -i in the command line), and any commands other than pick are used (reword, edit, fixup, squash) JGit must abort as it does not understand these commands yet. The same is true if an unknown command is found (e.g. due to a typo); this is the same behavior as shown by the command line. Change-Id: I2322014f69460361f7fc09da223e8a5c31f100dd Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
* Merge "IndexPack: Remove blob-streaming size threshold"Shawn Pearce2010-12-091-1/+0
|\
| * IndexPack: Remove blob-streaming size thresholdroberto2010-12-091-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always use streaming (for SHA-checksum & collision detection) when indexing whole blobs, regardless of their size. Positives: * benefits of bugfix #312868 will apply to all runtimes, without additional conf for mem-constrained JVMs (5MB huge for some) * no byte array allocation (re-uses readBuffer instead of allocating new full-size array) * mildly better overall performance (given the usual blob-does-not-need-collision-checking case) * removes unnecessary code Negative: * doubles the disk IO for a blob comparision (comparitively rare occurance) I perf-tested a range of threshold sizes against a random selection of packfiles I found on my harddrive, the results are here: https://spreadsheets.google.com/ccc?key=tLCQElyyd2RKN9QevfvgwGQ&hl=en_GB#gid=1 My interpretation of the results is that the streaming size threshold isn't beneficial (actually seems to be very slightly detrimental) -so we should just get rid of it. This tallies with some of the comments Shawn & I had for the default value of streamFileThreshold in the review for I862afd4c: http://egit.eclipse.org/r/#patch,sidebyside,2040,2,org.eclipse.jgit/src/org/eclipse/jgit/transport/IndexPack.java The perf-test code is here: https://gist.github.com/735402 It's a bit scruffy but basically does 10 runs (in randomised order) for each threshold size on various packfiles, waiting a second between each pack-indexing to allow GC to catch up. I know it's not perfect - proper perf testing is hard to do :-)
* | Merge "Add option to skip deletion of non-existing files"Chris Aniszczyk2010-12-091-0/+95
|\ \
| * | Add option to skip deletion of non-existing filesMatthias Sohn2010-12-101-0/+95
| | | | | | | | | | | | | | | | | | | | | For convenience provide an option to skip deletion of non-existing files. Also add some tests for deletion methods in FileUtils. Change-Id: I33e355cfcdc19367d50208150ee49a4a06394890 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Merge "Add further unit tests for IndexDiffFilter"Chris Aniszczyk2010-12-091-22/+519
|\ \ \ | |/ / |/| |
| * | Add further unit tests for IndexDiffFilterPhilipp Thun2010-12-091-22/+519
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change contains a bunch of unit tests for the newly introduced IndexDiffFilter. With these tests the code coverage of IndexDiffFilter.include() is now 100%, i.e. every special case is tested at least once. Change-Id: Ib248d1cd16084f9c8e099006af151814c63c5941 Signed-off-by: Philipp Thun <philipp.thun@sap.com>
* | | Rebase: fix wrong update if original HEAD after Merge+SkipMathias Kinzler2010-12-091-0/+38
|/ / | | | | | | | | | | | | | | | | | | Rebase would update the original HEAD to the wrong commit when "skipping" the last commit after a merged commit. Includes a test for the specific situation. Change-Id: I087314b1834a3f11a4561f04ca5c21411d54d993 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com>
* | Add a performance optimized variant of the ANY_DIFF filterChristian Halstrick2010-12-091-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a treewalk walks also over index and the workingtree then the IndexDiffFilter filter can be used which works much faster then the semantically equivalent ANY_DIFF filter. This is because this filter can better avoid computing SHA-1 ids over the content of working-tree files which is very costly. This fix will significantly improve the performance of e.g. EGit's commit dialog. Change-Id: I2a51816f4ed9df2900c6307a54cd09f50004266f Signed-off-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Philipp Thun <philipp.thun@sap.com>
* | Implement rebase --continue and --skipMathias Kinzler2010-12-091-94/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For --continue, the Rebase command asserts that there are no unmerged paths in the current repository. Then it checks if a commit is needed. If yes, the commit message and author are taken from the author_script and message files, respectively, and a commit is performed before the next step is applied. For --skip, the workspace is reset to the current HEAD before applying the next step. Includes some tests and a refactoring that extracts Strings in the code into constants. Change-Id: I72d9968535727046e737ec20e23239fe79976179 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com> Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
* | IndexDiff: Use isModified() when comparing index-worktreeShawn O. Pearce2010-12-081-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | The isModified() is more efficient because it can skip over files that are stat clean, without needing to scan them. This is useful to efficently work on paths that were already staged and thus differ between HEAD and the index, but not between the index and the working tree. Change-Id: I4418202e612f0571974e0898050d987c6c280966 Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* | Clarify WorkingTreeOptions and filemode usageShawn O. Pearce2010-12-083-9/+9
|/ | | | | | | | | | | | | | | | | | | | | | To improve runtime performance, caching the WorkingTreeOptions inside of the Config object using the Config.SectionParser API allows the WorkingTreeOptions to be accessed more efficiently whenever a FileTreeIterator is constructed for the Repository. Instead of passing the filemode handling option into isModified(), the WorkingTreeIterator should always honor whatever setting has been configured in this repository, as defined by its own copy of the WorkingTreeOptions. This simplifies all of the callers as they no longer need to lookup core.filemode on their own. A few locations were changed from always using a hardcoded "true" on the file mode to passing what is actually configured in the repository. This is a behavior change, but corrects what should be considered to be bugs as the core.filemode variable wasn't always being used. Change-Id: Idb176736fa0dc97af372f1d652a94ecc72fb457c Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* IndexPack: Use streaming for large whole blobsShawn O. Pearce2010-12-081-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | When indexing large blobs that are stored whole (non-delta form), avoid allocating the entire blob in memory and instead stream it through the SHA-1 checksum computation. This reduces the size of memory required by IndexPack when processing very big blobs, such as a 500 MiB uncompressable binary. If the large blob already exists in the local repository, its contents needs to be compared byte-for-byte after the entire pack has been indexed, to ensure there isn't an unexpected SHA-1 collision which may result in later data corruption. This compare is performed as a streaming compare, again avoiding the large object allocation. This change doesn't improve on memory utilization for large objects stored as deltas. The change also doesn't improve handling for any large commits, trees or annotated tags. There isn't much to be done here for those objects, because they need to be passed down to the ObjectChecker as a byte[]. Fortunately it isn't common for these object types to be that large, Bug: 312868 Change-Id: I862afd4cb78013ee033d4ec68c067b1774a05be8 Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com> CC: Roberto Tyley <roberto.tyley@guardian.co.uk>
* Remove empty iterator from TreeWalkShawn O. Pearce2010-12-0710-19/+5
| | | | | | | | | | | | | | | | | Its confusing that a new TreeWalk() needs to have reset() invoked on it before addTree(). This is a historical accident caused by how TreeWalk was abused within ObjectWalk. Drop the initial empty tree from the TreeWalk and thus remove a number of pointless reset() operations from unit tests and some of the internal JGit code. Existing application code which is still calling reset() will simply be incurring a few unnecessary field assignments, but they should consider cleaning up their code in the future. Change-Id: I434e94ffa43491019e7dff52ca420a4d2245f48b Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
* [findbugs] Do not ignore exceptional return valueMatthias Sohn2010-12-076-13/+17
| | | | | | | | | | java.io.File.delete() reports failure as an exceptional return value false. Fix the code which silently ignored this exceptional return value. Also remove some duplicate deletion helper methods. Change-Id: I80ed20ca1f07a2bc6e779957a4ad0c713789c5be Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>