Merge branch 'stable-1.2'
* stable-1.2: Fix version.sh Throw API exception when MergeCommand hits checkout conflicts Add methods for configuring platform emulation Fix history rendering not to occupy too many lanes Fix History rendering Change-Id: If71cc760423ae2b76c7435ca4830edc1745556de Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
commit
e11af56828
|
@ -150,4 +150,34 @@ public TimeZone getTimeZone() {
|
|||
public Locale getLocale() {
|
||||
return Locale.US;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign some properties for the currently executing platform
|
||||
*/
|
||||
public void setCurrentPlatform() {
|
||||
setProperty("os.name", System.getProperty("os.name"));
|
||||
setProperty("file.separator", System.getProperty("file.separator"));
|
||||
setProperty("path.separator", System.getProperty("path.separator"));
|
||||
setProperty("line.separator", System.getProperty("line.separator"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Emulate Windows
|
||||
*/
|
||||
public void setWindows() {
|
||||
setProperty("os.name", "Windows");
|
||||
setProperty("file.separator", "\\");
|
||||
setProperty("path.separator", ";");
|
||||
setProperty("line.separator", "\r\n");
|
||||
}
|
||||
|
||||
/**
|
||||
* Emulate Unix
|
||||
*/
|
||||
public void setUnix() {
|
||||
setProperty("os.name", "*nix"); // Essentially anything but Windows
|
||||
setProperty("file.separator", "/");
|
||||
setProperty("path.separator", ":");
|
||||
setProperty("line.separator", "\n");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -46,6 +46,7 @@
|
|||
import java.io.IOException;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -122,6 +123,7 @@ public MergeResult call() throws NoHeadException,
|
|||
Integer.valueOf(commits.size())));
|
||||
|
||||
RevWalk revWalk = null;
|
||||
DirCacheCheckout dco = null;
|
||||
try {
|
||||
Ref head = repo.getRef(Constants.HEAD);
|
||||
if (head == null)
|
||||
|
@ -147,7 +149,7 @@ public MergeResult call() throws NoHeadException,
|
|||
ObjectId headId = head.getObjectId();
|
||||
if (headId == null) {
|
||||
revWalk.parseHeaders(srcCommit);
|
||||
DirCacheCheckout dco = new DirCacheCheckout(repo,
|
||||
dco = new DirCacheCheckout(repo,
|
||||
repo.lockDirCache(), srcCommit.getTree());
|
||||
dco.setFailOnConflict(true);
|
||||
dco.checkout();
|
||||
|
@ -176,7 +178,7 @@ public MergeResult call() throws NoHeadException,
|
|||
// FAST_FORWARD detected: skip doing a real merge but only
|
||||
// update HEAD
|
||||
refLogMessage.append(": " + MergeStatus.FAST_FORWARD);
|
||||
DirCacheCheckout dco = new DirCacheCheckout(repo,
|
||||
dco = new DirCacheCheckout(repo,
|
||||
headCommit.getTree(), repo.lockDirCache(),
|
||||
srcCommit.getTree());
|
||||
dco.setFailOnConflict(true);
|
||||
|
@ -214,7 +216,7 @@ public MergeResult call() throws NoHeadException,
|
|||
refLogMessage.append(mergeStrategy.getName());
|
||||
refLogMessage.append('.');
|
||||
if (noProblems) {
|
||||
DirCacheCheckout dco = new DirCacheCheckout(repo,
|
||||
dco = new DirCacheCheckout(repo,
|
||||
headCommit.getTree(), repo.lockDirCache(),
|
||||
merger.getResultTreeId());
|
||||
dco.setFailOnConflict(true);
|
||||
|
@ -250,6 +252,10 @@ public MergeResult call() throws NoHeadException,
|
|||
}
|
||||
}
|
||||
}
|
||||
} catch (org.eclipse.jgit.errors.CheckoutConflictException e) {
|
||||
List<String> conflicts = (dco == null) ? Collections
|
||||
.<String> emptyList() : dco.getConflicts();
|
||||
throw new CheckoutConflictException(conflicts, e);
|
||||
} catch (IOException e) {
|
||||
throw new JGitInternalException(
|
||||
MessageFormat.format(
|
||||
|
|
|
@ -48,6 +48,20 @@ public class CheckoutConflictException extends GitAPIException {
|
|||
private static final long serialVersionUID = 1L;
|
||||
private List<String> conflictingPaths;
|
||||
|
||||
/**
|
||||
* Translate internal exception to API exception
|
||||
*
|
||||
* @param conflictingPaths
|
||||
* list of conflicting paths
|
||||
*
|
||||
* @param e
|
||||
*/
|
||||
public CheckoutConflictException(List<String> conflictingPaths,
|
||||
org.eclipse.jgit.errors.CheckoutConflictException e) {
|
||||
super(e.getMessage(), e);
|
||||
this.conflictingPaths = conflictingPaths;
|
||||
}
|
||||
|
||||
CheckoutConflictException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
@ -73,6 +87,7 @@ public List<String> getConflictingPaths() {
|
|||
|
||||
/**
|
||||
* Adds a new conflicting path
|
||||
*
|
||||
* @param conflictingPath
|
||||
* @return {@code this}
|
||||
*/
|
||||
|
|
|
@ -232,7 +232,9 @@ private void handleBlockedLanes(final int index,
|
|||
if (newPos == -1)
|
||||
newPos = positionsAllocated++;
|
||||
freePositions.add(commit.lane.getPosition());
|
||||
activeLanes.remove(commit.lane);
|
||||
commit.lane.position = newPos;
|
||||
activeLanes.add(commit.lane);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ perl -pi~ -e '
|
|||
$seen_version = 0;
|
||||
$old_argv = $ARGV;
|
||||
}
|
||||
if ($seen_version < 6) {
|
||||
if ($seen_version < 5) {
|
||||
$seen_version++ if
|
||||
s{<(version)>.*</\1>}{<${1}>'"$POM_V"'</${1}>};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue