]> source.dussan.org Git - jgit.git/log
jgit.git
10 years agoFileUtils.delete does not recurse via symlinks 90/15390/16
Robin Rosenberg [Wed, 10 Jul 2013 20:20:30 +0000 (22:20 +0200)]
FileUtils.delete does not recurse via symlinks

Change-Id: I134cfbda47f4d252fec1a16034e2e78b73cd5081

10 years agoUse fileAttributes to get more attributes in one go 42/9642/30
Robin Rosenberg [Thu, 23 Jan 2014 05:07:12 +0000 (06:07 +0100)]
Use fileAttributes to get more attributes in one go

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>
10 years agoFix RevWalkUtils.findBranchesReachableFrom not finding some branches 18/20618/5
Robin Stocker [Tue, 14 Jan 2014 15:56:01 +0000 (16:56 +0100)]
Fix RevWalkUtils.findBranchesReachableFrom not finding some branches

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>
10 years agoLength of symbolic link is the number of bytes, not characters 89/15389/13
Robin Rosenberg [Wed, 10 Jul 2013 15:33:50 +0000 (17:33 +0200)]
Length of symbolic link is the number of bytes, not characters

Change-Id: I6b615f0d5da4339f1f23a29bcaeb80f0346f5764

10 years agoAdd delete support to FS 84/9384/36
Robin Rosenberg [Thu, 27 Dec 2012 11:45:59 +0000 (12:45 +0100)]
Add delete support to FS

Change-Id: Ib6f6fd5ef4a0c9b2062445ac4a0c9d1131e401bf

10 years agoDynamically detect if Windows supports symbolic links 42/20542/7
Robin Rosenberg [Sun, 12 Jan 2014 00:34:58 +0000 (01:34 +0100)]
Dynamically detect if Windows supports symbolic links

To get symlink support you typically need to run as administrator.

Change-Id: I394ea75bc2f250c62f860e537a0af9e6380b3b38
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoAdd symlink support to JGit 79/9379/38
Robin Rosenberg [Fri, 4 Jan 2013 23:34:03 +0000 (00:34 +0100)]
Add symlink support to JGit

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>
10 years agoUse the new FS.exists method in commonly occuring places 34/10134/18
Robin Rosenberg [Mon, 4 Feb 2013 00:11:29 +0000 (01:11 +0100)]
Use the new FS.exists method in commonly occuring places

Allegedly this should improve performance, but I could not see it.

Change-Id: Id2057cb2cfcb46e94ff954483ce23f9c4a7edc5e

10 years agoFix deprecated WTI#isModified 52/21652/2
Robin Rosenberg [Thu, 6 Feb 2014 22:03:25 +0000 (23:03 +0100)]
Fix deprecated WTI#isModified

We should really pass the forceContentCheck parameter to
the real method.

Change-Id: I9ea439cf6340a18d0e931edde3b9e3486cafde93
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoFailing to delete a directory with untracked content is actually ok 93/21493/3
Robin Rosenberg [Tue, 4 Feb 2014 00:00:41 +0000 (01:00 +0100)]
Failing to delete a directory with untracked content is actually ok

We had a test, but it was wrong.

Bug: 424630
Change-Id: I926e0954c8623a323a50fe8be3ebe5e0ac6944c8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoBan dangerous ref names in Windows 76/20176/5
Robin Rosenberg [Fri, 27 Dec 2013 15:31:32 +0000 (16:31 +0100)]
Ban dangerous ref names in Windows

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>
10 years agoMerge "Reset internal state canonical length in WorkingTreeIterator when moving"
Matthias Sohn [Tue, 4 Feb 2014 08:03:27 +0000 (03:03 -0500)]
Merge "Reset internal state canonical length in WorkingTreeIterator when moving"

10 years agoMerge "Fix MissingObjectException race in ObjectDirectory"
Shawn Pearce [Mon, 3 Feb 2014 23:05:39 +0000 (18:05 -0500)]
Merge "Fix MissingObjectException race in ObjectDirectory"

10 years agoFix MissingObjectException race in ObjectDirectory 62/21362/2
Shawn Pearce [Fri, 31 Jan 2014 00:25:49 +0000 (16:25 -0800)]
Fix MissingObjectException race in ObjectDirectory

Johannes Carlsson identified a race condition[1] that can lead to
spurious MissingObjectExceptions at read time. If two threads are
active inside of ObjectDirectory looking for a packed object and the
packList is currently the empty NO_PACKS list, thread A will find
no object and eventually consider tryAgain1(). If thread A is put
to sleep and this point and thread B also does not find the object,
loads the packs, when thread A wakes up its tryAgain1 would return
false and the thread never considers the packs.

Rework the internal API of ObjectDirectory to keep a handle on the
exact PackList that was iterated by thread A, allowing it to always
retry walking through the packs if the new PackList is different.

This had some ripple effect into the CachedObjectDirectory and
the shared FileObjectDatabase interface. The new code should be
slightly easier to follow, especially from the perspective of the
CachedObjectDirectory trying to minimize the number of open system
calls it makes to files matching "$GIT_DIR/objects/??/?x{38}".

[1] http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg02401.html

Change-Id: I9a1c9d6ad6cb38404b7b9178167b714077561353

10 years agoReset internal state canonical length in WorkingTreeIterator when moving 32/21432/4
Robin Rosenberg [Sun, 2 Feb 2014 22:26:34 +0000 (23:26 +0100)]
Reset internal state canonical length in WorkingTreeIterator when moving

