summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit
Commit message (Collapse)AuthorAgeFilesLines
* JGit v3.6.0.201412230720-rv3.6.0.201412230720-rMatthias Sohn2014-12-233-4/+4
| | | | | Change-Id: Ic28e2bbbdb1099e948c64a005c39f6b8d8ac69a8 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Fix junit tests under windows when the platform is explicitly changedChristian Halstrick2014-12-221-5/+13
| | | | | | | | | | | | SystemReader used a chached ObjectChecker which was instantiated only once. But in case of unit tests where we can change the platform dynamically (e.g. MockSystemReader.setWindows()) this is wrong and caused DirCacheCheckoutMaliciousPathTest. testMaliciousAbsoluteCurDrivePathWindowsOnUnix() to fail. This change allows user of SystemReader to force the creation of a new ObjectChecker. MockSystemReader.setWindows() and .setUnix() make use of this feature. Change-Id: I87458d1dc63c1f5c18979f972b1c1f0d670a9ed8
* Merge branch 'stable-3.5' into stable-3.6Matthias Sohn2014-12-1910-79/+192
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.5: JGit v3.5.3.201412180710-r JGit v3.4.2.201412180340-r ObjectChecker: Disallow names potentially mapping to ".git" on HFS+ ObjectChecker: Disallow Windows shortname "GIT~1" ObjectChecker: Disallow ".git." and ".git<space>" Always ignore case when forbidding .git in ObjectChecker DirCache: Refuse to read files with invalid paths DirCache: Replace isValidPath with DirCacheCheckout.checkValidPath Replace "a." with "a-" in unit tests Apache HttpClientConnection: replace calls to deprecated LocalFile() Fix two nits about DirCacheEntry constructors Detect buffering failures while writing rebase todo file Deprecate TemporaryBuffer.LocalFile without parent directory Switch FileHeader.extractFileLines to TemporaryBuffer.Heap AmazonS3: Buffer pushed pack content under $GIT_DIR DirCache: Buffer TREE extension to $GIT_DIR Change-Id: Iee8acbaa9d4d9047b550641db1b8845d64530785 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * JGit v3.5.3.201412180710-rv3.5.3.201412180710-rstable-3.5Matthias Sohn2014-12-183-4/+4
| | | | | | | | | | Change-Id: Iadbd460da494c04fba71f98c200d6b65ce1709c6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| * Merge branch 'stable-3.4' into stable-3.5Matthias Sohn2014-12-1810-79/+192
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * stable-3.4: JGit v3.4.2.201412180340-r ObjectChecker: Disallow names potentially mapping to ".git" on HFS+ ObjectChecker: Disallow Windows shortname "GIT~1" ObjectChecker: Disallow ".git." and ".git<space>" Always ignore case when forbidding .git in ObjectChecker DirCache: Refuse to read files with invalid paths DirCache: Replace isValidPath with DirCacheCheckout.checkValidPath Replace "a." with "a-" in unit tests Apache HttpClientConnection: replace calls to deprecated LocalFile() Fix two nits about DirCacheEntry constructors Detect buffering failures while writing rebase todo file Deprecate TemporaryBuffer.LocalFile without parent directory Switch FileHeader.extractFileLines to TemporaryBuffer.Heap AmazonS3: Buffer pushed pack content under $GIT_DIR DirCache: Buffer TREE extension to $GIT_DIR Change-Id: I398cf40b006a05a6537788fc6eb1f84df1ed8814 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * JGit v3.4.2.201412180340-rv3.4.2.201412180340-rstable-3.4Matthias Sohn2014-12-183-4/+4
| | | | | | | | | | | | | | | Change-Id: Ie088cf129b04ec64738edbc8c3ce25aa43b557ca Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * ObjectChecker: Disallow names potentially mapping to ".git" on HFS+Matthias Sohn2014-12-181-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mac's HFS+ folds concatentations of ".git" and ignorable Unicode characters [1] to ".git" [2]. Hence we need to disallow all names which could potentially be a shortname for ".git". Example: in an empty directory create a folder ".g\U+200Cit". Now you can't create another folder ".git". The following characters are ignorable Unicode which are ignored on HFS+: unicode hex name ------------------------------------------------- U+200C 0xe2808c ZERO WIDTH NON-JOINER U+200D 0xe2808d ZERO WIDTH JOINER U+200E 0xe2808e LEFT-TO-RIGHT MARK U+200F 0xe2808f RIGHT-TO-LEFT MARK U+202A 0xe280aa LEFT-TO-RIGHT EMBEDDING U+202B 0xe280ab RIGHT-TO-LEFT EMBEDDING U+202C 0xe280ac POP DIRECTIONAL FORMATTING U+202D 0xe280ad LEFT-TO-RIGHT OVERRIDE U+202E 0xe280ae RIGHT-TO-LEFT OVERRIDE U+206A 0xe281aa INHIBIT SYMMETRIC SWAPPING U+206B 0xe281ab ACTIVATE SYMMETRIC SWAPPING U+206C 0xe281ac INHIBIT ARABIC FORM SHAPING U+206D 0xe281ad ACTIVATE ARABIC FORM SHAPING U+206E 0xe281ae NATIONAL DIGIT SHAPES U+206F 0xe281af NOMINAL DIGIT SHAPES U+FEFF 0xefbbbf ZERO WIDTH NO-BREAK SPACE [1] http://www.unicode.org/versions/Unicode7.0.0/ch05.pdf#G40025 http://www.unicode.org/reports/tr31/#Layout_and_Format_Control_Characters [2] http://dubeiko.com/development/FileSystems/HFSPLUS/tn1150.html#UnicodeSubtleties Change-Id: Ib6a1dd090b2649bdd8ec16387c994ed29de2860d Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * ObjectChecker: Disallow Windows shortname "GIT~1"Christian Halstrick2014-12-181-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Windows creates shortnames for all non-8.3 files (see [1]). Hence we need to disallow all names which could potentially be a shortname for ".git". Example: in an empty directory create a folder "GIT~1". Now you can't create another folder ".git". The path "GIT~1" may map to ".git" on Windows. A potential victim to such an attack first has to initialize a git repository in order to receive any git commits. Hence the .git folder created by init will get the shortname "GIT~1". ".git" will only get a different shortname if the user has created a file "GIT~1" before initialization of the git repository. [1] http://en.wikipedia.org/wiki/8.3_filename Change-Id: I9978ab8f2d2951c46c1b9bbde57986d64d26b9b2 Signed-off-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
| | * ObjectChecker: Disallow ".git." and ".git<space>"Shawn Pearce2014-12-181-2/+26
| | | | | | | | | | | | | | | | | | | | | | | | Windows treats "foo." and "foo " as "foo". The ".git" directory is special, as it contains metadata for a local Git repository. Disallow variations that Windows considers to be the same. Change-Id: I28eb48859a95a89111b4987c91de97557e3bb539
| | * Always ignore case when forbidding .git in ObjectCheckerShawn Pearce2014-12-181-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The component name ".GIT" inside a tree entry could confuse a case insensitive filesystem into looking at a submodule and not a directory entry. Disallow any case permutations of ".git" to prevent this confusion from entering a repository and showing up at a later date on a case insensitive system. Change-Id: Iaa3f768931d0d5764bf07ac5f6f3ff2b1fdda01b
| | * DirCache: Refuse to read files with invalid pathsShawn Pearce2014-12-181-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | If the DirCache contains a path that is known to be invalid, refuse to read the DirCache into memory. This avoids confusing errors later if an invalid path read from the DirCache were to be passed into a new DirCacheEntry constructor. Change-Id: Ic033d81e23a5fbd554cc4dff80a232504562ffa8
| | * DirCache: Replace isValidPath with DirCacheCheckout.checkValidPathShawn Pearce2014-12-182-34/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isValidPath is an older simple form of the validation performed by checkValidPath. Use the latter as it more consistently matches git-core's validation rules. By running the same validation as fsck, callers creating an entry for the DirCache are more likely to learn early they are trying to build trees that will fail fsck. Change-Id: Ibf5ac116097156aa05c18e231bc65c0854932eb1
| | * Fix two nits about DirCacheEntry constructorsShawn Pearce2014-11-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly pass STAGE_0 when creating a DirCacheEntry from String. This matches the immediate next constructor that accepts the int stage argument better, making the code easier to read. Fix a weird line break where the comma was orphaned by itself. Change-Id: Icf0970dd02a63877f9e41b51b982b0265e8b8887
| | * Detect buffering failures while writing rebase todo fileShawn Pearce2014-11-251-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By routing writes through SafeBufferedOutputStream the caller can be alerted to any flush at close failures while writing or appending to the rebase todo script. Switch the character encoding to be done at the line granularity, as this is sufficiently long enough that encoding overheads will not be a bottleneck, but short enough that the amount of temporary data will not cause memory problems for the JVM. Change-Id: Ice5ec10a7cbadc58486d481b92940056f9ffc43a
| | * Deprecate TemporaryBuffer.LocalFile without parent directoryShawn Pearce2014-11-251-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Encourage callers to explicitly name a directory to hold any overflow data. Call sites have more information about what is going into the buffer and how it should be protected at the filesystem level than just throwing content to the system wide temporary directory. Callers that still really don't care (or need to care) can pass null for the File argument to have the system directory used. Change-Id: I89009bbee49d3850d42cd82c2c462e51043acda0
| | * Switch FileHeader.extractFileLines to TemporaryBuffer.HeapShawn Pearce2014-11-252-14/+5
| | | | | | | | | | | | | | | | | | | | | | | | File contents are processed into a single byte[] for character conversion. The data must fit entirely in memory, so avoid any file IO. Change-Id: I3fe8be2e5f37d5ae953596dda1ed3fe6d4f6aebc
| | * AmazonS3: Buffer pushed pack content under $GIT_DIRShawn Pearce2014-11-252-2/+12
| | | | | | | | | | | | | | | | | | | | | This applies the same filesystem permissions as the source objects. Users may override in properties files using the tmpdir value. Change-Id: I3ec332cf41f12eae246cfaee9fd792c52cb2908b
| | * DirCache: Buffer TREE extension to $GIT_DIRShawn Pearce2014-11-251-10/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase the in-memory buffer for the TREE extension to 5 MiB, and overflow to $GIT_DIR instead of /tmp. Using a larger buffer reduces the chances a repository will overflow and need to spool the extension to disk. Using $GIT_DIR allows the TREE extension contents to have the same file system protections as the final $GIT_DIR/index. Wrap the entire thing in a try/finally to ensure the temp file is deleted from disk after the block has finished using it. To avoid dangling NFS files, LocalFile.destroy() does close the local file before deleting it. Change-Id: I8f871181a4689e3ebf0cdd4fd1769333cf7546c3
* | | Support the new repository layout for submodulesChristian Halstrick2014-12-152-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When updating a submodule (e.g. during recursive clone) the repository for the submodule should be located at <gitdir>/modules/<submodule-path> whereas the working tree of the submodule should be located at <working-tree>/<submodule-path> (<gitdir> and <working-tree> are associated to the containing repository). Since CloneCommand has learned about specifying a separate gitdir this is easy to implement in SubmoduleUpdateCommand. Change-Id: I9b56a3dfa50f97f6975c2bb7c97b36296f331b64
* | | Allow explicit configuration of git directory in CloneCommandChristian Halstrick2014-12-151-4/+59
| | | | | | | | | | | | | | | | | | | | | This feature is needed to support the new submodule layout where the .git folder of the submodules is under .git/modules/<submodule>. Change-Id: If5f13426cfd09b7677e23478e9700c8c25a6dae5
* | | Allow explicit configuration of git directory in InitCommandChristian Halstrick2014-12-155-11/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Native git's "init" command allows to specify the location of the .git folder with the option "--separate-git-dir". This allows for example to setup repositories with a non-standard layout. E.g. .git folder under /repos/a.git and the worktree under /home/git/a. Both directories contain pointers to the other side: /repos/a.git/config contains core.worktree=/home/git/a . And /home/git/a/.git is a file containing "gitdir: /repos/a.git". This commit adds that option to InitCommand. This feature is needed to support the new submodule layout where the .git folder of the submodules is under .git/modules/<submodule>. Change-Id: I0208f643808bf8f28e2c979d6e33662607775f1f
* | | Merge "Fix tests on windows by closing repos" into stable-3.6Matthias Sohn2014-12-121-20/+27
|\ \ \
| * | | Fix tests on windows by closing reposChristian Halstrick2014-12-121-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Without explicitly closing repos we can't delete the test repositories on windows. Change-Id: Id5fa17bd764cbf28703c2f21639d7e969289c2d6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | Merge "Prevent NPE if ref can't be resolved when executing ReflogCommand" ↵Christian Halstrick2014-12-121-0/+4
|\ \ \ \ | |/ / / |/| | | | | | | into stable-3.6
| * | | Prevent NPE if ref can't be resolved when executing ReflogCommandMatthias Sohn2014-12-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the specified ref can't be resolved we should throw a RefNotFoundException instead of an NPE. Bug: 455005 Change-Id: I6ec9bf1c0f330eea5eb8277268f62663bdf58f66 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | RepoCommand should close opened reposChristian Halstrick2014-12-121-0/+2
|/ / / | | | | | | | | | | | | | | | | | | RepoCommand opend two repos without closing them or returning them to the caller. This caused certain tests to fail on Windows. Change-Id: Ia04924aaaad4d16f883b06404c2a85d3f801231f Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Merge "Fix DirCacheCheckout to set correct file length if ↵Christian Halstrick2014-12-121-3/+3
|\ \ \ | | | | | | | | | | | | core.autocrlf=true" into stable-3.6
| * | | Fix DirCacheCheckout to set correct file length if core.autocrlf=trueMatthias Sohn2014-12-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To update the file length stat we need to use the length of the temporary file since it's not yet renamed to the target file name here. The incorrect file length stat update was introduced in a606dc363d0f6b09e4527cca6b645d3cb1ec407d. Bug: 453962 Change-Id: I715c048227553efae6f8f6b6878c0f04f2609d9c Also-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de> Also-by: Christian Halstrick <christian.halstrick@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | Merge "CheckoutCommand: Fix checking out ours/theirs when no base stage ↵Christian Halstrick2014-12-121-3/+8
|\ \ \ \ | |/ / / |/| | | | | | | exists" into stable-3.6
| * | | CheckoutCommand: Fix checking out ours/theirs when no base stage existsRobin Stocker2014-12-101-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In case of an add/add conflict, no base stage exists. The previous implementation would skip over the entries because the condition expected the base stage to always exist. Change-Id: Ie2b3685d958c09b241991b74e6177401e8a1ebc9 Signed-off-by: Robin Stocker <robin@nibor.org>
* | | | Make sure modifications to config-param trustFolderStat are detectedChristian Halstrick2014-12-051-11/+10
|/ / / | | | | | | | | | | | | | | | | | | ObjectDirectory.searchPacksAgain() should always read trustFolderStat from the config and not rely on a cached value. Change-Id: I90edbaae3c64eea0c9894d05acde4267991575ee
* | | Merge "Honor git-core meaning of receive.denyDeletes allowing tag deletion"Matthias Sohn2014-11-291-10/+36
|\ \ \
| * | | Honor git-core meaning of receive.denyDeletes allowing tag deletionShawn Pearce2014-11-291-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | receive.denyDeletes parameter refers only to branch: http://thread.gmane.org/gmane.comp.version-control.git/99746 Bug: 412640 Change-Id: Ief3fa6abc0c9a18ba0a671ff9854432cec480c4f
* | | | Move checkPath from DirCacheCheckout to ObjectCheckerShawn Pearce2014-11-284-24/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bulk of the "is this sane" logic is inside of ObjectChecker. The only caller for the version in DirCacheCheckout is an obtuse usage for the static isValidRefName() method in Repository. Deprecate the weird single use method in DirCacheCheckout and move all code for checking a sequence of path components into ObjectChecker, where it makes sense alongside the existing code that checks a single component at a time. Reuse a single ObjectChecker for the local platform, to avoid looking up the system properties on each path string considered. Change-Id: Iae6e769f2bfcad05c166e70ff255f9cf9fcdc87e
* | | | Use baseline instead of centerline in PlotRendererMichael Keppler2014-11-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the text extent height of a to be rendered plot line is odd, then the SWTPlotRenderer cannot calculate the correct Y position for drawing the label and draws the label with a 1 pixel offset. SWT text drawing uses the baseline as Y coordinate. Due to the given centerline API in the AbstractPlotRenderer the overall calculation of the baseline for SWT is effectively (height / 2) * 2, thereby rounding all odd heights downward to the next even number. This change pushes the division by 2 from the caller into the implementations of drawText. A corresponding change will be pushed in the egit repository. Bug: 450813 Change-Id: I66f4e71873bb8e6f936fde573bbe4c35fe23a022 Signed-off-by: Michael Keppler <michael.keppler@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | Consider parent rules if ignore rule is negatedAndrey Loskutov2014-11-292-8/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The change tries to make jgit behave more like native CLI git regarding the negation rules. According to [1] "... prefix "!" which negates the pattern; any matching file excluded by a previous pattern will become included again." Negating the pattern should not automatically make the file *not ignored* - other pattern rules have to be considered too. The fix adds test cases for both bugs 448094 and 407475. [1] https://www.kernel.org/pub/software/scm/git/docs/gitignore.html Bug: 448094 Bug: 407475 Change-Id: I322954200dd3c683e3d8f4adc48506eb99e56ae1 Signed-off-by: Andrey Loskutov <loskutov@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | ResolveMerger: Use checkoutEntry during abortShawn Pearce2014-11-271-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cleanUp path is trying to restore files that previously were clean, but were overwritten in the work tree by a partial merge attempt that has failed and needs to be aborted. Reuse the checkout logic to write the file content and refresh the stat data. Change-Id: I320d33b3744daf88d3155db99e957408937ddd00
* | | | Cleanup double stat update of symlinks in DirCacheCheckoutShawn Pearce2014-11-271-33/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing a symlink the stat data should only be written once into the DirCacheEntry, based on the symlink itself and not the possibly resolved destination observed by java.io.File. Refactor the code to handle symlinks and early return. This removes the risk the blob stat info update is used against a newly checked out symlink. Hoist the file length stat update immediately after writing the file, before a rename. This eliminates any race caused by another process updating the file length after the rename and having it to fall into the racily clean path. Change-Id: I978ad9719c018ce1cf26947efbabaa8b9dff2217
* | | | Deprecate checkoutEntry variant that accepts FileShawn Pearce2014-11-274-47/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Entries should only be written to the working tree managed by the Repository. Simplify callers by passing only the entry and computing the work tree location inside of the checkoutEntry method. Change-Id: I574e41280d0407f1853fda12f4bd0d30f75d74e7
* | | | DirCacheCheckout: create only one ObjectReaderShawn Pearce2014-11-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This deprecated method accidentally creates two ObjectReader instances. Use the instance created one line above that is correctly released in the finally block. Change-Id: Ic57d041674611802a9384d8fa1d292e821055019
* | | | Support DfsRepository from GarbageCollectCommandShawn Pearce2014-11-251-15/+32
|/ / / | | | | | | | | | Bug: 406379 Change-Id: I7f4f23cd50d46ffcde69d6abfe3ca0cc6fa86604
* | | Allow configurable ObjectCheckers in fetchShawn Pearce2014-11-245-11/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RecievePack already honors fsck settings for safeForWindows and safeForMacOS. Allow those same checks to be performed during fetch through a caller-configurable ObjectChecker. Default the fetch fsck options to match the current platform, as it can be reasonably assumed the repository will be accessed here. Change-Id: I3c0f411fad209c6bd8fb9c4acf5c55a6799a6a2a
* | | Cleanup TreeWalk creation/release inside StashApplyCommandShawn Pearce2014-11-241-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TreeWalk constructor doesn't throw in a meaninful way that requires cleanup of the not-yet-created TreeWalk. Hoist the constructor outside of the try/finally and remove the now unnecessary != null check during the finally. Change-Id: If5b8bb91562715df0699726648123a47426b9850
* | | Deprecate checkoutEntry without ObjectReaderShawn Pearce2014-11-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Callers should manage the ObjectReader, as this allows the JGit library to cache context relevant information across files checked out at the same time. If the caller only has one file to checkout, it should still explicitly manage the life span of the ObjectReader. Change-Id: Ib57fba6cb4b774ccff8c416ef4d32e2b390f16a9
* | | upload-pack: send symbolic refs as capabilitiesYuxuan 'fishy' Wang2014-11-213-1/+41
| | | | | | | | | | | | | | | | | | | | | | | | cgit has this feature for some time. This will teach JGit to send symbolic refs, too. Change-Id: I7cb2ab4e6d31a838a0af92eac64535fdb66ed74a Signed-off-by: Yuxuan 'fishy' Wang <fishywang@google.com>
* | | Don't use java.util.regex for two simple wildcard casesAndrey Loskutov2014-11-184-6/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To improve ignore parser performance we can avoid using java.util.regex code on simple wildcard patterns with leading or trailing asterisk. As those patterns represent a majority of ignore rules, the index diff performance can be drastically increased on huge repository with lot of ignore rules. Bug: 450466 Change-Id: I80428441cc8d5de5468813f841d89322413eed8b Signed-off-by: Andrey Loskutov <loskutov@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | Merge "Fix variable name and error message for sideband testing"Shawn Pearce2014-11-133-4/+4
|\ \ \
| * | | Fix variable name and error message for sideband testingStefan Beller2014-11-103-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Actually the test only allows a range from [1,255], so let's name the variable so. Change-Id: Iecdb8149b83389c67e3cd2f64f4a654c175475be Signed-off-by: Stefan Beller <sbeller@google.com>
* | | | Let RepositoryBuilder find bare reposChristian Halstrick2014-11-121-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BaseRepositoryBuilder.findGitDir() was not searching correctly for bare repositories. E.g. when running org.eclipse.jgit.pgm.Log and the current directory was that of a bare git repository an error "fatal: error: can't find git directory" was raised. With this fix RepositoryBuilder will also check whether the given directory is the root of a bare repository. Bug: 450193 Change-Id: I4d4ad42e24ca397745adb0f3385caee3bcf3a186 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | | | Prepare post 3.6.0-m1 buildsMatthias Sohn2014-11-123-4/+4
| | | | | | | | | | | | | | | | | | | | Change-Id: Ie9927de64fa6b7d517f96b8cd12e57541f284ff2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>