use of org.tigris.subversion.subclipse.core.ISVNLocalResource in project subclipse by subclipse.
the class ResolveSynchronizeAction method getSyncInfoFilter.
/* (non-Javadoc)
* @see org.eclipse.team.ui.synchronize.SynchronizeModelAction#getSyncInfoFilter()
*/
protected FastSyncInfoFilter getSyncInfoFilter() {
return new FastSyncInfoFilter() {
public boolean select(SyncInfo info) {
IStructuredSelection selection = getStructuredSelection();
Iterator iter = selection.iterator();
while (iter.hasNext()) {
ISynchronizeModelElement element = (ISynchronizeModelElement) iter.next();
if (element.getResource() instanceof IFile) {
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(element.getResource());
try {
if (svnResource.getStatus().isTextConflicted() || svnResource.getStatus().hasTreeConflict())
return true;
} catch (SVNException e) {
}
}
}
return false;
}
};
}
use of org.tigris.subversion.subclipse.core.ISVNLocalResource in project subclipse by subclipse.
the class ReplaceWithBranchTagWizardMainPage method getCommonRoot.
private String getCommonRoot() {
ArrayList<String> urlList = new ArrayList<String>();
for (IResource resource : resources) {
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource);
try {
String anUrl = svnResource.getStatus().getUrlString();
if (anUrl != null)
urlList.add(anUrl);
} catch (SVNException e1) {
}
}
urlStrings = new String[urlList.size()];
urlList.toArray(urlStrings);
if (urlStrings.length == 0)
return null;
String urlString = urlStrings[0];
if (urlStrings.length == 1)
return urlString;
String commonRoot = null;
tag1: for (int i = 0; i < urlString.length(); i++) {
String partialPath = urlString.substring(0, i + 1);
if (partialPath.endsWith("/")) {
// $NON-NLS-1$
for (int j = 1; j < urlStrings.length; j++) {
if (!urlStrings[j].startsWith(partialPath))
break tag1;
}
commonRoot = partialPath.substring(0, i);
}
}
return commonRoot;
}
use of org.tigris.subversion.subclipse.core.ISVNLocalResource in project subclipse by subclipse.
the class ResolveTreeConflictWizard method getLogMessages.
private ISVNLogMessage[] getLogMessages() throws Exception {
if (logMessages == null) {
ISVNClientAdapter svnClient = null;
try {
svnClient = svnResource.getRepository().getSVNClient();
IProject project = treeConflict.getResource().getProject();
ISVNLocalResource svnProject = SVNWorkspaceRoot.getSVNResourceFor(project);
SVNRevision revision1 = new SVNRevision.Number(treeConflict.getConflictDescriptor().getSrcLeftVersion().getPegRevision());
SVNRevision revision2 = new SVNRevision.Number(treeConflict.getConflictDescriptor().getSrcRightVersion().getPegRevision());
logMessages = svnClient.getLogMessages(svnProject.getUrl(), revision1, revision2, true);
} catch (Exception e) {
throw e;
} finally {
svnResource.getRepository().returnSVNClient(svnClient);
}
}
return logMessages;
}
use of org.tigris.subversion.subclipse.core.ISVNLocalResource in project subclipse by subclipse.
the class ResolveTreeConflictWizardMainPage method createControl.
public void createControl(Composite parent) {
ResolveTreeConflictWizard wizard = (ResolveTreeConflictWizard) getWizard();
treeConflict = wizard.getTreeConflict();
Composite outerContainer = new Composite(parent, SWT.NONE);
outerContainer.setLayout(new GridLayout());
outerContainer.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
Group detailsGroup = new Group(outerContainer, SWT.NONE);
detailsGroup.setText(Messages.ResolveTreeConflictWizardMainPage_conflictDescription);
GridLayout detailsLayout = new GridLayout();
detailsLayout.numColumns = 2;
detailsGroup.setLayout(detailsLayout);
detailsGroup.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
Label label = new Label(detailsGroup, SWT.NONE);
label.setText(treeConflict.getDescription());
GridData gd = new GridData();
gd.horizontalSpan = 2;
label.setLayoutData(gd);
label = new Label(detailsGroup, SWT.NONE);
gd = new GridData();
gd.horizontalSpan = 2;
label.setLayoutData(gd);
label = new Label(detailsGroup, SWT.NONE);
label.setText(Messages.ResolveTreeConflictWizardMainPage_sourceLeft);
label = new Label(detailsGroup, SWT.WRAP);
if (treeConflict.getConflictDescriptor().getSrcLeftVersion() != null) {
label.setText(treeConflict.getConflictDescriptor().getSrcLeftVersion().toString());
}
gd = new GridData();
gd.widthHint = 500;
label.setLayoutData(gd);
label = new Label(detailsGroup, SWT.NONE);
gd = new GridData();
gd.horizontalSpan = 2;
label.setLayoutData(gd);
label = new Label(detailsGroup, SWT.NONE);
label.setText(Messages.ResolveTreeConflictWizardMainPage_sourceRight);
label = new Label(detailsGroup, SWT.WRAP);
if (treeConflict.getConflictDescriptor().getSrcRightVersion() != null) {
label.setText(treeConflict.getConflictDescriptor().getSrcRightVersion().toString());
}
gd = new GridData();
gd.widthHint = 500;
label.setLayoutData(gd);
Group resolutionGroup = new Group(outerContainer, SWT.NONE);
resolutionGroup.setText(Messages.ResolveTreeConflictWizardMainPage_resolutionSteps);
GridLayout resolutionLayout = new GridLayout();
resolutionLayout.numColumns = 1;
resolutionGroup.setLayout(resolutionLayout);
resolutionGroup.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
SVNConflictDescriptor conflictDescriptor = treeConflict.getConflictDescriptor();
int reason = conflictDescriptor.getReason();
int action = conflictDescriptor.getAction();
int operation = conflictDescriptor.getOperation();
if ((reason == SVNConflictDescriptor.Reason.deleted || reason == SVNConflictDescriptor.Reason.missing) && action == SVNConflictDescriptor.Action.edit) {
if (operation == SVNConflictDescriptor.Operation._merge)
remoteCopiedTo = getRemoteCopiedTo(true);
else
copiedTo = getCopiedTo(false);
getRemoteResource(wizard, treeConflict);
compareButton = new Button(resolutionGroup, SWT.CHECK);
compareButton.setText(Messages.ResolveTreeConflictWizardMainPage_compare + conflictDescriptor.getSrcRightVersion().getPathInRepos() + Messages.ResolveTreeConflictWizardMainPage_compareTo);
compareLabel = new Label(resolutionGroup, SWT.NONE);
compareLabel.setText(Messages.ResolveTreeConflictWizardMainPage_compareEditorInformation);
compareLabel.setVisible(false);
mergeFromRepositoryButton = new Button(resolutionGroup, SWT.CHECK);
mergeFromRepositoryButton.setText(Messages.ResolveTreeConflictWizardMainPage_merge + conflictDescriptor.getSrcRightVersion().getPathInRepos() + Messages.ResolveTreeConflictWizardMainPage_intoTarget);
Group mergeTargetGroup = new Group(resolutionGroup, SWT.NONE);
mergeTargetGroup.setText(Messages.ResolveTreeConflictWizardMainPage_compareMergeTarget);
GridLayout mergeTargetLayout = new GridLayout();
mergeTargetLayout.numColumns = 2;
mergeTargetGroup.setLayout(mergeTargetLayout);
mergeTargetGroup.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
mergeTargetText = new Text(mergeTargetGroup, SWT.BORDER | SWT.READ_ONLY);
gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
mergeTargetText.setLayoutData(gd);
if (copiedTo != null) {
mergeTarget = File2Resource.getResource(copiedTo.getFile());
svnCompareResource = SVNWorkspaceRoot.getSVNResourceFor(mergeTarget);
mergeTargetText.setText(mergeTarget.getFullPath().toString());
} else if (remoteCopiedTo != null) {
mergeTarget = File2Resource.getResource(remoteCopiedTo.getFile());
svnCompareResource = SVNWorkspaceRoot.getSVNResourceFor(mergeTarget);
mergeTargetText.setText(mergeTarget.getFullPath().toString());
} else {
setPageComplete(false);
}
Button selectMergeTargetButton = new Button(mergeTargetGroup, SWT.PUSH);
selectMergeTargetButton.setText(Messages.ResolveTreeConflictWizardMainPage_browse);
selectMergeTargetButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
String title;
if (mergeFromRepositoryButton == null && compareButton != null)
title = Messages.ResolveTreeConflictWizardMainPage_selectCompareTarget;
else if (compareButton == null && mergeFromRepositoryButton != null)
title = Messages.ResolveTreeConflictWizardMainPage_selectMergeTarget;
else
title = Messages.ResolveTreeConflictWizardMainPage_selectCompareMergeTarget;
SelectionDialog dialog;
boolean container = isContainer();
if (container)
dialog = new ContainerSelectionDialog(getShell(), treeConflict.getResource().getProject(), false, title);
else
dialog = new ResourceSelectionDialog(getShell(), treeConflict.getResource().getProject(), title);
if (dialog.open() == SelectionDialog.OK) {
Object[] selectedResources = dialog.getResult();
IResource selectedResource = null;
if (selectedResources != null && selectedResources.length > 0) {
if (selectedResources[0] instanceof IResource)
selectedResource = (IResource) selectedResources[0];
if (selectedResources[0] instanceof Path) {
Path path = (Path) selectedResources[0];
selectedResource = ResourcesPlugin.getWorkspace().getRoot().getFolder(path);
}
}
if (selectedResource != null) {
mergeTarget = selectedResource;
svnCompareResource = SVNWorkspaceRoot.getSVNResourceFor(mergeTarget);
mergeTargetText.setText(mergeTarget.getFullPath().toString());
setPageComplete(true);
}
}
}
});
mergeFromRepositoryButton.setSelection(true);
SelectionListener choiceListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
if (compareButton.getSelection() || (mergeFromRepositoryButton != null && mergeFromRepositoryButton.getSelection()))
setPageComplete((mergeTargetText != null && mergeTargetText.getText().length() > 0) || (mergeTargetCombo != null && mergeTargetCombo.getText().length() > 0));
else
setPageComplete(true);
if (compareButton.getSelection()) {
compareLabel.setVisible(true);
mergeFromRepositoryButton.setEnabled(false);
markResolvedButton.setEnabled(false);
} else {
compareLabel.setVisible(false);
mergeFromRepositoryButton.setEnabled(true);
markResolvedButton.setEnabled(true);
}
}
};
compareButton.addSelectionListener(choiceListener);
if (mergeFromRepositoryButton != null)
mergeFromRepositoryButton.addSelectionListener(choiceListener);
}
if (reason == SVNConflictDescriptor.Reason.edited && action == SVNConflictDescriptor.Action.delete) {
compareButton = new Button(resolutionGroup, SWT.CHECK);
String name;
boolean container = isContainer();
if (container)
name = treeConflict.getResource().getFullPath().toString();
else
name = treeConflict.getResource().getName();
compareButton.setText(Messages.ResolveTreeConflictWizardMainPage_compare + name + Messages.ResolveTreeConflictWizardMainPage_to);
compareButton.setSelection(false);
if (operation != SVNConflictDescriptor.Operation._switch) {
compareLabel = new Label(resolutionGroup, SWT.NONE);
compareLabel.setText(Messages.ResolveTreeConflictWizardMainPage_compareEditorInformation);
compareLabel.setVisible(false);
}
compareResource2 = treeConflict.getResource();
if (operation == SVNConflictDescriptor.Operation._merge) {
try {
adds = wizard.getAdds();
} catch (SVNException e) {
SVNUIPlugin.log(IStatus.ERROR, e.getMessage(), e);
}
mergeFromRepositoryButton = new Button(resolutionGroup, SWT.CHECK);
if (container)
name = treeConflict.getResource().getFullPath().toString();
else
name = treeConflict.getResource().getName();
mergeFromRepositoryButton.setText(Messages.ResolveTreeConflictWizardMainPage_merge + name + Messages.ResolveTreeConflictWizardMainPage_into);
mergeFromRepositoryButton.setSelection(true);
mergeFromUrl = wizard.getSvnResource().getUrl().toString();
} else {
remoteCopiedTo = getRemoteCopiedTo(false);
}
Composite mergeTargetGroup = new Composite(resolutionGroup, SWT.NONE);
GridLayout mergeTargetLayout = new GridLayout();
mergeTargetLayout.numColumns = 2;
mergeTargetGroup.setLayout(mergeTargetLayout);
mergeTargetGroup.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
if (adds == null || adds.length == 0) {
mergeTargetText = new Text(mergeTargetGroup, SWT.BORDER | SWT.READ_ONLY);
gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
mergeTargetText.setLayoutData(gd);
} else {
mergeTargetCombo = new Combo(mergeTargetGroup, SWT.BORDER | SWT.READ_ONLY);
gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
mergeTargetCombo.setLayoutData(gd);
mergeTargetCombo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
ISVNStatus selectedAdd = adds[mergeTargetCombo.getSelectionIndex()];
mergeTarget = File2Resource.getResource(selectedAdd.getFile());
compareResource1 = mergeTarget;
}
});
}
if (adds != null && adds.length > 0) {
for (int i = 0; i < adds.length; i++) {
IResource mergeTargetResource = File2Resource.getResource(adds[i].getFile());
mergeTargetCombo.add(mergeTargetResource.getFullPath().toString());
}
mergeTargetCombo.select(0);
mergeTarget = File2Resource.getResource(adds[0].getFile());
compareResource1 = mergeTarget;
} else if (remoteCopiedTo != null) {
mergeTarget = File2Resource.getResource(remoteCopiedTo.getFile());
mergeTargetText.setText(mergeTarget.getFullPath().toString());
compareResource1 = mergeTarget;
}
// else setPageComplete(false);
Button selectMergeTargetButton = new Button(mergeTargetGroup, SWT.PUSH);
selectMergeTargetButton.setText(Messages.ResolveTreeConflictWizardMainPage_browse);
selectMergeTargetButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
String title;
if (mergeFromRepositoryButton == null && compareButton != null)
title = Messages.ResolveTreeConflictWizardMainPage_selectCompareTarget;
else if (compareButton == null && mergeFromRepositoryButton != null)
title = Messages.ResolveTreeConflictWizardMainPage_selectMergeTarget;
else
title = Messages.ResolveTreeConflictWizardMainPage_selectCompareMergeTarget;
SelectionDialog dialog;
boolean container = isContainer();
if (container)
dialog = new ContainerSelectionDialog(getShell(), treeConflict.getResource().getProject(), false, title);
else
dialog = new ResourceSelectionDialog(getShell(), treeConflict.getResource().getProject(), title);
if (dialog.open() == SelectionDialog.OK) {
Object[] selectedResources = dialog.getResult();
IResource selectedResource = null;
if (selectedResources != null && selectedResources.length > 0) {
if (selectedResources[0] instanceof IResource)
selectedResource = (IResource) selectedResources[0];
if (selectedResources[0] instanceof Path) {
Path path = (Path) selectedResources[0];
selectedResource = ResourcesPlugin.getWorkspace().getRoot().getFolder(path);
}
}
if (selectedResource != null) {
mergeTarget = selectedResource;
compareResource1 = mergeTarget;
if (mergeTargetText == null)
mergeTargetCombo.setText(mergeTarget.getFullPath().toString());
else
mergeTargetText.setText(mergeTarget.getFullPath().toString());
setPageComplete(true);
}
}
}
});
if (operation == SVNConflictDescriptor.Operation._switch) {
compareLabel = new Label(resolutionGroup, SWT.NONE);
compareLabel.setText(Messages.ResolveTreeConflictWizardMainPage_compareEditorInformation);
compareLabel.setVisible(false);
}
if (operation != SVNConflictDescriptor.Operation._merge) {
revertResource = treeConflict.getResource();
if (wizard.isAdded()) {
revertButton = new Button(resolutionGroup, SWT.CHECK);
if (revertResource instanceof IContainer)
name = revertResource.getFullPath().toString();
else
name = revertResource.getName();
revertButton.setText(Messages.ResolveTreeConflictWizardMainPage_revert + name + Messages.ResolveTreeConflictWizardMainPage_conflictWillBeResolved);
revertButton.setSelection(true);
}
deleteResource1 = treeConflict.getResource();
deleteButton1 = new Button(resolutionGroup, SWT.CHECK);
if (deleteResource1 instanceof IContainer)
name = deleteResource1.getFullPath().toString();
else
name = deleteResource1.getName();
if (wizard.isAdded())
deleteButton1.setText(Messages.ResolveTreeConflictWizardMainPage_remove + name + Messages.ResolveTreeConflictWizardMainPage_fromWorkingCopy);
else
deleteButton1.setText(Messages.ResolveTreeConflictWizardMainPage_delete + name);
deleteButton1.setSelection(true);
if (wizard.isAdded())
markResolvedEnabled = false;
SelectionListener choiceListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
if (compareButton.getSelection() || (mergeFromRepositoryButton != null && mergeFromRepositoryButton.getSelection()))
setPageComplete((mergeTargetText != null && mergeTargetText.getText().length() > 0) || (mergeTargetCombo != null && mergeTargetCombo.getText().length() > 0));
else
setPageComplete(true);
if (compareButton.getSelection()) {
compareLabel.setVisible(true);
if (revertButton != null)
revertButton.setEnabled(false);
deleteButton1.setEnabled(false);
markResolvedButton.setEnabled(false);
} else {
compareLabel.setVisible(false);
if (revertButton != null) {
revertButton.setEnabled(true);
deleteButton1.setEnabled(true);
markResolvedButton.setEnabled(true);
if (revertButton.getSelection()) {
deleteButton1.setEnabled(true);
markResolvedButton.setSelection(false);
markResolvedButton.setEnabled(false);
} else {
deleteButton1.setSelection(false);
deleteButton1.setEnabled(false);
markResolvedButton.setEnabled(true);
}
}
}
}
};
compareButton.addSelectionListener(choiceListener);
if (mergeFromRepositoryButton != null)
mergeFromRepositoryButton.addSelectionListener(choiceListener);
if (revertButton != null)
revertButton.addSelectionListener(choiceListener);
deleteButton1.addSelectionListener(choiceListener);
}
if (operation == SVNConflictDescriptor.Operation._merge) {
if (treeConflict.getResource().exists()) {
deleteResource1 = treeConflict.getResource();
deleteButton1 = new Button(resolutionGroup, SWT.CHECK);
if (deleteResource1 instanceof IContainer)
name = deleteResource1.getFullPath().toString();
else
name = deleteResource1.getName();
deleteButton1.setText(Messages.ResolveTreeConflictWizardMainPage_delete + name);
deleteButton1.setSelection(true);
markResolvedEnabled = false;
if (markResolvedButton != null) {
markResolvedButton.setSelection(true);
markResolvedButton.setEnabled(false);
}
}
SelectionListener choiceListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
if (!compareButton.getSelection() && !mergeFromRepositoryButton.getSelection())
setPageComplete(true);
else
setPageComplete((mergeTargetText != null && mergeTargetText.getText().length() > 0) || (mergeTargetCombo != null && mergeTargetCombo.getText().length() > 0));
if (compareButton.getSelection()) {
compareLabel.setVisible(true);
if (mergeFromRepositoryButton != null)
mergeFromRepositoryButton.setEnabled(false);
if (deleteButton1 != null)
deleteButton1.setEnabled(false);
if (markResolvedButton != null)
markResolvedButton.setEnabled(false);
} else {
compareLabel.setVisible(false);
if (mergeFromRepositoryButton != null)
mergeFromRepositoryButton.setEnabled(true);
if (deleteButton1 != null) {
deleteButton1.setEnabled(true);
if (deleteButton1.getSelection() && markResolvedButton != null) {
markResolvedButton.setSelection(true);
markResolvedButton.setEnabled(false);
}
}
if (markResolvedButton != null) {
if (deleteButton1 == null || !deleteButton1.getSelection()) {
markResolvedButton.setEnabled(true);
}
}
}
}
};
compareButton.addSelectionListener(choiceListener);
mergeFromRepositoryButton.addSelectionListener(choiceListener);
if (deleteButton1 != null) {
deleteButton1.addSelectionListener(choiceListener);
}
}
}
if (reason == SVNConflictDescriptor.Reason.deleted && action == SVNConflictDescriptor.Action.delete && operation != SVNConflictDescriptor.Operation._merge) {
copiedTo = getCopiedTo(true);
remoteCopiedTo = getRemoteCopiedTo(true);
theirs = null;
mine = null;
if (remoteCopiedTo != null)
theirs = File2Resource.getResource(remoteCopiedTo.getFile());
if (copiedTo != null)
mine = File2Resource.getResource(copiedTo.getFile());
if (mine != null && mine.exists() && theirs != null && theirs.exists()) {
compareButton = new Button(resolutionGroup, SWT.CHECK);
String name;
if (mine instanceof IContainer)
name = mine.getFullPath().toString();
else
name = mine.getName();
compareButton.setText(Messages.ResolveTreeConflictWizardMainPage_compare + name + Messages.ResolveTreeConflictWizardMainPage_to2 + theirs.getName());
compareButton.setSelection(false);
compareResource1 = mine;
compareResource2 = theirs;
compareLabel = new Label(resolutionGroup, SWT.NONE);
compareLabel.setText(Messages.ResolveTreeConflictWizardMainPage_compareEditorInformation);
compareLabel.setVisible(false);
compareButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
compareLabel.setVisible(compareButton.getSelection());
if (option1Button != null)
option1Button.setEnabled(!compareButton.getSelection());
if (option1Group != null)
option1Group.setEnabled(!compareButton.getSelection());
if (option2Button != null)
option2Button.setEnabled(!compareButton.getSelection());
if (option2Group != null)
option2Group.setEnabled(!compareButton.getSelection());
if (option3Button != null)
option3Button.setEnabled(!compareButton.getSelection());
markResolvedButton.setEnabled(!compareButton.getSelection());
}
});
}
if (mine != null && mine.exists()) {
option1Button = new Button(resolutionGroup, SWT.RADIO);
option1Button.setText(Messages.ResolveTreeConflictWizardMainPage_choose + mine.getFullPath());
option1Button.setSelection(true);
option1Group = new Group(resolutionGroup, SWT.NONE);
String name;
if (mine instanceof IContainer)
name = mine.getFullPath().toString();
else
name = mine.getName();
option1Group.setText(name);
GridLayout option1Layout = new GridLayout();
option1Layout.numColumns = 1;
option1Group.setLayout(option1Layout);
option1Group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
if (theirs != null && theirs.exists()) {
deleteResource1 = theirs;
deleteButton1 = new Button(option1Group, SWT.CHECK);
if (deleteResource1 instanceof IContainer)
name = deleteResource1.getFullPath().toString();
else
name = deleteResource1.getName();
deleteButton1.setText(Messages.ResolveTreeConflictWizardMainPage_delete + name);
deleteButton1.setSelection(true);
} else
option1Group.setVisible(false);
}
if (theirs != null && theirs.exists()) {
option2Button = new Button(resolutionGroup, SWT.RADIO);
option2Button.setText(Messages.ResolveTreeConflictWizardMainPage_choose + theirs.getFullPath());
if (option1Button == null)
option2Button.setSelection(true);
option2Group = new Group(resolutionGroup, SWT.NONE);
String name;
if (theirs instanceof IContainer)
name = theirs.getFullPath().toString();
else
name = theirs.getName();
option2Group.setText(name);
GridLayout option2Layout = new GridLayout();
option2Layout.numColumns = 1;
option2Group.setLayout(option2Layout);
option2Group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
if (mine != null && mine.exists()) {
ISVNLocalResource myResource = SVNWorkspaceRoot.getSVNResourceFor(mine);
try {
if (myResource.getStatus().isAdded()) {
revertResource = mine;
revertButton = new Button(option2Group, SWT.CHECK);
if (mine instanceof IContainer)
name = mine.getFullPath().toString();
else
name = mine.getName();
revertButton.setText(Messages.ResolveTreeConflictWizardMainPage_revert + name);
revertButton.setSelection(true);
}
} catch (SVNException e) {
SVNUIPlugin.log(IStatus.ERROR, e.getMessage(), e);
}
deleteResource2 = mine;
deleteButton2 = new Button(option2Group, SWT.CHECK);
if (deleteResource2 instanceof IContainer)
name = deleteResource2.getFullPath().toString();
else
name = deleteResource2.getName();
deleteButton2.setText(Messages.ResolveTreeConflictWizardMainPage_remove + name + Messages.ResolveTreeConflictWizardMainPage_fromWorkingCopy);
deleteButton2.setSelection(true);
option2Group.setEnabled(option1Button == null);
} else
option2Group.setVisible(false);
}
if (mine != null && mine.exists() && theirs != null && theirs.exists()) {
option3Button = new Button(resolutionGroup, SWT.RADIO);
option3Button.setText(Messages.ResolveTreeConflictWizardMainPage_chooseBoth);
}
SelectionListener optionListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
if (option1Button != null && option1Button.getSelection()) {
option1Group.setEnabled(true);
if (option2Group != null)
option2Group.setEnabled(false);
}
if (option2Button != null && option2Button.getSelection()) {
option2Group.setEnabled(true);
if (option1Group != null)
option1Group.setEnabled(false);
}
if (option3Button.getSelection()) {
option1Group.setEnabled(false);
option2Group.setEnabled(false);
}
if (revertButton != null) {
if (revertButton.getSelection()) {
deleteButton2.setEnabled(true);
} else {
deleteButton2.setEnabled(false);
deleteButton2.setSelection(false);
}
}
}
};
if (option1Button != null)
option1Button.addSelectionListener(optionListener);
if (option2Button != null)
option2Button.addSelectionListener(optionListener);
if (option3Button != null)
option3Button.addSelectionListener(optionListener);
if (revertButton != null)
revertButton.addSelectionListener(optionListener);
}
if (reason == SVNConflictDescriptor.Reason.deleted && action == SVNConflictDescriptor.Action.delete && operation == SVNConflictDescriptor.Operation._merge) {
remoteCopiedTo = getRemoteCopiedTo(true);
if (remoteCopiedTo != null)
mine = File2Resource.getResource(remoteCopiedTo.getFile());
if (mine != null && mine.exists()) {
try {
adds = wizard.getAdds();
} catch (SVNException e) {
SVNUIPlugin.log(IStatus.ERROR, e.getMessage(), e);
}
option1Button = new Button(resolutionGroup, SWT.RADIO);
option1Button.setText(Messages.ResolveTreeConflictWizardMainPage_choose + mine.getFullPath());
option1Button.setSelection(true);
if (adds != null && adds.length > 0) {
option1Group = new Group(resolutionGroup, SWT.NONE);
String name;
if (mine instanceof IContainer)
name = mine.getFullPath().toString();
else
name = mine.getName();
option1Group.setText(name);
GridLayout option1Layout = new GridLayout();
option1Layout.numColumns = 1;
option1Group.setLayout(option1Layout);
option1Group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
if (adds.length == 1) {
revertResource = File2Resource.getResource(adds[0].getFile());
revertButton = new Button(option1Group, SWT.CHECK);
if (revertResource instanceof IContainer)
name = revertResource.getFullPath().toString();
else
name = revertResource.getName();
revertButton.setText(Messages.ResolveTreeConflictWizardMainPage_revert + name);
revertButton.setSelection(true);
deleteResource1 = File2Resource.getResource(adds[0].getFile());
deleteButton1 = new Button(option1Group, SWT.CHECK);
if (deleteResource1 instanceof IContainer)
name = deleteResource1.getFullPath().toString();
else
name = deleteResource1.getName();
deleteButton1.setText(Messages.ResolveTreeConflictWizardMainPage_remove + name + Messages.ResolveTreeConflictWizardMainPage_fromWorkingCopy);
deleteButton1.setSelection(true);
} else {
revertButton = new Button(option1Group, SWT.CHECK);
revertButton.setText(Messages.ResolveTreeConflictWizardMainPage_revertSelected);
revertCombo = new Combo(option1Group, SWT.BORDER | SWT.READ_ONLY);
gd = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL);
revertCombo.setLayoutData(gd);
revertCombo.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
ISVNStatus selectedRevert = adds[revertCombo.getSelectionIndex()];
revertResource = File2Resource.getResource(selectedRevert.getFile());
deleteResource1 = revertResource;
}
});
for (int i = 0; i < adds.length; i++) {
IResource revertResource = File2Resource.getResource(adds[i].getFile());
revertCombo.add(revertResource.getFullPath().toString());
}
revertCombo.select(0);
revertResource = File2Resource.getResource(adds[0].getFile());
deleteResource1 = revertResource;
deleteButton1 = new Button(option1Group, SWT.CHECK);
deleteButton1.setText(Messages.ResolveTreeConflictWizardMainPage_removeSelected);
deleteButton1.setEnabled(false);
setPageComplete(false);
}
}
option2Button = new Button(resolutionGroup, SWT.RADIO);
option2Group = new Group(resolutionGroup, SWT.NONE);
GridLayout option2Layout = new GridLayout();
option2Layout.numColumns = 1;
option2Group.setLayout(option2Layout);
option2Group.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
if (adds == null || adds.length != 1) {
option2Button.setText(Messages.ResolveTreeConflictWizardMainPage_chooseIncoming);
option2Group.setText(Messages.ResolveTreeConflictWizardMainPage_incoming);
} else {
IResource addResource = File2Resource.getResource(adds[0].getFile());
option2Button.setText(Messages.ResolveTreeConflictWizardMainPage_choose + addResource.getFullPath());
String name;
if (addResource instanceof IContainer)
name = addResource.getFullPath().toString();
else
name = addResource.getName();
option2Group.setText(name);
}
deleteResource2 = mine;
deleteButton2 = new Button(option2Group, SWT.CHECK);
String name;
if (deleteResource2 instanceof IContainer)
name = deleteResource2.getFullPath().toString();
else
name = deleteResource2.getName();
deleteButton2.setText(Messages.ResolveTreeConflictWizardMainPage_delete + name);
deleteButton2.setSelection(true);
option2Group.setEnabled(false);
option3Button = new Button(resolutionGroup, SWT.RADIO);
option3Button.setText(Messages.ResolveTreeConflictWizardMainPage_chooseBoth);
SelectionListener choiceListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
if (option1Group != null)
option1Group.setEnabled(option1Button.getSelection());
if (option2Group != null)
option2Group.setEnabled(option2Button.getSelection());
if (revertButton != null && deleteButton1 != null) {
if (revertButton.getSelection()) {
deleteButton1.setEnabled(true);
} else {
deleteButton1.setEnabled(false);
deleteButton1.setSelection(false);
}
}
if (option1Button.getSelection()) {
setPageComplete(revertButton == null || revertButton.getSelection());
}
if (option2Button.getSelection()) {
setPageComplete(deleteButton2 == null || deleteButton2.getSelection());
}
if (option3Button.getSelection())
setPageComplete(true);
}
};
option1Button.addSelectionListener(choiceListener);
option2Button.addSelectionListener(choiceListener);
option3Button.addSelectionListener(choiceListener);
if (revertButton != null)
revertButton.addSelectionListener(choiceListener);
if (deleteButton2 != null)
deleteButton2.addSelectionListener(choiceListener);
if (revertButton != null)
revertButton.addSelectionListener(choiceListener);
}
}
if ((reason == SVNConflictDescriptor.Reason.added && action == SVNConflictDescriptor.Action.add && (operation == SVNConflictDescriptor.Operation._update || operation == SVNConflictDescriptor.Operation._merge)) || (reason == SVNConflictDescriptor.Reason.obstructed && action == SVNConflictDescriptor.Action.add && operation == SVNConflictDescriptor.Operation._merge)) {
String name;
boolean container = isContainer();
if (container)
name = treeConflict.getResource().getFullPath().toString();
else
name = treeConflict.getResource().getName();
replaceButton = new Button(resolutionGroup, SWT.CHECK);
replaceButton.setText(Messages.ResolveTreeConflictWizardMainPage_0 + name + Messages.ResolveTreeConflictWizardMainPage_1 + treeConflict.getConflictDescriptor().getSrcRightVersion().getPathInRepos() + Messages.ResolveTreeConflictWizardMainPage_inRepository);
compareButton = new Button(resolutionGroup, SWT.CHECK);
compareButton.setText(Messages.ResolveTreeConflictWizardMainPage_compare + name + Messages.ResolveTreeConflictWizardMainPage_to2 + treeConflict.getConflictDescriptor().getSrcRightVersion().getPathInRepos() + Messages.ResolveTreeConflictWizardMainPage_inRepository);
compareButton.setSelection(false);
compareResource1 = treeConflict.getResource();
getRemoteResource(wizard, treeConflict);
compareLabel = new Label(resolutionGroup, SWT.NONE);
compareLabel.setText(Messages.ResolveTreeConflictWizardMainPage_compareEditorInformation);
compareLabel.setVisible(false);
SelectionListener choiceListener = new SelectionAdapter() {
public void widgetSelected(SelectionEvent evt) {
if (evt.getSource() == replaceButton) {
if (replaceButton.getSelection()) {
markResolvedButton.setEnabled(false);
markResolvedButton.setSelection(true);
compareButton.setVisible(false);
compareButton.setSelection(false);
compareLabel.setVisible(false);
} else {
compareButton.setVisible(true);
compareLabel.setVisible(compareButton.getSelection());
markResolvedButton.setEnabled(!compareButton.getSelection());
}
} else if (evt.getSource() == compareButton) {
if (compareButton.getSelection()) {
compareLabel.setVisible(true);
markResolvedButton.setEnabled(false);
} else {
compareLabel.setVisible(false);
markResolvedButton.setEnabled(true);
}
}
}
};
replaceButton.addSelectionListener(choiceListener);
compareButton.addSelectionListener(choiceListener);
}
if (conflictDescriptor.getSrcLeftVersion() == null) {
revertButton = new Button(resolutionGroup, SWT.CHECK);
revertResource = treeConflict.getResource();
String name;
if (revertResource instanceof IContainer)
name = revertResource.getFullPath().toString();
else
name = revertResource.getName();
revertButton.setText(Messages.ResolveTreeConflictWizardMainPage_revert + name + Messages.ResolveTreeConflictWizardMainPage_conflictWillBeResolved);
revertButton.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (revertButton.getSelection()) {
markResolvedButton.setSelection(false);
}
markResolvedButton.setEnabled(!revertButton.getSelection());
}
});
}
markResolvedButton = new Button(resolutionGroup, SWT.CHECK);
markResolvedButton.setText(Messages.ResolveTreeConflictWizardMainPage_markResolved);
markResolvedButton.setSelection(true);
if (markResolvedEnabled) {
markResolvedButton.setSelection(true);
} else {
markResolvedButton.setEnabled(false);
}
setMessage(Messages.ResolveTreeConflictWizardMainPage_message);
setControl(outerContainer);
}
use of org.tigris.subversion.subclipse.core.ISVNLocalResource in project subclipse by subclipse.
the class ResourceWithStatusUtil method getStatus.
public static String getStatus(IResource resource) {
ISVNLocalResource svnResource = SVNWorkspaceRoot.getSVNResourceFor(resource);
String result = null;
try {
LocalResourceStatus status = svnResource.getStatus();
if (// $NON-NLS-1$
status.isTextConflicted())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.conflicted");
else if (// $NON-NLS-1$
status.isAdded())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.added");
else if (// $NON-NLS-1$
status.isDeleted())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.deleted");
else if (// $NON-NLS-1$
status.isMissing())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.missing");
else if (// $NON-NLS-1$
status.isReplaced())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.replaced");
else if (status.isTextModified())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.modified");
else if (// $NON-NLS-1$
!status.isManaged())
// $NON-NLS-1$
result = Policy.bind("CommitDialog.unversioned");
else
// $NON-NLS-1$
result = "";
} catch (TeamException e) {
// $NON-NLS-1$
result = "";
}
return result;
}
Aggregations