Bug: 426514
Change-Id: Ifb75a4fa12291aeeece3dda129a65f0c1fd5e0eb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoFix for core.autocrlf=input resulting in modified file 73/20173/5
Robin Rosenberg [Thu, 26 Dec 2013 00:22:04 +0000 (01:22 +0100)]
Fix for core.autocrlf=input resulting in modified file

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>
10 years agoAdd a missing since tag 32/21332/1
Christian Halstrick [Thu, 30 Jan 2014 14:23:56 +0000 (15:23 +0100)]
Add a missing since tag

Otherwise you get errors if you want to edit JGit in Eclipse

Change-Id: I840d4388f159e2db27845a17030b511fc5708f43

10 years agoMerge "Fix serving fetch of existing shallow client"
Shawn Pearce [Wed, 29 Jan 2014 19:56:20 +0000 (14:56 -0500)]
Merge "Fix serving fetch of existing shallow client"

10 years agoFix serving fetch of existing shallow client 27/21227/2
Shawn Pearce [Wed, 29 Jan 2014 00:29:15 +0000 (16:29 -0800)]
Fix serving fetch of existing shallow client

In certain cases a JGit server updating an existing shallow client
selected a common ancestor that was behind the shallow edge of
the client. This allowed the server to assume the client had some
objects it did not have and allowed creation of pack deltas the
client could never inflate.

Any commit the client has advertised as shallow must be treated
by UploadPack server as though it has no parents. With no parents
the walker cannot visit graph history the client does not have,
and PackWriter cannot consider delta base candidates the client
is lacking.

Change-Id: I4922b9354df9f490966a586fb693762e897345a2

10 years agoUpdate Kepler target platform to use Kepler SR2 orbit R-build 73/21073/1
Matthias Sohn [Fri, 24 Jan 2014 21:30:28 +0000 (22:30 +0100)]
Update Kepler target platform to use Kepler SR2 orbit R-build

Change-Id: I3c215b8bbb6497b59d20c9fe7684a0c3522636e8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoAdd missing @since tags 99/20799/2
Matthias Sohn [Mon, 20 Jan 2014 08:28:06 +0000 (09:28 +0100)]
Add missing @since tags

Change-Id: I16d82499d7d000096de6bd4bd08e406073557162
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoUpdate API version to check changes against to 3.2.0.201312181205-r 98/20798/2
Matthias Sohn [Mon, 20 Jan 2014 08:27:51 +0000 (09:27 +0100)]
Update API version to check changes against to 3.2.0.201312181205-r

Change-Id: Ifb0a87a2b268a8bf3dc11310bfd6af18e242693c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoUpdate Luna target platform to use Luna M5 orbit repository 96/20796/1
Matthias Sohn [Mon, 20 Jan 2014 08:11:53 +0000 (09:11 +0100)]
Update Luna target platform to use Luna M5 orbit repository

See http://dev.eclipse.org/mhonarc/lists/orbit-dev/msg03647.html

Change-Id: Id10cd2e0b1aaba181b68f6ac30e0fc64fb714481
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoDo not report ignored directories as untracked 41/11141/2
Matthias Sohn [Thu, 28 Feb 2013 22:47:44 +0000 (23:47 +0100)]
Do not report ignored directories as untracked

Change-Id: I7e3f6b9fb1ac4b99d2cc9a78c63aad86f4fa5744
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoAdd git checkout --orphan implementation 95/20095/5
SATO taichi [Fri, 17 Jan 2014 05:57:39 +0000 (14:57 +0900)]
Add git checkout --orphan implementation

Change-Id: I7bb583674641efed210d3cd5b86af27d7bb48e97
Signed-off-by: SATO taichi <ryushi@gmail.com>
10 years agoFix fast forward rebase with rebase.autostash=true 49/20649/1
Stefan Lay [Wed, 15 Jan 2014 12:23:49 +0000 (13:23 +0100)]
Fix fast forward rebase with rebase.autostash=true

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

10 years agoUpdate target platforms to use latest orbit build 35/20635/1
Matthias Sohn [Tue, 14 Jan 2014 23:22:43 +0000 (00:22 +0100)]
Update target platforms to use latest orbit build

- use latest I-build for Luna
- use latest M-build for Kepler

Change-Id: I5b85306058877b19eae4cf5a820fe50cdd200c1c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoUpdate com.jcraft.jsch to 0.1.50 in Kepler target platform 22/20622/1
Matthias Sohn [Tue, 14 Jan 2014 14:54:06 +0000 (15:54 +0100)]
Update com.jcraft.jsch to 0.1.50 in Kepler target platform

Bug: 425660
Change-Id: I758b34d0486a88036da8327da6ef43385c62fd46
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoUpdate commons-compress to 1.6 72/17072/2
Jonathan Nieder [Tue, 14 Jan 2014 14:43:20 +0000 (15:43 +0100)]
Update commons-compress to 1.6

Includes various fixes, including
  o Writing TAR PAX headers failed if the generated entry name ended
    with a "/".
    Issue: COMPRESS-203.
which has been happening in the wild (java.io.IOException: request to
write '120' bytes exceeds size in header of '0' bytes for entry
'./PaxHeaders.X/hostsidetests/appsecurity/test-apps/AppAccessData/[...]/').

TODO: update orbit repository URL when new Orbit R-build is available,
see bug 425660

