aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
Commit message (Collapse)AuthorAgeFilesLines
* Prepare 3.4.0-SNAPSHOT buildsMatthias Sohn2014-03-053-35/+35
| | | | | Change-Id: I907c6f1834c06b8ab4d3e0f76dde475faea7b4a5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge branch 'stable-3.3'Matthias Sohn2014-03-0512-57/+367
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.3: Update scripts to deploy jgit on Maven central Prepare 3.3.1-SNAPSHOT builds JGit v3.3.0.201403021825-r Fix merge/cherry-picking in CRLF mode Expose the received pack size in ReceivePack Revert "Add getPackFile to ReceivePack to make PostReceiveHook more usable" Avoid an NPE after 7b01a5369210 Add a launcher for Java 7 tests Remove obsolete getRepositoryMethod from WorkingTreeIterator Fix NPE when WorkingTreeIterator does not have a repository set Add getPackFile to ReceivePack to make PostReceiveHook more usable Possibility to limit the max pack size on receive-pack Package httpclient and httpcore in o.e.j.http.apache.feature Change-Id: I814a150980854bbaabd767f97b062d247af6cb50 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Prepare 3.3.1-SNAPSHOT buildsMatthias Sohn2014-03-053-35/+35
| | | | | | | | Change-Id: If15560f2731e54dbf9db88d8a308b4c25ce27e8e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v3.3.0.201403021825-rv3.3.0.201403021825-rMatthias Sohn2014-03-033-3/+3
| | | | | | | | | | Change-Id: Iaf3da455f7d6f691617299e881154ff8185a9d46 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Fix merge/cherry-picking in CRLF modeRobin Rosenberg2014-03-021-8/+15
| | | | | | | | | | | | | | This fixes a case where we have CRLF in the repo but LF in the worktree and are in autocrlf mode. Change-Id: I0388270c1cf0fd22dfd513bcaa404eb97268d39d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge "Expose the received pack size in ReceivePack" into stable-3.3Robin Rosenberg2014-03-025-0/+51
| |\
| | * Expose the received pack size in ReceivePackSaša Živkov2014-03-025-0/+51
| | | | | | | | | | | | | | | | | | | | | PostReceiveHooks can make use of this information to, for example, update a cached size of the Git repository. Change-Id: I2bf1200959a50531e2155a7609c96035ba45b10d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Merge "Revert "Add getPackFile to ReceivePack to make PostReceiveHook more ↵Robin Rosenberg2014-03-024-39/+2
| |\| | | | | | | | | | usable"" into stable-3.3
| | * Revert "Add getPackFile to ReceivePack to make PostReceiveHook moreSaša Živkov2014-03-024-39/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usable" This reverts commit 2670fd427cd4aad49ccdb6dde66271fdffff86f8. By returning an instance of File from the ReceivePack.getPackFile the abstraction of the persistence implementation was broken. Change-Id: I28e3ebf3a659a7cbc94be51bba9e1ad338f2b786 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * | Avoid an NPE after 7b01a5369210Robin Rosenberg2014-03-011-1/+2
| |/ | | | | | | | | | | | | | | While fixing an NPE, I introduced another one in a deprecated isModified method. It cannot avoid NPE's entirely, which is the reason the method is deprecated Change-Id: I5147c1c94621586dd84bd11e6090a954523b6c1c
| * Remove obsolete getRepositoryMethod from WorkingTreeIteratorRobin Rosenberg2014-02-281-9/+0
| | | | | | | | | | | | | | The method was added for symlink support, but isn't needed anymore. Since it was added for this release it's like it never existed. Change-Id: I422cd1dcdfa40b25ba3d6e08b112159dae9a4353 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Fix NPE when WorkingTreeIterator does not have a repository setRobin Rosenberg2014-02-281-4/+5
| | | | | | | | | | | | | | It's strange that we have that member since it is not so clear when it it set or not. Change-Id: I53903a264f46866d249901a3cd9f9295028aa6bd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Add getPackFile to ReceivePack to make PostReceiveHook more usableSaša Živkov2014-02-254-2/+39
| | | | | | | | | | | | | | | | | | Having access to the pack file that was created by the ReceivePack may be useful for post receive hooks. For example, a hook may want to check the size of the received pack and the created index. Change-Id: I4d51758e4565d32c9f8892242947eb72644b847d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Possibility to limit the max pack size on receive-packSaša Živkov2014-02-255-0/+259
| | | | | | | | | | | | | | | | | | | | | | The maxPackSizeLimit, when set, will reject a pack if it exceeds that limit. This feature is intended to provide a mechanism to control disk space quota on Git repositories. Change-Id: I83d8db670875c395f8171461b402083323e623a5 CQ: 7896
* | Merge "Add setContains to ListBranchCommand (branch --contains)"Robin Rosenberg2014-03-031-11/+67
|\ \
| * | Add setContains to ListBranchCommand (branch --contains)Robin Stocker2014-01-141-11/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | To correspond to the behavior of "git branch", also return HEAD in case it is detached. Bug: 425678 Change-Id: Ie615731434d70b99bd18c7a02e832c0a2c3ceef3 Signed-off-by: Robin Stocker <robin@nibor.org>
* | | Merge "DirCache.findEntry(byte[], in) made public"Robin Rosenberg2014-03-031-8/+20
|\ \ \
| * | | DirCache.findEntry(byte[], in) made publicMarc Strapetz2014-02-241-8/+20
| | |/ | |/| | | | | | | | | | Change-Id: Ice64e3b0e5d67a39690aa24e41c954b8ce312d49 Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>‌
* | | Add missing @Deprecated to deprecated fields and methodsShawn Pearce2014-03-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Java spec requires the @Deprecated annotation on any deprecated field or method. Add the missing annotation to fields and methods already declared deprecated in the javadoc. Change-Id: Ic0ef24b43cfd99ac947e771ef5a28e493c304274
* | | Merge "Don't raise checkout conflict for file missing in working tree"Christian Halstrick2014-02-271-3/+3
|\ \ \
| * | | Don't raise checkout conflict for file missing in working treeChristian Halstrick2014-02-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During a checkout we want to prevent to overwrite unsaved local file content. Jgit was therefore checking whether the file to overwrite is dirty or missing and would raise a conflict if this was the case. That was wrong. It should only check if the file is dirty. It's ok to "overwrite" a missing/non-existing file. Change-Id: I63c3a94f663c87f09170fdf8b1b1bf4ed5246fc5 Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
* | | | Merge "Add a missing @since tag"Matthias Sohn2014-02-261-0/+1
|\ \ \ \
| * | | | Add a missing @since tagChristian Halstrick2014-02-261-0/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie34a4a9c4c47c2f27579094d74a7849fc26a323b
* | | | | Merge "Files should be deleted with "retry" option"Matthias Sohn2014-02-262-7/+7
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Files should be deleted with "retry" optionMarc Strapetz2014-02-262-7/+7
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of our Windows users have reported sporadic file system access problems related to ObjectDirectory(Inserter) file deletion code in combination with antiviral/firewall tools. For one of these users the problem was fairly reproducible and changing deletion to RETRY solved his problem. Change-Id: I1e4001d5557fca693b7bac401268599467cb0c9e Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>‌
* | | | DirCacheEntry: access to raw pathMarc Strapetz2014-02-261-0/+9
| |/ / |/| | | | | | | | | | | Change-Id: I5d1f6c4b5b3d7a971367cdd0cc9fa4022dff5b85 Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>‌
* | | Fix possible NPE in Repository.resolveMarc Strapetz2014-02-241-1/+2
|/ / | | | | | | | | Change-Id: I9b19cd90b338a4c3cae5661c658526b7e98c95d1 Signed-off-by: Marc Strapetz <marc.strapetz@syntevo.com>‌
* | Move Apache httpclient based HTTP support to a separate bundleMatthias Sohn2014-02-206-561/+0
| | | | | | | | | | | | | | | | This move avoids that all consumers of org.eclipse.jgit depend on Apache httpclient. Also add another feature to make this optional for OSGi consumers as well. Change-Id: I5ef5e00c53678b9e1d7cfd54bbca3ff6f1c1c967 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Prepare post 3.3.0RC1 buildsMatthias Sohn2014-02-203-3/+3
| | | | | | | | | | Change-Id: I0d808f8733a490b75bbcaacedb4b095e05fab32e Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | JGit v3.3.0.201402191814-rc1v3.3.0.201402191814-rc1Matthias Sohn2014-02-203-3/+3
| | | | | | | | | | Change-Id: Ida3a0417ae646ce37214153f49a85de2be3dd4fd Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix diff header on renamed or copied filesShawn Pearce2014-02-181-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When git-core renames or copies a file and the mode differs the header shows the mode change first, then the rename or copy data: diff --git a/COPYING b/LICENSE old mode 100644 new mode 100755 similarity index 92% rename from COPYING rename to LICENSE index d645695..54863be --- a/COPYING +++ b/LICENSE @@ -56,20 +56,6 @@ JGit relies on this ordering inside of FileHeader. Parsing "new file mode NNN" after "copy from/to" or "rename from/to" resets the change type to be ADD, losing the COPIED or RENAMED status and old path. This fixes a 4 year old bug in Gerrit Code Review that prevents opening a file for review if the file was copied from another file, modified in this change, and the mode was updated (e.g. execute bit was added). Change-Id: If4c9ecd61ef0ca8e3e1ea857301f7b5c948efb96 [ms: added test case] Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Add an implementation for HttpConnection using Apache HttpClientChristian Halstrick2014-02-188-0/+567
| | | | | | | | | | | | | | | | | | | | | | | | | | This change implements the http connection abstraction with the help of org.apache.http.client.HttpClient. The default implementation used by JGit is still the JDK HttpURLConnection. But now JGit users have the possibility to switch completely to org.apache.httpclient. The reason for this is that in certain (e.g. cloud) environments you are forced to use the org.apache classes. Change-Id: I0b357f23243ed13a014c79ba179fa327dfe318b2 Signed-off-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Introduce an abstraction for HTTP connectionsChristian Halstrick2014-02-1810-43/+728
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously all HTTP communication was done with the help of java.net.HttpUrlConnection. In order to make JGit usable in environments where the direct usage of such connections is not allowed but where the environment provides other means to get network connections an abstraction for connections is introduced. The idea is that new implementations of this interface will be introduced which will not use java.net.HttpUrlConnection but use e.g. org.apache.client.http.HttpClient to provide network connections. One example: certain cloud infrastructures don't allow that components in the cloud communicate directly with HttpUrlConnection. Instead they provide services where a component can ask for a connection (given a symbolic name for the destination) and where the infrastructure returns a preconfigured org.apache.http.client.HttpClient. In order to allow JGit to be running in such environments we need the abstraction introduced in this commit. Change-Id: I3b06629f90a118bd284e55bb3f6465fe7d10463d Signed-off-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Remove dead isBinary method from DiffFormatterShawn Pearce2014-02-171-7/+0
| | | | | | | | | | | | | | | | This method always returns false and is private so it cannot be overridden at runtime by a subclass. Drop the method and the branch that can never be taken. Change-Id: I4d3edbf469c6739dca191e62ea580bdb534b67a4
* | Add missing static qualifier in DiffFormatterShawn Pearce2014-02-171-2/+2
| | | | | | | | | | | | | | These methods do not touch instance members and can avoid the implicit "this" argument. Change-Id: I01c30bb22266eed1c9db18bdf9f90c1c1590e3ec Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Allow programmatic remote configuration for PullCommandMatthias Sohn2014-02-141-16/+68
| | | | | | | | | | | | | | | | Also imply remoteBranchName to match current branch name if it wasn't configured in branch configuration. Bug: 424812 Change-Id: Id852cedaefb2a537b6aa3c330b9861efad052f11 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix a NullPointerException if properties file doesn't existJames Yonan2014-02-131-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example with following URL, amazon-s3://.jgit@mybucket/foo.git if ~/.jgit is missing, jgit command will throw a NullPointerException. With this patch, a reasonable error message will be emitted: fatal: Cannot read file /Users/jamesyonan/.jgit Change-Id: I1d366f2d55e170d2972715c657c8e2d10c8d87d2 Signed-off-by: James Yonan <james@openvpn.net>
* | Use branch.<x>.mergeoptions and merge.ff as defaults for mergingKonrad Kügler2014-02-142-6/+212
| | | | | | | | | | | | | | | | | | Read options that control squashing, whether or not to commit the merge and regarding fast forwarding from the configuration and use them if no explicit values for these options have been provided to MergeCommand. Change-Id: Ifdaed4b5e4adc142657c03c8e78b709a99eeddbd Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Non-Fast-Forward Ref-Updates: Omit isMergedInto() callsRoberto Tyley2014-02-131-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | When the caller specifies to JGit in advance that a ref-update is a non-fast-forward update, and that those are permitted, we should never need to call the potentially expensive isMergedInto() check. Re-checking that the older commit is /not/ reachable from the newer is superfluous. http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg02258.html Change-Id: I4bbf593de4dcea6b6f082881c1a33cb3a6a7fb89 Signed-off-by: Roberto Tyley <roberto.tyley@gmail.com>
* | Initialise ReceiveCommand status to NOT_ATTEMPTED for all constructorsRoberto Tyley2014-02-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Formerly the 4-arg constructor did not do this, which was unfortunate as that constructor's the only way for an external user of JGit to set the /type/ of the ref-update - which you might want to do to indicate that the update is expected to be a UPDATE_NONFASTFORWARD, and thus does not require expensive isMergedInto() calculations: http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg02258.html Change-Id: I84c5e4927131e105bed93e31a62da6367c78de32 Signed-off-by: Roberto Tyley <roberto.tyley@gmail.com>
* | Use fetch.prune and remote.<name>.prune to set prune mode when fetchingKonrad Kügler2014-02-132-4/+30
| | | | | | | | | | | | | | | | | | | | | | When no explicit value is set via FetchCommand.setRemoveDeletedRefs() checks if pruning is enabled in the configuration. The following commit introduced the prune config to C Git: https://github.com/git/git/commit/737c5a9cde708d6995c765b7c2e95033edd0a896 Change-Id: Ida79d335218e1c9f5c6e2ce03386ac8a1c0b212e Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Normalize paths on OS XRobin Rosenberg2014-02-123-7/+30
| | | | | | | | | | | | | | Java normalizes paths to NFC, but other source may not, e.g Eclipse. Bug: 413390 Change-Id: I08649ac58c9b3cb8bf12794703e4137b1b4e94d5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Recognize symlinks in the FileTreeIteratorRobin Rosenberg2014-02-121-1/+3
| | | | | | | | | | | | We did this for the Eclipse Platform in the ContainerTreeIterator. Change-Id: I80d8157cc0dd99d57e2ed5d7cd8b13525a0c62b1
* | Add special case to WorkingTreeIterator for matching unnormalized symlinksRobin Rosenberg2014-02-121-3/+33
| | | | | | | | | | | | | | | | | | If there is an unnormalized symbolic link in the index, lie that it matches a normalized link in the working tree. This does not make the case completely invisible everywhere though, but it helps to some degree. Change-Id: I599fb71648c41fa2310049d0e0040b3c9f09386b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Use fileAttributes to get more attributes in one goRobin Rosenberg2014-02-122-46/+165
| | | | | | | | | | | | | | | | | | On Windows the length reported by FileAttributes is the size of the target file (a bug, I guess) rather than the link, so we read the linke and look at the length of the link instead. Bug: 353771 Change-Id: I834b06d0447f84379612b8c9190fa77093617595 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix RevWalkUtils.findBranchesReachableFrom not finding some branchesRobin Stocker2014-02-111-27/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The "cut off" optimization causes it to not include branches that contain the specified commit but happen to share commits with a branch that does not contain the commit. An example: -B foo \ -A---C master findBranchesReachableFrom for commit A with both branches as input may not return master (depending on the order of the input). The reason is that A is not contained in foo, and therefore the old code would put B in the cutOff set. When then walking the master commits and B is checked, it is found in the cutOff set and the walk is aborted, causing master not to be returned even though it should. Bug: 425674 Change-Id: I2c0c406ce5fcc9a03538b483473af930d4895d30 Signed-off-by: Robin Stocker <robin@nibor.org> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Add delete support to FSRobin Rosenberg2014-02-101-0/+15
| | | | | | | | Change-Id: Ib6f6fd5ef4a0c9b2062445ac4a0c9d1131e401bf
* | Add symlink support to JGitRobin Rosenberg2014-02-1011-62/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change includes comparing symbolic links between disk and index, adding symbolic links to the index, creating/modifying links on checkout. The behavior is controlled by the core.symlinks setting, just as C Git does. When a new repository is created core.symlinks will be set depending on the capabilities of the operating system and Java runtime. If core.symlinks is set to true, the assumption is that symlinks are supported, which may result in runtime errors if this turns out not to be the case. Measuring the cost of jgit status on a repository with ~70000 files, of which ~30000 are tracked reveals a penalty of about 10% for using the Java7 (really NIO2) support module. Bug: 354367 Change-Id: I12f0fdd9d26212324a586896ef7eb1f6ff89c39c Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Use the new FS.exists method in commonly occuring placesRobin Rosenberg2014-02-105-6/+8
| | | | | | | | | | | | Allegedly this should improve performance, but I could not see it. Change-Id: Id2057cb2cfcb46e94ff954483ce23f9c4a7edc5e
* | Fix deprecated WTI#isModifiedRobin Rosenberg2014-02-101-1/+1
| | | | | | | | | | | | | | We should really pass the forceContentCheck parameter to the real method. Change-Id: I9ea439cf6340a18d0e931edde3b9e3486cafde93 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>