Search in sources :

Example 6 with RevisionGraphEditorInput

use of org.tigris.subversion.subclipse.graph.editors.RevisionGraphEditorInput in project subclipse by subclipse.

the class RevisionDetailsAction method run.

public void run() {
    remoteResource = null;
    logEntry = null;
    includeTags = SVNUIPlugin.getPlugin().getPreferenceStore().getBoolean(ISVNUIConstants.PREF_SHOW_TAGS_IN_REMOTE);
    BusyIndicator.showWhile(Display.getDefault(), new Runnable() {

        public void run() {
            try {
                RevisionGraphEditorInput input = (RevisionGraphEditorInput) editor.getEditorInput();
                ISVNInfo info = input.getInfo();
                ISVNRepositoryLocation repository = SVNProviderPlugin.getPlugin().getRepository(info.getRepository().toString());
                remoteResource = new RemoteFile(repository, new SVNUrl(repository.getLocation() + node.getPath()), new SVNRevision.Number(node.getRevision()));
                AliasManager tagManager = null;
                if (includeTags)
                    tagManager = new AliasManager(remoteResource.getUrl());
                SVNRevision pegRevision = new SVNRevision.Number(node.getRevision());
                SVNRevision revisionStart = new SVNRevision.Number(node.getRevision());
                SVNRevision revisionEnd = new SVNRevision.Number(node.getRevision());
                GetLogsCommand logCmd = new GetLogsCommand(remoteResource, pegRevision, revisionStart, revisionEnd, false, 0, tagManager, true);
                logCmd.run(null);
                ILogEntry[] logEntries = logCmd.getLogEntries();
                if (logEntries != null && logEntries.length > 0) {
                    logEntry = logEntries[0];
                }
            } catch (Exception e) {
                MessageDialog.openError(Display.getDefault().getActiveShell(), "Revision Info", e.getMessage());
            }
        }
    });
    if (logEntry != null) {
        ShowRevisionsDialog dialog = new ShowRevisionsDialog(Display.getDefault().getActiveShell(), logEntry, remoteResource, includeTags, null);
        dialog.setTitle("Revision Info");
        dialog.setSelectFirst(true);
        dialog.open();
    }
}
Also used : AliasManager(org.tigris.subversion.subclipse.core.history.AliasManager) ISVNRepositoryLocation(org.tigris.subversion.subclipse.core.ISVNRepositoryLocation) RevisionGraphEditorInput(org.tigris.subversion.subclipse.graph.editors.RevisionGraphEditorInput) SVNUrl(org.tigris.subversion.svnclientadapter.SVNUrl) ShowRevisionsDialog(org.tigris.subversion.subclipse.ui.dialogs.ShowRevisionsDialog) GetLogsCommand(org.tigris.subversion.subclipse.core.commands.GetLogsCommand) ISVNInfo(org.tigris.subversion.svnclientadapter.ISVNInfo) SVNRevision(org.tigris.subversion.svnclientadapter.SVNRevision) RemoteFile(org.tigris.subversion.subclipse.core.resources.RemoteFile)

Example 7 with RevisionGraphEditorInput

use of org.tigris.subversion.subclipse.graph.editors.RevisionGraphEditorInput in project subclipse by subclipse.

the class SetCommitPropertiesAction method run.