Change-Id: I92a87543a6ace9a06a70a29534399608cee6adb1
Signed-off-by: Jonathan Nieder <jrn@google.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agofix link to EWAHCompressedBitmap in javadoc of SimpleDataInput/Output 99/20599/2
Tomasz Zarna [Tue, 14 Jan 2014 08:46:40 +0000 (09:46 +0100)]
fix link to EWAHCompressedBitmap in javadoc of SimpleDataInput/Output

Change-Id: Iaa07bb23f163b75e222bc6a5ce3acc91ffef435e
Signed-off-by: Tomasz Zarna <tomasz.zarna@tasktop.com>
10 years agoUpgrade javaewah to version 0.7.9 50/19450/5
Colby Ranger [Fri, 6 Dec 2013 17:21:17 +0000 (09:21 -0800)]
Upgrade javaewah to version 0.7.9

Package was renamed, so I had to update the imports. Also, I verified
bitmap serialization was still compatible.

Change-Id: I161ad3875b963b56001beab477ef8d072accee4f

10 years agoTag som non-localizable strings with NON-NLS 74/20174/2
Robin Rosenberg [Thu, 26 Dec 2013 11:30:38 +0000 (12:30 +0100)]
Tag som non-localizable strings with NON-NLS

Change-Id: I6882c98c2785f38241a81ba5b93892aab79690a5

10 years agoAdd missing package import for org.eclipse.jgit.archive 17/20317/1
Matthias Sohn [Tue, 7 Jan 2014 08:20:08 +0000 (09:20 +0100)]
Add missing package import for org.eclipse.jgit.archive

The archive bundle needs access to the nls package since 2ecc27db.

Change-Id: I76882e1f270296c5ce8e220e1946c4a8ddb6fdf5
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoRemove unused import from ArchiveTest 16/20316/1
Matthias Sohn [Tue, 7 Jan 2014 08:17:05 +0000 (09:17 +0100)]
Remove unused import from ArchiveTest

This unnecessary import was introduced by 2ecc27d.

Change-Id: I5cb415de7e33428d9f95dfbe1e214ef24be9dad9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoSuppport the GIT_CONFIG_NOSYSTEM environment variable 02/20302/1
Robin Rosenberg [Mon, 6 Jan 2014 17:42:15 +0000 (18:42 +0100)]
Suppport the GIT_CONFIG_NOSYSTEM environment variable

Change-Id: If3cc05931683d396b5ae2ea8952adceeb9a82ab9

10 years agoMerge "archive: Use an empty directory for submodules"
Dave Borowitz [Fri, 27 Dec 2013 17:30:07 +0000 (12:30 -0500)]
Merge "archive: Use an empty directory for submodules"

10 years agoMerge "archive: Include entries for directories"
Dave Borowitz [Fri, 27 Dec 2013 17:29:37 +0000 (12:29 -0500)]
Merge "archive: Include entries for directories"

10 years agoarchive: Use an empty directory for submodules 49/17949/7
Jonathan Nieder [Sat, 2 Nov 2013 03:28:58 +0000 (20:28 -0700)]
archive: Use an empty directory for submodules

When encountering a submodule entry, "jgit archive" tries to write its
content verbatim as an entry to the archive, which fails with a
JGitInternalException wrapping a MissingObjectException because the
submodule repository commits are typically not part of the
superproject.

When a subproject is available (for example because it has been
checked out as a subdirectory of a superproject worktree), it would be
nice to recurse into it and make one archive recording the state of
the entire project.  Unfortunately sometimes the subproject is not
available or it can be hard to find (e.g., it can be on another
server).  Even when some subprojects are available, "jgit archive"
should not produce different output for the same tree depending on
which subprojects it has easy access to, so there is no obvious good
default behavior that recurses without relying on access to all
subprojects.

Instead, replace each submodule entry with a placeholder empty
directory.  "git archive" does the same.

Change-Id: I1295086037b77fc948b3f93c21d47341e25483e5
Signed-off-by: Jonathan Nieder <jrn@google.com>
10 years agoarchive: Include entries for directories 66/20166/3
Jonathan Nieder [Fri, 27 Dec 2013 16:55:39 +0000 (08:55 -0800)]
archive: Include entries for directories

Entries for directories are optional and mostly wasted space in most
archive formats (except as a place to hang ownership and filesystem
permissions), but "git archive" includes them.  Follow suit.

This will make it easier in a later change to include empty
directories as placeholders for missing submodules.

Change-Id: I1810c686bcc9eb4d73498e4d3e763e18787b088a
Signed-off-by: Jonathan Nieder <jrn@google.com>
10 years ago[CLI] Add option --millis / -m to debug-show-dir-cache command 13/20113/2
Matthias Sohn [Fri, 20 Dec 2013 12:35:59 +0000 (13:35 +0100)]
[CLI] Add option --millis / -m to debug-show-dir-cache command

This is useful when comparing mtime displayed by
    $ jgit debug-show-dir-cache -m
with mtime displayed by
    $ git ls-files --debug
or
    $ stat "%m"

Change-Id: Id133ebe6f6093a56a6a6645e1c5bb18752fb2fd0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoMerge branch 'stable-3.2' 87/20087/1
Matthias Sohn [Thu, 19 Dec 2013 14:46:08 +0000 (15:46 +0100)]
Merge branch 'stable-3.2'

* stable-3.2:
  Prepare post 3.2.0 builds
  JGit v3.2.0.201312181205-r
  Revert "Fix for core.autocrlf=input resulting in modified file..."
  Fix for core.autocrlf=input resulting in modified file and unsmudge

