aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst/org
Commit message (Collapse)AuthorAgeFilesLines
* Added groups support to repo subcommand.Yuxuan 'fishy' Wang2014-04-231-6/+118
| | | | | Change-Id: Id0e7663b6ac4f6938fdcacaf2158107b6285fc25 Signed-off-by: Yuxuan 'fishy' Wang <fishywang@google.com>
* Implemented first part of the repo sub-command.Yuxuan 'fishy' Wang2014-04-231-0/+93
| | | | | | | | Currently the repo sub-command only "works", but the submodules will have .git directories themselves, and lacks group support. Change-Id: I88a6ee07109187c6c9bfd92a044775fcfb5befa6 Signed-off-by: Yuxuan 'fishy' Wang <fishywang@google.com>
* Blame correctly in the presence of conflicting mergesKonrad Kügler2014-04-171-0/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: The BlameGenerator used the RevFlag SEEN to mark commits it had already looked at (but not necessarily processed), to prevent processing a commit multiple times. If a commit is a conflicting merge that contains lines of the merge base, that have been deleted in its first parent, either these lines or the lines untouched since the merge base would not be blamed properly. This happens for example if a file is modified on a main branch in an earlier commit M and on a side branch in a later commit S. For this example, M deletes some lines relative to the common base commit B, and S modifies a subset of these lines, leaving some other of these lines untouched. Then side is merged into main, creating a conflict for these lines. The merge resolution shall carry over some unmodified lines from B that would otherwise be deleted by M. The route to blame these lines is via S to B. They can't be blamed via M, as they don't exist there anymore. Q |\ | \ | S | | M | | / |/ B Blaming the merged file first blames via S, because that is the most recent commit. Doing so, it also looks at B to blame the unmodified lines of B carried over by S into the merge result. In the course of this, B is submitted for later processing and marked SEEN. Later M is blamed. It notices that its parent commit B has been SEEN and aborts processing for M. B is blamed after that, but only for the lines that survived via S. As a result, only the lines contributed by S or by B via S are blamed. All the other lines that were unchanges by both M and S, which should have been blamed to B via M, are not blamed. Solution: Don't abort processing when encountering a SEEN commit. Rather add the new region list of lines to be blamed to those of the already SEEN and enqueued commit's region list. This way when the B commit of the above example is processed, it will blame both the lines of M and S, yielding a complete blame result. Bug: 374382 Change-Id: I369059597608022948009ea7708cc8190f05a8d3 Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de> Signed-off-by: Shawn Pearce <spearce@spearce.org>
* Merge changes Id9a641dd,If2ee1f42Robin Rosenberg2014-04-091-0/+80
|\ | | | | | | | | | | * changes: Added TestCase for 7d5e1f Fixed RevWalk.isMergedInto() Fixed RevWalk.isMergedInto() returning wrong results
| * Added TestCase for 7d5e1f Fixed RevWalk.isMergedInto()Sven Selberg2014-04-091-0/+80
| | | | | | | | | | | | Change-Id: Id9a641dd67c4182bb3a0dc83a6864fee43e7653f Signed-off-by: Gustaf Lundh <gustaf.lundh@sonymobile.com> Signed-off-by: Sven Selberg <sven.selberg@sonymobile.com>
* | Fix ValidRefNameTest on WindowsRobin Rosenberg2014-04-061-23/+55
| | | | | | | | | | | | | | | | | | There are certain ref names which native git can be create only on non-windows systems (e.g. "refs/tags/>"). On Windows systems we can't persist this refs because the ref names are not valid file names. Our tests in ValidRefNameTest assumed that these are valid refs on all systems. This broke the tests on Windows. Change-Id: Ic53c396c88b84cbdf579a636953f7519952270c0
* | Fix FileTreeIteratorTest#testIsModifiedFileSmudged() on WindowsRobin Rosenberg2014-04-061-0/+5
| | | | | | | | | | | | | | | | | | | | This would be a problem for any OS where Java lets the subscond part through to the File API. The fix is to force the timetamp of the index rather than trusting it to just happen to be right. Bug: 430765 Change-Id: Id6b3ba003f58427a3ffaacd224649e2d6c93566b Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* | Fix ObjectChecker when normalization is enabledShawn Pearce2014-04-031-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | When safeForMacOS is enabled the checker verifies a name does not match against another name in the same tree after normalization to NFC. The check was incorrect and failed when the first name was put in, rejecting simple trees containing only one file like "F". Add a test for this simple tree to verify it is accepted. Fix the test for NFC normalization to actually normalize and have a collision. Change-Id: I39e7d71150948872bff6cd2b06bf8dae52aa3c33
* | Interactive rebase: Fix order of commit messages on squashStefan Lay2014-03-271-5/+5
| | | | | | | | | | | | | | Bug: 431214 Change-Id: I295bfdc5751545b046d7fe7efc3f8b39ab4f5415 Signed-off-by: Stefan Lay <stefan.lay@sap.com> Signed-off-by: Robin Rosennberg <robin.rosenberg@dewire.com>
* | Fix GarbageCollection not to pack HEADChristian Halstrick2014-03-261-0/+68
| | | | | | | | | | | | | | | | | | | | When working on a non-bare repository with a detached HEAD jgit's GC was packing the ref named "HEAD" into the packed-refs file and deleted the loose ref (the file .git/HEAD!). This made the repo unusable for native git. This is fixed by telling jgit to only pack refs starting from "refs/" Change-Id: I50018aa006f18b244d2cae2ff78b5ffe1b821d63
* | Fix NameRevCommand when repo has no annotated tagsDave Borowitz2014-03-251-0/+14
|/ | | | | | | | | | | | Previously, calling addAnnotatedTags() did not modify any state when there were no annotated tags in the repository. This caused the code to assume no addFoo() methods had been called, and fell back to the default of adding refs/*. Instead, use null to indicate neither addRefs() nor addAnnotatedTags() was called. Add a test for this behavior. Change-Id: I9926e5ac17e1a983cd399798993031c72bd79c2c
* Fix text alignment in history plot rendererRüdiger Herrmann2014-03-131-0/+153
| | | | | | | | | | When more than one lane is drawn, some commits are vertically misaligned (off by two pixels). This change fixes the alignment. Bug: 426047 Change-Id: Icbe7ce9f5a6b281b2aaab66e4d76dfc1010b2fb5 Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de> Signed-off-by: Rüdiger Herrmann <ruediger.herrmann@gmx.de> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* Merge changes ↵Shawn Pearce2014-03-121-0/+210
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I1a225c1b,Ie4d5f082,I41f24363,I9440dd25,I170b6f64,I02e964d1,Iec6ce9e6,Ic700ea8f,Ic3042444,I90a1eaf2,I66eaee5c,Ib921dfd7 * changes: Allow configuration of receive pack's ObjectChecker through fsck.* Correct fetch to use fetch.fsckObjects and transfer.fsckObjects Default receive.fsckObjects to transfer.fsckObjects Allow ReceivePack callers to configure their own ObjectChecker Check for duplicate names after folding case in ObjectChecker Change DirCacheCheckout to verify path using ObjectChecker Reject mixed case .git on Mac OS in ObjectChecker Reject special Windows device names in ObjectChecker Allow an ObjectChecker to reject special characters for Windows Reject '.git' as a tree name in ObjectChecker Extract path segment check function in ObjectChecker Permit ObjectChecker to optionally accept leading '0' in trees
| * Check for duplicate names after folding case in ObjectCheckerShawn Pearce2014-03-121-0/+56
| | | | | | | | | | | | | | | | | | Mac OS X and Windows filesystems are generally case insensitive and will fold 'a' and 'A' to the same directory entry. If the checker is enforcing safe semantics for these platforms, track all names and look for duplicates after folding case and normalizing to NFC. Change-Id: I170b6f649a72d6ef322b7254943d4c604a8d25b9
| * Change DirCacheCheckout to verify path using ObjectCheckerShawn Pearce2014-03-121-0/+10
| | | | | | | | | | | | | | | | Reuse the generic logic in ObjectChecker to examine paths. This required extracting the scanner loop to check for bad characters within the path name segment. Change-Id: I02e964d114fb544a0c1657790d5367c3a2b09dff
| * Reject mixed case .git on Mac OS in ObjectCheckerShawn Pearce2014-03-121-1/+15
| | | | | | | | | | | | | | | | Most Mac OS X systems use a case insensitive HFS+ volume. Like Windows ".git" and ".GIT" are the same path and can confuse a Git program into expecting a repository where one does not exist. Change-Id: Iec6ce9e6c2872f8b0850cc6aec023fa0fcb05ae4
| * Reject special Windows device names in ObjectCheckerShawn Pearce2014-03-121-0/+24
| | | | | | | | | | | | | | | | If Windows rejection is enabled reject special device names like NUL and PRN, including NUL.txt. This prevents a tree that might be used on a Windows client from referencing a confusing name. Change-Id: Ic700ea8fa68724509e0357d4b758a41178c4d70c
| * Allow an ObjectChecker to reject special characters for WindowsShawn Pearce2014-03-121-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | Repositories that are frequently checked out on Windows platforms may need to ensure trees do not contain strange names that cause problems on those systems. Follow the MSDN guidelines and refuse to accept a tree containing a special character, or names that end with " " (space) or "." (dot). Since Windows filesystems are usually case insensitive, also reject mixed case versions of the reserved ".git" name. Change-Id: Ic3042444b1e162c6d01b88c7e6ea39b2a73c4eca
| * Reject '.git' as a tree name in ObjectCheckerShawn Pearce2014-03-121-0/+13
| | | | | | | | | | | | | | | | Using .git as a name in a tree is invalid for most Git repositories. This can confuse clients into thinking there is a submodule or another repository deeper in the tree, which is incorrect. Change-Id: I90a1eaf25d45e91557f3f548b69cdcd8f7cddce1
| * Permit ObjectChecker to optionally accept leading '0' in treesShawn Pearce2014-03-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | The leading '0' is a broken mode that although incorrect in the Git canonical tree format was created by a couple of libraries frequently used on a popular Git hosting site. Some projects have these modes stuck in their ancient history and cannot easily repair the damage without a full history rewrite. Optionally permit ObjectChecker to ignore them. Bug: 307291 Change-Id: Ib921dfd77ce757e89280d1c00328a88430daef35
* | Rename test class so it is also executed during maven test phaseChristian Halstrick2014-03-121-1/+1
|/ | | | | | | | | | | One specific test was executed when running tests from inside eclipse (e.g. by using one of our checked in launch configurations). But when running tests from maven this test was not executed. Maven (the surefire plugin) looks for Tests only in java files which are named like "Test*.java", "*Test.java" or "*TestCase.java". Tests in files named "*Tests.java" are not found. Change-Id: I62a80fd6e6fda8bd76fdf3f3f2b8cbc56460fb2c
* Take core.autocrlf into account for blame annotationsKonrad Kügler2014-03-101-0/+61
| | | | | | | | | | | | | | | | | | Blaming with core.autocrlf set to 'true' - even for freshly checked out files - showed all lines as being locally modified. For autocrlf = true the line breaks of the local file will be converted to LF for blaming. This results in useful diffs and therefor in the desired blame annotations. For autocrlf = input no conversion takes place to cope with CRLF line breaks in the repository, in addition to the usual LF. For autocrlf = true CRLF line breaks in the repo can't be supported without additional effort. In that case the whole local file will be blamed as being locally modified. Change-Id: If020dcca54d16b2fb79210a070b8480aec82e58e Signed-off-by: Konrad Kügler <swamblumat-eclipsebugs@yahoo.de> Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
* Merge branch 'stable-3.3'Matthias Sohn2014-03-051-0/+32
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Fix merge/cherry-picking in CRLF modeRobin Rosenberg2014-03-021-0/+32
| | | | | | | | | | | | | | 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 "Add setContains to ListBranchCommand (branch --contains)"Robin Rosenberg2014-03-031-0/+14
|\ \ | |/ |/|
| * Add setContains to ListBranchCommand (branch --contains)Robin Stocker2014-01-141-0/+14
| | | | | | | | | | | | | | | | | | 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>
* | [findBugs] Don't ignore exceptional return value of File.mkdir()Matthias Sohn2014-02-181-1/+2
| | | | | | | | Change-Id: Ic4c61472412aa158a355bb444805cde8c5d2833a Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | [findBugs] Don't rely on default encodingMatthias Sohn2014-02-181-1/+1
| | | | | | | | Change-Id: I9be2ffe95e8d716326ba63b67672741ac316f9a5 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | [findBugs] Don't call toString() on a stringMatthias Sohn2014-02-181-1/+1
| | | | | | | | Change-Id: I0b91ffd473e2f14623ddf409e4f0f342c8941e42 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix diff header on renamed or copied filesShawn Pearce2014-02-181-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Introduce an abstraction for HTTP connectionsChristian Halstrick2014-02-181-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Allow programmatic remote configuration for PullCommandMatthias Sohn2014-02-141-0/+65
| | | | | | | | | | | | | | | | 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>
* | Use branch.<x>.mergeoptions and merge.ff as defaults for mergingKonrad Kügler2014-02-141-0/+47
| | | | | | | | | | | | | | | | | | 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-132-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | 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-3/+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 fileAttributes to get more attributes in one goRobin Rosenberg2014-02-121-1/+1
| | | | | | | | | | | | | | | | | | 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-0/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 symlink support to JGitRobin Rosenberg2014-02-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Failing to delete a directory with untracked content is actually okRobin Rosenberg2014-02-101-5/+4
| | | | | | | | | | | | | | We had a test, but it was wrong. Bug: 424630 Change-Id: I926e0954c8623a323a50fe8be3ebe5e0ac6944c8 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Ban dangerous ref names in WindowsRobin Rosenberg2014-02-051-0/+23
| | | | | | | | | | | | | | Bug: 423551 Change-Id: I3e71ef1b4a8181f46d2902c9169859f150cd6ad0 Also-By: Robin Stocker <robin@nibor.org> Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Reset internal state canonical length in WorkingTreeIterator when movingRobin Rosenberg2014-02-031-1/+14
| | | | | | | | | | Bug: 426514 Change-Id: Ifb75a4fa12291aeeece3dda129a65f0c1fd5e0eb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Fix for core.autocrlf=input resulting in modified fileRobin Rosenberg2014-02-022-3/+40
| | | | | | | | | | | | | | | | | | | | | | This version does not attempt to unsmudge, unlike the first attempt in Idafad150553df14827eccfde2e3b95760e16a8b6. Bug: 372834 Change-Id: I9300e735cb16d6208e1df963abb1ff69f688155d Also-by: Robin Stocker <robin@nibor.org> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Robin Stocker <robin@nibor.org>
* | Do not report ignored directories as untrackedMatthias Sohn2014-01-191-0/+47
| | | | | | | | | | Change-Id: I7e3f6b9fb1ac4b99d2cc9a78c63aad86f4fa5744 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
* | Add git checkout --orphan implementationSATO taichi2014-01-171-0/+96
| | | | | | | | Change-Id: I7bb583674641efed210d3cd5b86af27d7bb48e97 Signed-off-by: SATO taichi <ryushi@gmail.com>
* | Fix fast forward rebase with rebase.autostash=trueStefan Lay2014-01-151-0/+39
|/ | | | | | | | | The folder .git/rebase-merge was not removed in this case. The repository was then still in rebase state, but neither abort nor continue worked. Bug: 425742 Change-Id: I43cea6c9e5f3cef9d6b15643722fddecb40632d9
* Upgrade javaewah to version 0.7.9Colby Ranger2014-01-132-2/+2
| | | | | | | Package was renamed, so I had to update the imports. Also, I verified bitmap serialization was still compatible. Change-Id: I161ad3875b963b56001beab477ef8d072accee4f
* Don't use API exception in RebaseTodoLineChristian Halstrick2013-12-111-36/+114
| | | | | | | | | | | | | This came up while testing the proposed buck build for jgit. With buck we can introduce smaller modules to allow for more concurrency during build and to better control inner structure of jgit. Trying to put the porcelain API into a different module than lower level implementation classes failed since RebaseTodoLine used a porcelain API exception causing a dependency cycle on the proposed modules. Using an exception defined on the same abstraction level fixes this problem. Change-Id: I26a5353e1a8fc23e67d8ce61309bd964f7665bcb Signed-off-by: Matthias Sohn <matthias.sohn@sap.com> Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
* Merge "Fix aborting rebase with detached head" into stable-3.2Robin Rosenberg2013-12-101-0/+63
|\
| * Fix aborting rebase with detached headStefan Lay2013-12-101-0/+63
| | | | | | | | | | Bug: 423670 Change-Id: Ia6052867f85d4974c4f60ee5a6c820501e8d2427
* | Add recursive variant of Config.getNames() methodsMatthias Sohn2013-12-061-1/+55
|/ | | | | | | | | | | | | These methods allow to find all configuration entry names for a given section or section/subsection searching recursively through all base configurations of the given configuration. These methods are needed to calculate the names for the effective configuration of a git repository which combines the configuration entry names found in the repository, global and system configuration files Bug: 396659 Change-Id: Ie3731b5e877f8686aadad3f1a46b2e583ad3b7c6 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>