public void run() {
    try {
        IResource resource = ((RevisionGraphEditorInput) editor.getEditorInput()).getResource();
        ISVNRemoteResource remoteResource = ((RevisionGraphEditorInput) editor.getEditorInput()).getRemoteResource();
        ISVNInfo info = ((RevisionGraphEditorInput) editor.getEditorInput()).getInfo();
        final ProjectProperties projectProperties = (resource != null) ? ProjectProperties.getProjectProperties(resource) : ProjectProperties.getProjectProperties(remoteResource);
        SVNRevision.Number revision = new SVNRevision.Number(node.getRevision());
        SetCommitPropertiesDialog dialog = new SetCommitPropertiesDialog(Display.getDefault().getActiveShell(), revision, resource, projectProperties);
        dialog.setOldAuthor(node.getAuthor());
        dialog.setOldComment(node.getMessage());
        if (dialog.open() == SetCommitPropertiesDialog.OK) {
            final String author;
            final String commitComment;
            if (node.getAuthor().equals(dialog.getAuthor()))
                author = null;
            else
                author = dialog.getAuthor();
            if (node.getMessage().equals(dialog.getComment()))
                commitComment = null;
            else
                commitComment = dialog.getComment();
            ISVNRepositoryLocation repository = SVNProviderPlugin.getPlugin().getRepository(info.getRepository().toString());
            final ChangeCommitPropertiesCommand command = new ChangeCommitPropertiesCommand(repository, revision, commitComment, author);
            PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {

                public void run(IProgressMonitor monitor) throws InvocationTargetException {
                    try {
                        command.run(monitor);
                    } catch (SVNException e) {
                        throw new InvocationTargetException(e);
                    } finally {
                        if (command.isAuthorChanged())
                            node.setAuthor(author);
                        if (command.isLogMessageChanged())
                            node.setMessage(commitComment);
                        if (command.isAuthorChanged() || command.isLogMessageChanged()) {
                            nodeFigure.setToolTip(new NodeTooltipFigure(node));
                        }
                    }
                }
            });
        }
    } catch (Exception e) {
        SVNUIPlugin.openError(Display.getDefault().getActiveShell(), null, null, e, SVNUIPlugin.LOG_TEAM_EXCEPTIONS);
    }
}
Also used : NodeTooltipFigure(org.tigris.subversion.subclipse.graph.editors.NodeTooltipFigure) ISVNRemoteResource(org.tigris.subversion.subclipse.core.ISVNRemoteResource) ProjectProperties(org.tigris.subversion.subclipse.ui.settings.ProjectProperties) SVNException(org.tigris.subversion.subclipse.core.SVNException) InvocationTargetException(java.lang.reflect.InvocationTargetException) InvocationTargetException(java.lang.reflect.InvocationTargetException) SVNException(org.tigris.subversion.subclipse.core.SVNException) ChangeCommitPropertiesCommand(org.tigris.subversion.subclipse.core.commands.ChangeCommitPropertiesCommand) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) SetCommitPropertiesDialog(org.tigris.subversion.subclipse.ui.dialogs.SetCommitPropertiesDialog) ISVNRepositoryLocation(org.tigris.subversion.subclipse.core.ISVNRepositoryLocation) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) RevisionGraphEditorInput(org.tigris.subversion.subclipse.graph.editors.RevisionGraphEditorInput) ISVNInfo(org.tigris.subversion.svnclientadapter.ISVNInfo) SVNRevision(org.tigris.subversion.svnclientadapter.SVNRevision) IResource(org.eclipse.core.resources.IResource)

Aggregations

RevisionGraphEditorInput (org.tigris.subversion.subclipse.graph.editors.RevisionGraphEditorInput)7 ISVNRemoteResource (org.tigris.subversion.subclipse.core.ISVNRemoteResource)5 SVNRevision (org.tigris.subversion.svnclientadapter.SVNRevision)4 InvocationTargetException (java.lang.reflect.InvocationTargetException)3 IResource (org.eclipse.core.resources.IResource)3 IProgressMonitor (org.eclipse.core.runtime.IProgressMonitor)3 IRunnableWithProgress (org.eclipse.jface.operation.IRunnableWithProgress)3 ISVNRepositoryLocation (org.tigris.subversion.subclipse.core.ISVNRepositoryLocation)3 ISVNInfo (org.tigris.subversion.svnclientadapter.ISVNInfo)3 SVNUrl (org.tigris.subversion.svnclientadapter.SVNUrl)3 RemoteFile (org.tigris.subversion.subclipse.core.resources.RemoteFile)2 WizardDialog (org.eclipse.jface.wizard.WizardDialog)1 TeamException (org.eclipse.team.core.TeamException)1 ISVNLocalResource (org.tigris.subversion.subclipse.core.ISVNLocalResource)1 SVNException (org.tigris.subversion.subclipse.core.SVNException)1 ChangeCommitPropertiesCommand (org.tigris.subversion.subclipse.core.commands.ChangeCommitPropertiesCommand)1 GetLogsCommand (org.tigris.subversion.subclipse.core.commands.GetLogsCommand)1 Alias (org.tigris.subversion.subclipse.core.history.Alias)1 AliasManager (org.tigris.subversion.subclipse.core.history.AliasManager)1 RemoteFolder (org.tigris.subversion.subclipse.core.resources.RemoteFolder)1