Change-Id: I6650642c3511f5a41d673e561fec8204208d428d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoPrepare post 3.2.0 builds 09/20009/1 stable-3.2
Matthias Sohn [Wed, 18 Dec 2013 20:16:13 +0000 (21:16 +0100)]
Prepare post 3.2.0 builds

Change-Id: Ie2bfdee0c492e3d61d92acb04c5bef641f5f132f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoJGit v3.2.0.201312181205-r 97/19997/1 v3.2.0.201312181205-r
Matthias Sohn [Wed, 18 Dec 2013 17:05:20 +0000 (18:05 +0100)]
JGit v3.2.0.201312181205-r

Change-Id: Id00a8baf7d3ffefb210f03cd99f69d55411166fe
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoRevert "Fix for core.autocrlf=input resulting in modified file..." 77/19977/1
Matthias Sohn [Wed, 18 Dec 2013 14:30:53 +0000 (15:30 +0100)]
Revert "Fix for core.autocrlf=input resulting in modified file..."

This reverts commit 1def0a1257d32bce08e751242733cda3b2036cb8.

We found this fix uncovers problems with unsmudged DirCacheEntry's. This
surfaced because egit's ui test CreatePatchActionTest failed since jgit
computes a wrong status. JGit doesn't detect modified content in now
unsmudged entries. Hence revert this change until these problems are
fixed.

Change-Id: Ia04277ce316d35fc5b0d82c93d2078b856af24bb
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
10 years agoFix for core.autocrlf=input resulting in modified file and unsmudge 97/19397/16
Robin Rosenberg [Thu, 21 Nov 2013 16:40:27 +0000 (17:40 +0100)]
Fix for core.autocrlf=input resulting in modified file and unsmudge

Bug: 372834
Change-Id: Idafad150553df14827eccfde2e3b95760e16a8b6
Also-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoarchive: Prepend a specified prefix to all entry filenames 87/19887/3
Jonathan Nieder [Tue, 17 Dec 2013 19:22:46 +0000 (11:22 -0800)]
archive: Prepend a specified prefix to all entry filenames

Common practice when distributing tarballs is to prefix all entries
with a single directory name so when the tarball is extracted it all
falls neatly into a single directory.  Add a setPrefix() method to
ArchiveCommand to support this.

Change-Id: I16b2832ef98c30977f6b77b646728b83d93c196f
Signed-off-by: Jonathan Nieder <jrn@google.com>
10 years agoMerge branch 'stable-3.2' 62/19762/1
Matthias Sohn [Fri, 13 Dec 2013 11:55:50 +0000 (12:55 +0100)]
Merge branch 'stable-3.2'

* stable-3.2:
  Canonicalize worktree path in BaseRepositoryBuilder if set via config
  Add missing @since tags for new public methods in Config
  Don't use API exception in RebaseTodoLine
  Fix aborting rebase with detached head
  Add recursive variant of Config.getNames() methods
  Prepare post 3.2.0-m3 builds
  JGit v3.2.0.201311130903-m3

Change-Id: Iad6e284e0fe2c7950f156372b334e47ebd82f3f7
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoCanonicalize worktree path in BaseRepositoryBuilder if set via config 46/19546/2
Robin Stocker [Mon, 9 Dec 2013 23:13:08 +0000 (00:13 +0100)]
Canonicalize worktree path in BaseRepositoryBuilder if set via config

This is the case for submodules in .git/modules, which typically have a
worktree config of "../../../dir". This can confuse callers, which e.g.
try to call Repository.stripWorkDir with it.

Bug: 423644
Change-Id: I0c00953f73f9316a66d0fc10eab52d8779c88f00
Signed-off-by: Robin Stocker <robin@nibor.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoAdd missing @since tags for new public methods in Config 73/19673/2
Matthias Sohn [Tue, 10 Dec 2013 17:17:34 +0000 (18:17 +0100)]
Add missing @since tags for new public methods in Config

Change-Id: I3b7937577c897a7e298ee431bd8c052cdb293dd9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoDon't use API exception in RebaseTodoLine 98/19598/3
Christian Halstrick [Tue, 10 Dec 2013 10:06:10 +0000 (11:06 +0100)]
Don't use API exception in RebaseTodoLine

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>
10 years agoMerge "Fix aborting rebase with detached head" into stable-3.2
Robin Rosenberg [Tue, 10 Dec 2013 21:15:55 +0000 (16:15 -0500)]
Merge "Fix aborting rebase with detached head" into stable-3.2

10 years agoFix aborting rebase with detached head 86/19586/1
Stefan Lay [Tue, 10 Dec 2013 14:54:48 +0000 (15:54 +0100)]
Fix aborting rebase with detached head

Bug: 423670
Change-Id: Ia6052867f85d4974c4f60ee5a6c820501e8d2427

10 years agoAdd recursive variant of Config.getNames() methods 29/19429/1
Matthias Sohn [Sun, 1 Dec 2013 00:19:35 +0000 (01:19 +0100)]
Add recursive variant of Config.getNames() methods

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>
10 years agoPrepare 3.3.0-SNAPSHOT builds 09/19409/1
Matthias Sohn [Thu, 5 Dec 2013 21:37:16 +0000 (22:37 +0100)]
Prepare 3.3.0-SNAPSHOT builds

Change-Id: I7c7e7c1beec0c5d15b96c14c73ce93e3f09855c8
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoMerge branch 'master' into stable-3.2 49/19349/1
Matthias Sohn [Wed, 4 Dec 2013 23:14:08 +0000 (00:14 +0100)]
Merge branch 'master' into stable-3.2

