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>
This commit is contained in:
Axel Richard 2013-11-29 11:06:11 +01:00 committed by Matthias Sohn
parent af40635aba
commit c95e4fb909
3 changed files with 12 additions and 0 deletions

View File

@ -36,6 +36,8 @@ cantFindGitDirectory=error: can't find git directory
cantWrite=Can't write {0} cantWrite=Can't write {0}
changesNotStagedForCommit=Changes not staged for commit: changesNotStagedForCommit=Changes not staged for commit:
changesToBeCommitted=Changes to be committed: changesToBeCommitted=Changes to be committed:
checkoutConflict=error: Your local changes to the following files would be overwritten by checkout:
checkoutConflictPathLine=\t{0}
commitLabel=commit commitLabel=commit
configFileNotFound=configuration file {0} not found configFileNotFound=configuration file {0} not found
conflictingUsageOf_git_dir_andArguments=conflicting usage of --git-dir and arguments conflictingUsageOf_git_dir_andArguments=conflicting usage of --git-dir and arguments

View File

@ -1,5 +1,6 @@
/* /*
* Copyright (C) 2010, 2012 Chris Aniszczyk <caniszczyk@gmail.com> * Copyright (C) 2010, 2012 Chris Aniszczyk <caniszczyk@gmail.com>
* Copyright (C) 2013, Obeo
* and other copyright owners as documented in the project's IP log. * and other copyright owners as documented in the project's IP log.
* *
* This program and the accompanying materials are made available * This program and the accompanying materials are made available
@ -47,6 +48,7 @@
import org.eclipse.jgit.api.CheckoutCommand; import org.eclipse.jgit.api.CheckoutCommand;
import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.CheckoutConflictException;
import org.eclipse.jgit.api.errors.RefAlreadyExistsException; import org.eclipse.jgit.api.errors.RefAlreadyExistsException;
import org.eclipse.jgit.api.errors.RefNotFoundException; import org.eclipse.jgit.api.errors.RefNotFoundException;
import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Constants;
@ -107,6 +109,11 @@ protected void run() throws Exception {
} catch (RefAlreadyExistsException e) { } catch (RefAlreadyExistsException e) {
throw die(MessageFormat.format(CLIText.get().branchAlreadyExists, throw die(MessageFormat.format(CLIText.get().branchAlreadyExists,
name)); name));
} catch (CheckoutConflictException e) {
outw.println(CLIText.get().checkoutConflict);
for (String path : e.getConflictingPaths())
outw.println(MessageFormat.format(
CLIText.get().checkoutConflictPathLine, path));
} }
} }
} }

View File

@ -1,5 +1,6 @@
/* /*
* Copyright (C) 2010, 2013 Sasa Zivkov <sasa.zivkov@sap.com> * Copyright (C) 2010, 2013 Sasa Zivkov <sasa.zivkov@sap.com>
* Copyright (C) 2013, Obeo
* and other copyright owners as documented in the project's IP log. * and other copyright owners as documented in the project's IP log.
* *
* This program and the accompanying materials are made available * This program and the accompanying materials are made available
@ -106,6 +107,8 @@ public static String formatLine(String line) {
/***/ public String cantWrite; /***/ public String cantWrite;
/***/ public String changesNotStagedForCommit; /***/ public String changesNotStagedForCommit;
/***/ public String changesToBeCommitted; /***/ public String changesToBeCommitted;
/***/ public String checkoutConflict;
/***/ public String checkoutConflictPathLine;
/***/ public String commitLabel; /***/ public String commitLabel;
/***/ public String conflictingUsageOf_git_dir_andArguments; /***/ public String conflictingUsageOf_git_dir_andArguments;
/***/ public String couldNotCreateBranch; /***/ public String couldNotCreateBranch;