summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 4.8.0-SNAPSHOT buildsMatthias Sohn2017-05-1756-59/+59
| | | | | Change-Id: I27fc4e4969fafde0fcba26aeebe30d732770b68f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* JGit v4.8.0.201705170830-rc1v4.8.0.201705170830-rc1Matthias Sohn2017-05-1756-59/+59
| | | | | Change-Id: I60c0a40f2e38748641b25a25bcf10346e2950886 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* [findBugs] Use UTF-8 to write to the error stream in TextProgressMonitorMatthias Sohn2017-05-151-1/+4
| | | | Change-Id: Ic85db2043d6f673f268bf781917daad45d28f8cd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* [findBugs] Use UTF-8 to read git-rebase-todo fileMatthias Sohn2017-05-151-6/+8
| | | | Change-Id: I7c6f71e13ef106678157eae1aa3f9d39712e577b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* [findBugs] Use UTF-8 when writing to the error stream in GitHookMatthias Sohn2017-05-151-2/+12
| | | | Change-Id: Ica8a40b909ed45cf8e538714e4f26b64ff9a3d21 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* [findBugs] Use UTF-8 when writing to the error stream in jgit pgmMatthias Sohn2017-05-151-1/+4
| | | | Change-Id: Ic2555ea932dbbd1a3a6868e731f247b9754d7f09 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Add shutdown hook to cleanup unfinished clone when JVM is killedMatthias Sohn2017-05-131-0/+4
| | | | | Bug: 516303 Change-Id: I5181b0e8096af3537296848ac7dd74dff0b6d279 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Clean up the disk when cloning failsThomas Wolf2017-05-121-10/+80
| | | | | | | | | | | | | | CloneCommand.call() has three stages: preparation, then the actual clone (init/fetch), and finally maybe checking out the working directory. Restructure such that if we fail or are cancelled during the actual clone (middle phase), we do clean up the disk again. This prevents leaving behind a partial clone in an inconsistent state: either we have a fully successfully built clone, or nothing at all. Bug: 516303 Change-Id: I9b18c60f8f99816d42a3deb7d4a33a9f22eeb709 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
* Upgrade japicmp-maven-plugin to latest versionDavid Pursehouse2017-05-121-1/+1
| | | | | Change-Id: Iace4350e51592e42f0dacf05558e53a6f87e1a6a Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Upgrade maven-pmd-plugin to latest versionDavid Pursehouse2017-05-121-1/+1
| | | | | Change-Id: Ief52488d97bb2771b4c5a40c4a9578c68a24964b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Remove unused clirr-maven-plugin from LFS pom.xml filesDavid Pursehouse2017-05-122-38/+0
| | | | | Change-Id: I7252b6c89d91ac675c0e02e4d17ba0212b617098 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Update jetty to 9.4.5Mat Booth2017-05-1117-179/+168
| | | | | | | | | | * Adapt to API removals in jetty 9.4+ * Manifests changed to restrict jetty to [9.4.5,10.0.0) Bug: 514336 Bug: 516514 Change-Id: Ifcfd968084dfa6db0ae07cf541d33a6cdedc1ee2 Signed-off-by: Mat Booth <mat.booth@redhat.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Specify minimum Maven version in pom.xmlDavid Pursehouse2017-05-111-0/+4
| | | | | | | | | | Maven version 3.3.1 is the minimum required version as reported by running: mvn versions:display-plugin-updates Change-Id: I9514013dcffa6cb945496515c3eb4894c9043d7b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Checkout should not use too long filenamesChristian Halstrick2017-05-102-1/+20
| | | | | | | | | | DirCacheCheckout is generating names for temporary files. It was not checking the length of this filenames. It may happen that a generated filename is longer than 255 chars which causes problems on certain platforms. Make sure that filenames for temporary files do not exceed 255 chars. Bug: 508823 Change-Id: I9475c04351ce3faebdc6ad40ea4faa3c326815f4
* Support pull on detached HEADMickael Istria2017-05-082-23/+76
| | | | | | Bug: 485396 Change-Id: I82be09385c9b0bcc0054fea5a9cb9d178a41e278 Signed-off-by: Mickael Istria <mistria@redhat.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Reset ObjectWalker when it starts a new walkZhen Chen2017-05-032-11/+7
| | | | | | | | | The ObjectWalker in PackWriterBitmapWalker needs to be reset whenever it starts a new walk. Move this responsibility from the caller to the method when the new walk starts. Change-Id: Ib66003be1b5bdc80f46b9bbbb17d45e616714912 Signed-off-by: Zhen Chen <czhen@google.com>
* Fix stack overflow in MergeBaseGeneratorShawn Pearce2017-05-021-31/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some repository topologies can cause carryOntoHistory to overflow the thread stack, due to its strategy of recursing into the 2nd+ parents of a merge commit. This can easily happen if a project maintains a local fork, and frequently pulls from the upstream repository, which itself may have a branchy history. Rewrite the carryOntoHistory algorithm to use a fixed amount of thread stack, pushing the save points onto the heap. By using heap space the thread stack depth is no longer a concern. Repositories are instead limited by available memory. The algorithm is now structured as two loops: carryOntoHistory: This outer loop pops saved commits off the top of the stack, allowing the inner loop algorithm to dive down that path and carry bits onto commits along that part of the graph. The loop ends when there are no more stack elements. carryOntoHistoryInner: The inner loop walks along a single path of the graph. For a string of pearls (commits with one parent each) r <- s <- t <- u the algorithm walks backwards from u to r by iteratively updating its local variable 'c'. This avoids heap allocation along a simple path that does not require remembering state. The inner loop breaks in the HAVE_ALL case, when all bits have been found to be previously set on the commit. This occurs when a prior iteration of the outer loop (carryOntoHistory) explored a different path to this same commit, and copied the bits onto it. When the inner loop encounters a merge commit, it pushes all parents onto the heap based stack by allocating individual CarryStack elements for each parent. Parents are pushed in order, allowing side branches to be explored first. A small optimization is taken for the last parent, avoiding pushing it and instead updating 'c', allowing the side branch to be entered without allocating a CarryStack. Change-Id: Ib7b67d90f141c497fbdc61a31b0caa832e4b3c04
* Clone: add --recurse-submodules optionDavid Pursehouse2017-04-275-4/+126
| | | | | | | | | | Add the --recurse-submodules option on the command, which causes submodules to also be initialized and updated. Add a callback interface on CloneCommand and SubmoduleUpdateCommand to them to provide progress feedback for clone operations. Change-Id: I41b1668bc0d0bdfa46a9a89882c9657ea3063fc1 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix unnecessary type paramatersShawn Pearce2017-04-221-1/+1
| | | | | | Can be inferred by the compiler. Change-Id: If880ddfb7d7af2be70729d0c9f73c7c821b9c652
* Delete expired garbage even when there is no GC pack present.Thirumala Reddy Mutchukota2017-04-212-72/+116
| | | | | | | | | | | | | Delete the condition to check whether the garbage pack creation time is older than the last GC operation, because it's not possible to find the last GC operation time when there is no GC pack. Add additional tests to make sure the contents of the expired garbage packs are considered during the GC operation and any actively referenced objects from the garbage packs are copied successfully into the GC pack before deleting the garbage pack. Change-Id: I09e8b2656de8ba7f9b996724ad1961d908e937b6 Signed-off-by: Thirumala Reddy Mutchukota <thirumala@google.com>
* Update eclipse-jarsigner-plugin to 1.1.4Matthias Sohn2017-04-202-2/+2
| | | | Change-Id: Id3be21fe5146dedd46a1399e885c6d5f4778dda2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Add parseCommit(AnyObjectId) method to Repository.Martin Fick2017-04-191-0/+27
| | | | | | | | | It is quite common to want to parse a commit without already having a RevWalk. Provide a shortcut to do so to make it more convenient, and to ensure that the RevWalk is released afterwards. Signed-off-by: Martin Fick<mfick@codeaurora.org> Change-Id: I9528e80063122ac318f115900422a24ae49a920e
* RepoCommand: Add linkfile support.Dan Willemsen2017-04-189-41/+396
| | | | | | | | | | | | | | | | Android wants them to work, and we're only interested in them for bare repos, so add them just for that. Make sure to use symlinks instead of just using the copyfile implementation. Some scripts look up where they're actually located in order to find related files, so they need the link back to their project. Change-Id: I929b69b2505f03036f69e25a55daf93842871f30 Signed-off-by: Dan Willemsen <dwillemsen@google.com> Signed-off-by: Stefan Beller <sbeller@google.com> Signed-off-by: Jeff Gaston <jeffrygaston@google.com> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* Add some tests for alternatesMatthias Sohn2017-04-181-0/+149
| | | | Change-Id: I00d256d0e132c0b5ff02ff27a26fbf21ecc1bccd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge "Process all "have"s even when MissingObjectException is encountered"Jonathan Nieder2017-04-171-34/+67
|\
| * Process all "have"s even when MissingObjectException is encounteredJonathan Nieder2017-04-171-34/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because objects described by the client using "have" lines do not need to be reachable by any ref on the server, it is possible for them to point to missing objects in the reachability graph. When such an object is encountered, I1097a2defa4a9dcf502ca8baca5d32880378818f (Only throw MissingObjectException when necessary, 2017-03-29) aborts the "have" walk early to salvage the fetch. The downside of that change is that remaining "have"s are ignored unless they pointed directly to an object with a bitmap. In the worst case this can increase the bandwidth cost of a fetch to the cost of a clone because most "have"s are ignored. Avoid this cost by bypassing the failed "have" completely and moving on to the remaining "have"s. Change-Id: Iac236b6d05f735078c9935abfa6e58d1eb47f388
* | Merge "Prevent alternates loop"David Pursehouse2017-04-173-63/+221
|\ \
| * | Prevent alternates loopMartin Fick2017-04-143-63/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When looping through alternates, prevent visiting the same object directory twice. This could happen when the objects/info/alternates file includes itself directly or indirectly via a another repo and its alternates file. Change-Id: I79bb3da099ebc3c262d2e6c61ed4578eb1aa3474 Signed-off-by: James Melvin <jmelvin@codeaurora.org> Signed-off-by: Martin Fick <mfick@codeaurora.org> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Add missing @since tag for new API RepoCommand.setTargetURI()Matthias Sohn2017-04-141-3/+5
| | | | | | | | | | | | Change-Id: I4531b94e3a04606a69eeb3c3d154510b87507012 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Update Maven pluginsMatthias Sohn2017-04-141-6/+7
|/ / | | | | | | | | | | | | | | | | | | - japicmp-maven-plugin to 0.8.1 - maven-surefire-plugin to 2.20 - maven-surefire-report-plugin to 2.20 - tycho-extras to 1.0.0 Change-Id: Iecc9a5aeb7811a8ecc8198c8836a4a739be3cc08 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Bazel: Restrict src globs to Java source filesDavid Pursehouse2017-04-1310-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generating the src list with an unrestricted wildcard causes all files in the source tree to be included. This results in junk files such as .orig (generated during merge conflict resolution) to be included, which causes in a build error: in srcs attribute of java_library rule //org.eclipse.jgit:jgit: file '//org.eclipse.jgit:src/org/eclipse/jgit/gitrepo/RepoCommand.java.orig' is misplaced here (expected .java, .srcjar or .properties). Modify the globs to only include Java source files. Change-Id: Iaef3db33ac71d71047cd28acb0378e15cb09ece9 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Fix RepoCommand to allow for relative URLsHan-Wen Nienhuys2017-04-132-7/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessary for deploying submodules on android.googlesource.com. * Allow an empty base URL. This is useful if the 'fetch' field is "." and all names are relative to some host root. * The URLs in the resulting superproject are relative to the superproject's URL. Add RepoCommand#setDestinationURI to set this. If unset, the existing behavior is maintained. * Add two tests for the Android and Gerrit case, checking the URL format in .gitmodules; the tests use a custom RemoteReader which is representative of the use of this class in Gerrit's Supermanifest plugin. Change-Id: Ia75530226120d75aa0017c5410fd65d0563e91b Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | Merge "BundleWriter: Allow constructing from only an ObjectReader"Jonathan Nieder2017-04-122-6/+75
|\ \
| * | BundleWriter: Allow constructing from only an ObjectReaderDave Borowitz2017-04-122-6/+75
| | | | | | | | | | | | Change-Id: I01821d6a9fbed7a5fe4619884e42937fbd6909ce
* | | Merge "Only throw MissingObjectException when necessary"Terry Parker2017-04-121-17/+32
|\ \ \ | |/ / |/| / | |/
| * Only throw MissingObjectException when necessaryZhen Chen2017-04-051-17/+32
| | | | | | | | | | | | | | | | | | | | When preparing the bitmap, the flag ignoreMissingStart only applied to the start object. However, sometime the start object is present but some related objects are not present during the walk, we should only release the MissingObjectException when the ignoreMissingStart is set false. Change-Id: I1097a2defa4a9dcf502ca8baca5d32880378818f Signed-off-by: Zhen Chen <czhen@google.com>
* | Merge branch 'stable-4.7'Matthias Sohn2017-04-115-13/+195
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.7: Cleanup and test trailing slash handling in ManifestParser ManifestParser: Throw exception if remote does not have fetch attribute Change-Id: Ia9dc3110bcbdae05175851ce647ffd11c542f4c0 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Cleanup and test trailing slash handling in ManifestParserHan-Wen Nienhuys2017-04-113-13/+155
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a workaround for https://bugs.openjdk.java.net/browse/JDK-4666701. Change-Id: Idd04657e8d95a841d72230f8881b6b899daadbc2 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | ManifestParser: Throw exception if remote does not have fetch attributeHan-Wen Nienhuys2017-04-104-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the repo manifest documentation [1] the fetch attribute is marked as "#REQUIRED". If the fetch attribute is not specified, this would previously result in NullPointerException. Throw a SAXException instead. [1] https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.txt Change-Id: Ib8ed8cee6074fe6bf8f9ac6fc7a1664a547d2d49 Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
* | | Add missing @Override annotations in AppServer.TestMappedLoginServiceMatthias Sohn2017-04-091-0/+2
| | | | | | | | | | | | Change-Id: Ia728f1d033ecdf96b22945bc1ae38e5cb11064dd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Remove unused API filtersMatthias Sohn2017-04-092-62/+0
| | | | | | | | | | | | Change-Id: I1e00d71395228265aad4071b023024ee1bf855d5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Update JGit version used to detect API changes to 4.7.0.201704051617-rMatthias Sohn2017-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | We detect API changes during the Maven build using japicmp. Update the reference version to the latest minor version 4.7.0.201704051617-r. Change-Id: Iab354fbf745cdfe44f71ce0bb64bb838b8bcd57d
* | | Exclude generated class UbcCheck from PMD checksMatthias Sohn2017-04-091-0/+3
| | | | | | | | | | | | | | | | | | Silence the many duplicate code warnings for this generated class. Change-Id: I3ecb0f986c809dad962b821c5de7cf18865642d3 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Merge branch 'stable-4.7'David Pursehouse2017-04-090-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.7: Prepare 4.5.3-SNAPSHOT builds JGit v4.5.2.201704071617-r Change-Id: Id52cd145a94919b43bc31274d28940c101790080 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| * | Merge branch 'stable-4.6' into stable-4.7David Pursehouse2017-04-090-0/+0
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.6: Prepare 4.5.3-SNAPSHOT builds JGit v4.5.2.201704071617-r Change-Id: I5d2044c59af7bc2786fb66ebf5130e412884d74b Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | * \ Merge branch 'stable-4.5' into stable-4.6David Pursehouse2017-04-090-0/+0
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-4.5: Prepare 4.5.3-SNAPSHOT builds JGit v4.5.2.201704071617-r Change-Id: I4e1915d3a88e15c9ef1fb2b470b7f3b821243ff5 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
| | | * | Prepare 4.5.3-SNAPSHOT buildsMatthias Sohn2017-04-0856-302/+302
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I69681b7a5687ca76bd0dd5d3e7ce2cff841d0e32 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | | * | JGit v4.5.2.201704071617-rv4.5.2.201704071617-rMatthias Sohn2017-04-0756-59/+59
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I66402643d7c84c90bf5cefed4d2ec3aa68c94cfb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | Silence API error for new method added to abstract MergeStrategyMatthias Sohn2017-04-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OSGi semantic versioning rules allow to break implementors of an API in a minor version. Change-Id: I4ada3e6455e8e8e1bb8fb71affa0a1b36bd46fc4 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | | Fix @since tags of new API added after 4.7.0Matthias Sohn2017-04-063-3/+10
| | | | | | | | | | | | | | | | | | | | Change-Id: I356f71cdef8e23a9b06cf0a4079060a116b9ed27 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>