* master:
  Implement rebase.autostash
  CLI status should support --porcelain
  More helpful InvalidPathException messages (include reason)
  Fix IgnoreRule#isMatch returning wrong result due to missing reset
  Fix exception on conflicts with recursive merge
  Add pgm test for checkout of existing branch with checkout conflict
  Fix broken symbolic links on Cygwin.
  Do not allow non-ff-rebase if there are uncommitted changes
  Manage CheckoutConflictException in pgm
  Fix handling of file/folder conflicts during a checkout
  Mention null return in Javadoc of Config#getString
  Fix applying stash on other commit
  Use static factory methods instead of overloaded constructors
  Break up GCTest to run in parallel
  Modify T0004_PackReaderTest to use existing pack
  Move SampleDataRepositoryTestCase to org.eclipse.jgit.test
  Support running from JARs in JGitTestUtil
  Cache SimpleDateFormat in GitDateParser per locale
  Fix FIXUP error for blank lines in interactive rebase
  Fix parsing Rebase todo lines when commit message is missing
  Add close() method to API
  Update Jetty to 7.6.14.v20131031
  Document that path parameters should use '/' as separator
  Improve Javadoc for typeHint parameter
  Do not update the ref hot bit when checking isIndexLoaded
  Don't delete .idx file if .pack file can't be deleted

Change-Id: I02abfc09000d0fe9bdf4331c65bec7046f586179
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoImplement rebase.autostash 09/19209/4
Stefan Lay [Mon, 2 Dec 2013 16:24:09 +0000 (17:24 +0100)]
Implement rebase.autostash

This feature was introduced in native git with version 1.8.4.

Bug: 422951
Change-Id: I42f194174d64d7ada6631e2156c2a7bf93b5e91c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoMerge "CLI status should support --porcelain"
Matthias Sohn [Wed, 4 Dec 2013 14:26:16 +0000 (09:26 -0500)]
Merge "CLI status should support --porcelain"

10 years agoCLI status should support --porcelain 90/17590/3
Kaloyan Raev [Thu, 10 Oct 2013 20:08:14 +0000 (23:08 +0300)]
CLI status should support --porcelain

Add support for the machine-readable output format along with the
existing default long format.

Bug: 419968
Change-Id: I37fe5121b4c9dbae1106b1d18e9fdc134070a9dd
Signed-off-by: Kaloyan Raev <kaloyan.r@zend.com>
10 years agoMerge "More helpful InvalidPathException messages (include reason)"
Christian Halstrick [Wed, 4 Dec 2013 08:23:56 +0000 (03:23 -0500)]
Merge "More helpful InvalidPathException messages (include reason)"

10 years agoMore helpful InvalidPathException messages (include reason) 12/15312/3
Robin Stocker [Sat, 10 Aug 2013 15:37:20 +0000 (17:37 +0200)]
More helpful InvalidPathException messages (include reason)

Instead of just a generic "Invalid path: $path", add a reason for the
cases where it's not obvious what the problem is (e.g. "aux" being
reserved on Windows).

Bug: 413915
Change-Id: Ia6436bd2560e4f049c92d9aac907cb87348605e0
Signed-off-by: Robin Stocker <robin@nibor.org>
10 years agoFix IgnoreRule#isMatch returning wrong result due to missing reset 71/19271/1
Robin Stocker [Tue, 3 Dec 2013 21:25:40 +0000 (22:25 +0100)]
Fix IgnoreRule#isMatch returning wrong result due to missing reset

The matcher has to be reset before using it, as was already done in the
other cases.

Bug: 423039
Change-Id: I87abaa7ad7f0aac8651db6e88d41427cacb4d776
Also-by: Ondrej Vrabec <ovrabec@netbeans.org>
Signed-off-by: Robin Stocker <robin@nibor.org>
10 years agoFix exception on conflicts with recursive merge 36/17436/3
Robin Stocker [Wed, 16 Oct 2013 21:51:24 +0000 (23:51 +0200)]
Fix exception on conflicts with recursive merge

When there are conflicts with a recursive merge, the conflicting paths
are stored in unmergedPaths (field in ResolveMerger). Later, when the
MergeResult is constructed in MergeCommand, getBaseCommit is called,
which computes the merge base a second time.

In case of RecursiveMerger, getBaseCommit merges the multiple merge
bases into one. It does this not by creating a new ResolveMerger but
instead calling mergeTrees. The problem with mergeTrees is that at the
end, it checks if unmergedPaths is non-empty and returns false in that
case.

Because unmergedPaths was already non-empty because of the real merge,
it thinks that there were conflicts when computing the merge base again,
when there really were none.

This can be fixed by storing the base commit when computing it and then
returning that instead of computing it a second time.

Note that another possible fix would be to just use a new ResolveMerger
for merging the merge bases instead. This would also remove the need to
remember the old value of dircache, inCore and workingTreeIterator (see
RecursiveMerger#getBaseCommit).

Bug: 419641
Change-Id: Ib2ebf4e177498c22a9098aa225e3cfcf16bbd958
Signed-off-by: Robin Stocker <robin@nibor.org>
10 years agoAdd pgm test for checkout of existing branch with checkout conflict 59/19059/8
Axel Richard [Thu, 28 Nov 2013 13:14:32 +0000 (14:14 +0100)]
Add pgm test for checkout of existing branch with checkout conflict

Add a test that checks out an existing branch with a dirty working tree
and involves a checkout conflict. This test should pass with a message:
"error: Your local changes to the following files would be overwritten
by checkout: a".

Change-Id: I5428a04a7630d9e0101404ea1aedd796f127bd7d
Signed-off-by: Axel Richard <axel.richard@obeo.fr>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoFix broken symbolic links on Cygwin. 91/18691/2
John Ross [Thu, 21 Nov 2013 19:48:42 +0000 (13:48 -0600)]
Fix broken symbolic links on Cygwin.

Bad files from symbolic links were being generated on Cygwin and
required resolution by the appropriate FS. Pass FS to getSymRef and call
FS.resolve before asking if the file is absolute.

Bug: 419494
Change-Id: I74aa7a285954cade77f41df6f813b6dafb5d6cd7
Signed-off-by: John Ross <jwross@us.ibm.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoDo not allow non-ff-rebase if there are uncommitted changes 77/18977/7
Stefan Lay [Wed, 27 Nov 2013 10:01:47 +0000 (11:01 +0100)]
Do not allow non-ff-rebase if there are uncommitted changes

With this change jgit checks for uncommitted changes before a rebase is
started. This is also done by native git. One reason is that an abort
would override such changes. The check is skipped for a non-interactive
rebase when it will result in a fast-forward. In this case there can be
only checkout conflicts but no merge conflicts, so there cannot be an
abort which overrides uncommitted changes.

Bug: 422352
Change-Id: I1e0b59b2a4d80a686b67a6729e441924362b1236
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoManage CheckoutConflictException in pgm 00/19100/3
Axel Richard [Fri, 29 Nov 2013 10:06:11 +0000 (11:06 +0100)]
Manage CheckoutConflictException in pgm

Change-Id: I49f92bf7cafc80404f0bd07d62ff4b25e4db6e7c
Signed-off-by: Axel Richard <axel.richard@obeo.fr>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
10 years agoFix handling of file/folder conflicts during a checkout 78/19078/3
Christian Halstrick [Thu, 28 Nov 2013 17:00:36 +0000 (18:00 +0100)]
Fix handling of file/folder conflicts during a checkout

JGit was not handling certain file/folder conflicts during a checkout
correctly. This was reported by Axel Richard in
http://dev.eclipse.org/mhonarc/lists/jgit-dev/msg02358.html.
This commit fixes this problem.

Still JGit behaves intentionally different than native git.
If HEAD contains a tree, and workingtree, Index and Merge contain a file
with same content ... then JGit allows a conflict free checkout of
Merge. Native git always complains that it doesn't want to overwrite
local changes. But there is no need to update the working tree because
Index and Merge are already equal.

A shell script which shows how native git behaves can be found here.
https://gist.github.com/chalstrick/7694959#file-gistfile1-sh

Change-Id: Ifd6a68974d61cd4fa23bc575f3a40773db66cafc
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
10 years agoMention null return in Javadoc of Config#getString 31/19131/1
Robin Stocker [Fri, 29 Nov 2013 16:16:23 +0000 (17:16 +0100)]
Mention null return in Javadoc of Config#getString

Change-Id: Ibf09395fb3ac4d5d8f47872ed8f239c821bbee7a
Signed-off-by: Robin Stocker <robin@nibor.org>
10 years agoFix applying stash on other commit 80/18980/3
Stefan Lay [Wed, 27 Nov 2013 16:10:39 +0000 (17:10 +0100)]
Fix applying stash on other commit

Applying a stash on another commit failed because the merge base for the
cherry-pick of the stashed index state was not corectly set.

Bug: 422684
Change-Id: I9355352b2b9a7abefa3248ca3c17a9301177d0d6
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
10 years agoUse static factory methods instead of overloaded constructors 53/19053/2
Stefan Lay [Thu, 28 Nov 2013 10:18:16 +0000 (11:18 +0100)]
Use static factory methods instead of overloaded constructors

Change-Id: Ib10e0798dcfb9f1b611caec393926c95eff4c2a2

11 years agoBreak up GCTest to run in parallel 93/17993/2
Shawn Pearce [Fri, 1 Nov 2013 18:13:25 +0000 (12:13 -0600)]
Break up GCTest to run in parallel

Separate some sections of the GC tests into different test classes.
Individual classes permits running in parallel under Buck, reducing
test latency if there are sufficient CPUs available.

Change-Id: I5eb177f78efd4aa8ac857d0d8b1a1fd81ca07790

11 years agoModify T0004_PackReaderTest to use existing pack 92/17992/2
Shawn Pearce [Fri, 1 Nov 2013 17:32:04 +0000 (11:32 -0600)]
Modify T0004_PackReaderTest to use existing pack

Instead of making a new PackFile from a resource, lookup
the existing PackFile that was already created by the base
class SampleDataRepositoryTestCase.

Change-Id: Ib5da18c832ae0cb29703706b99e99503f5cc819d

11 years agoMove SampleDataRepositoryTestCase to org.eclipse.jgit.test 91/17991/2
Shawn Pearce [Fri, 1 Nov 2013 16:51:52 +0000 (10:51 -0600)]
Move SampleDataRepositoryTestCase to org.eclipse.jgit.test

This class requires resources which are private to another
bundle. Move the class next to its resources, removing an
odd cross bundle dependency.

Change-Id: I30d5568b09ea5fb3bd3bb60b602f149c0867f49a

11 years agoSupport running from JARs in JGitTestUtil 90/17990/2
Shawn Pearce [Fri, 1 Nov 2013 16:49:06 +0000 (10:49 -0600)]
Support running from JARs in JGitTestUtil

Buck invokes JUnit tests from compiled JARs, not class directories.
When copying a resource back to the filesystem a jar: style URL is
obtained from the ClassLoader.

Change-Id: I28d702484ec13b0b309b87990da867050e4b5ec6

11 years agoCache SimpleDateFormat in GitDateParser per locale 93/18093/3
Matthias Sohn [Tue, 5 Nov 2013 15:57:06 +0000 (16:57 +0100)]
Cache SimpleDateFormat in GitDateParser per locale

Otherwise switching to another locale yields wrong results when parsing
date strings in GitDateParser. Since the MockSystemReader explicitly
uses english locale the tests need to specify the locale to be used when
parsing date strings.

Bug: 420772
Change-Id: I313ef6b1e9ef3bfb43d929ce34712ebd21f2cd9c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoFix FIXUP error for blank lines in interactive rebase 66/18666/3
Stefan Lay [Thu, 21 Nov 2013 13:00:30 +0000 (14:00 +0100)]
Fix FIXUP error for blank lines in interactive rebase

Empty lines of discarded commit messages were added to the commit
message because they were not commented out properly.

Bug: 422246
Change-Id: I263e8a6b30a3392d8b4f09c0695505068a0a485d
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
11 years agoFix parsing Rebase todo lines when commit message is missing 69/18669/1
Stefan Lay [Thu, 21 Nov 2013 13:46:12 +0000 (14:46 +0100)]
Fix parsing Rebase todo lines when commit message is missing

Bug: 422253
Change-Id: I9739b16c91d2df31a481360a712d3479a4eeee2e
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
11 years agoAdd close() method to API 60/18560/4
Christian Halstrick [Tue, 19 Nov 2013 11:44:19 +0000 (12:44 +0100)]
Add close() method to API

The API in org.eclipse.jgit.api does allow to open repositories but it
did not allow to close them. This commit fixes this and allows
API users to close a repository without having to use lower-level
classes.

Bug: 420502
Change-Id: I866225cc8534ae5916113fa24eb1c7513fd4472e
Signed-off-by: Christian Halstrick <christian.halstrick@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoUpdate Jetty to 7.6.14.v20131031 12/18512/1
Matthias Sohn [Mon, 18 Nov 2013 16:57:30 +0000 (17:57 +0100)]
Update Jetty to 7.6.14.v20131031

Change-Id: Icb7f91e40d2a216fda519c64a94d5ad18eac683c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoMerge "Don't delete .idx file if .pack file can't be deleted"
Robin Rosenberg [Mon, 18 Nov 2013 04:50:41 +0000 (23:50 -0500)]
Merge "Don't delete .idx file if .pack file can't be deleted"

11 years agoDocument that path parameters should use '/' as separator 45/18445/1
Robin Stocker [Fri, 15 Nov 2013 18:20:02 +0000 (19:20 +0100)]
Document that path parameters should use '/' as separator

Bug: 421600
Change-Id: I505d994518aa608aaa797252433b6c97e2def5b4
Signed-off-by: Robin Stocker <robin@nibor.org>
11 years agoImprove Javadoc for typeHint parameter 70/18370/1
Robin Stocker [Wed, 13 Nov 2013 19:14:16 +0000 (20:14 +0100)]
Improve Javadoc for typeHint parameter

Link to an example type constant.

Change-Id: I214ab834fa02901a38e6048a94a5224b30c5d93f
Signed-off-by: Robin Stocker <robin@nibor.org>
11 years agoDo not update the ref hot bit when checking isIndexLoaded 62/18362/1
Colby Ranger [Wed, 13 Nov 2013 23:19:03 +0000 (15:19 -0800)]
Do not update the ref hot bit when checking isIndexLoaded

DfsPackFile.isIndexLoaded() uses the DfsBlockCache.Ref.get() method
to check if the index loaded. However, using the get() method marks
a hot bit in the cache, which can cause the index to never be unloaded
and seem hotter than it really is. Add a has() method which only
checks if the value is not null and does not update the hot bit.

Change-Id: I7e9ed216f6e273e8f5d79ae573973197654419b4

11 years agoPrepare post 3.2.0-m3 builds 57/18357/1
Matthias Sohn [Wed, 13 Nov 2013 21:53:50 +0000 (22:53 +0100)]
Prepare post 3.2.0-m3 builds

Change-Id: I6ef4aa758a6a5d465d4c460178ca3050b8a30449
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoJGit v3.2.0.201311130903-m3 39/18339/1 v3.2.0.201311130903-m3
Matthias Sohn [Wed, 13 Nov 2013 14:04:05 +0000 (15:04 +0100)]
JGit v3.2.0.201311130903-m3

Change-Id: Icca089f4a60cc94123dc8bf61f7f76f501e08c4d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoDon't delete .idx file if .pack file can't be deleted 64/18264/2
Christian Halstrick [Mon, 11 Nov 2013 09:57:46 +0000 (10:57 +0100)]
Don't delete .idx file if .pack file can't be deleted

If during an garbage collection old packfiles are deleted it could
happen that on certain platforms the index file can be deleted but the
packfile can't be deleted (because someone locked the file). This led
to repositories with packfiles without corresponding index files. Those
zombie-packfiles potentially consume a lot of space on disk and it is
never tried to delete them again. Try to avoid this situation by
deleting packfiles first and don't try to delete the other files if we
can't delete the packfile. This gives us the chance to delete the
packfile during next GC.

This commit only improves the situation - there is still the chance for
orphan files during packfile deletion. We don't have an atomic delete
of multiple files .

Change-Id: I0a19ae630186f07d0cc7fe9df246fa1cedeca8f6

11 years agoUpdate to Ant 1.9.2 12/18212/2
Matthias Sohn [Fri, 8 Nov 2013 08:06:47 +0000 (09:06 +0100)]
Update to Ant 1.9.2

CQ: 7698
Change-Id: I2ae580041eb334c613969bc9d66d169d08c12c4d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoMerge "Add missing @since tags"
Matthias Sohn [Tue, 12 Nov 2013 23:09:02 +0000 (18:09 -0500)]
Merge "Add missing @since tags"

11 years agoAdd uses directives to ensure OSGi wires jgit bundles correctly 01/18301/2
Matthias Sohn [Tue, 12 Nov 2013 16:57:30 +0000 (17:57 +0100)]
Add uses directives to ensure OSGi wires jgit bundles correctly

See
http://spring.io/blog/2008/10/20/understanding-the-osgi-uses-directive/

Bug: 420903
Change-Id: I3706a2b8f695d4ce0ee2333722ed7b8d31032f1e
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoIntroduce Kepler and Luna target platform 99/18299/3
Matthias Sohn [Tue, 12 Nov 2013 16:42:53 +0000 (17:42 +0100)]
Introduce Kepler and Luna target platform

We need this to enable building jgit with dependencies from Orbit
version used by Luna.

Default target platform is Kepler. In order to use Luna run

mvn clean install -P platform-luna -f org.eclipse.jgit.packaging/pom.xml

Change-Id: I544516d97067f45d1034929b534ad1600136614d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoUpdate build to use Tycho 0.19 59/18259/1
Matthias Sohn [Mon, 11 Nov 2013 10:58:19 +0000 (11:58 +0100)]
Update build to use Tycho 0.19

Change-Id: I90f71f2612a934e83a0af8dccfe08592e4532ddf
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years ago[findBugs] Remove nonsense call 51/18251/2
Matthias Sohn [Sat, 9 Nov 2013 23:28:22 +0000 (00:28 +0100)]
[findBugs] Remove nonsense call

Result of c.containsAll(c)  is always true for any collection c.

Change-Id: I853cbb44bdc03e2b54229bb9c36ae42e02dcc4d9
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoRemove unnecessary @SuppressWarnings("null") 50/18250/2
Matthias Sohn [Sat, 9 Nov 2013 23:20:54 +0000 (00:20 +0100)]
Remove unnecessary @SuppressWarnings("null")

Change-Id: I5bddcdab2c5cc92622144a7b207bad90cb601609
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoGrant access to internal jgit package to org.eclipse.jgit.junit 49/18249/2
Matthias Sohn [Sat, 9 Nov 2013 23:19:13 +0000 (00:19 +0100)]
Grant access to internal jgit package to org.eclipse.jgit.junit

This silences some discouraged access warnings issued since
TestRepository uses PackWriter which is in an internal package.

Change-Id: Ic9c4631e237c2fe1996c518328ecc2a9ab5c348b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoRemove duplicate package export 48/18248/2
Matthias Sohn [Sat, 9 Nov 2013 23:17:00 +0000 (00:17 +0100)]
Remove duplicate package export

Change-Id: I185610f12069cd4ce1b27650581375b6b3019d2f
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoDon't import non-existing package org.eclipse.jgit.java7 47/18247/1
Matthias Sohn [Sat, 9 Nov 2013 23:01:51 +0000 (00:01 +0100)]
Don't import non-existing package org.eclipse.jgit.java7

Change-Id: Idc48cb1995050913498d2bad97a8e6e330dee94c
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoAdd missing @since tags 11/18211/2
Matthias Sohn [Fri, 8 Nov 2013 08:04:56 +0000 (09:04 +0100)]
Add missing @since tags

Change-Id: Ic4fabec818d6fe336d3256ddc95934271272914a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoInteractive Rebase: Do actions if there were conflicts 18/18118/5
Stefan Lay [Wed, 6 Nov 2013 10:16:34 +0000 (11:16 +0100)]
Interactive Rebase: Do actions if there were conflicts

If a commit was marked for edit, reword, squash or fixup, but the
interactive rebase stopped because of a conflict, the step was not done
after conflict resolution. This is done now.

Change-Id: If8e7ccc50469165744f2b8a53d180f9ba0f72330
Signed-off-by: Stefan Lay <stefan.lay@sap.com>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
11 years agoRebase interactive should finish if last step is edit 16/18116/1
Stefan Lay [Wed, 6 Nov 2013 08:43:31 +0000 (09:43 +0100)]
Rebase interactive should finish if last step is edit

When the last step was an edit step, rebase interactive did not finish
after continuing the rebase. Instead, it returned with the status
FAST_FORWARD.

Change-Id: Ib19857474ac089dfeaae665ad5e95c66c21099b0

11 years agoMerge changes I40f2311c,I3c419094
Matthias Sohn [Tue, 5 Nov 2013 22:03:35 +0000 (17:03 -0500)]
Merge changes I40f2311c,I3c419094

* changes:
  Add additional RebaseResult for editing commits
  Add Squash/Fixup support for rebase interactive in RebaseCommand