Coder Social home page Coder Social logo

archive's Introduction

Subclipse Build Status

Subclipse is an Eclipse Team Provider plugin for Apache Subversion.

Information on Requirements, Installation, Development etc. is available in the wiki

NOTE: Unfortunately this project is only minimally maintained and is reliant solely on contributions from others via PR. We can help make new releases if enough interesting contributions show up but there is otherwise no one who actively works on this code any longer.

We recommend installing the Subclipse snapshot release so that when there are contributions that are merged you receive them and are not dependent on a new official release being published.

SVNKit

Subclipse has never maintained or been directly involved with SVNKit, which is provided by TMate Software.

Subclipse is written to Subversion's JavaHL API interface. SVNKit works with Subclipse because it provides an implementation of that interface. We host an Eclipse Marketplace-compatible update site with the SVNKit library out of convenience because SVNKit has never published an update site that works with the Eclipse Marketplace installer. (For those interested in these details, they are providing the old Eclipse 3.0-style update site and not the replacement P2-style site that came with Eclipse 3.2+). The work to republish their site and keep the version up to date and test is more work than we can continue to provide. The version of the SVNKit library on the site we host is not the latest.

Newer versions of the SVNKit library are available for download at: https://svnkit.com/download.php. The zipped Eclipse archive is the best way to get the latest version of their library and can be easily installed via the Eclipse install interface by adding the zipped archive or unzipped local update site.

When it is possible, we have always recommended using the native Subversion JavaHL implementation but we recognize this is not always easy to do and using SVNKit is often the simpler path to take.

License

The source code for this project is licensed under Eclipse 1.0 license.

archive's People

Contributors

brockj avatar cchabanois avatar chuanghs avatar costamojan avatar danielrall avatar ekuleshov avatar frankamp avatar jespersm avatar jpfiset avatar markphip avatar markusheiden avatar mletenay avatar novaeye avatar pjthiel avatar pkorros avatar selsemore avatar

Watchers

 avatar  avatar

Forkers

jebcat1982

archive's Issues

History view caching [Tigris #753]

Description

I'd like to suggest that the items in the history view be cached. If you 
move to another file/folder and then return to a file/folder which you 
have previously viewed, the history is reloaded from the SVN server. 
This also happens if you move the focus to an editor, for example, and 
then return it to the 'SVN Repositories' view.

On the trunk folder of Subversion, for example, it takes nearly 16 
seconds to load the 25 log entries on my 384 Kibit/s ADSL connection. 
The reloading of history seems completely unnecessary, and is a waste of 
both time and bandwidth.

Mailing list message:
http://subclipse.tigris.org/servlets/ReadMsg?list=users&msgNo=11743

Metadata Imported from Tigris (Issue 753)

  • Creation Date: 2008-05-31 08:19:49
  • Reporter: dodgerld
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Show commit summary dialog before committing [Tigris #1120]

Description

I have the problem that I regularly have a lot of local changes and need to
commit just a few of them. There is no option yet to prevent certain files from
being committed (compare issue 881), so the Commit dialog shows a very long tree
with hundreds of files, and my task is it to find just a handful of them for commit.

Once I have found and checked these files (time consuming, since there is not
filter for, lets say, file names or file extensions) I can only hit "OK" and the
commit will immediately start.

Of course, this is an extremely error prone process because you cannot be sure
if you have really found all required files or maybe checked a file (by
accident) that may under no circumstances be committed since it would break the
build.

Therefore I suggest to add a "Commit summary" page that allows to review all the
changes selected for commit at a glance and allows to remove certain files or go
back if you find some files missing in the list.

Metadata Imported from Tigris (Issue 1120)

  • Creation Date: 2010-03-14 09:16:16
  • Reporter: matthiasbasler
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2010-03-14 11:45:31 by markphip

I could see trying to provide an option for issue 881, but I cannot see doing this.  Here are a couple of 
ideas I can give you that might help you today.

1) Use the Synchronize view.  Not everyone likes this view, it took me a few years to warm up to it, but it 
is ideally suited for what you want.  Just put the view into "Change sets mode" then create as may 
different logical change sets as you need -- including one for things you want to ignore,  Then drag 
and drop the items into the different change sets.  This allows you to group stuff during development 
and when you want to commit, just select the change set you want to commit and only those items will 
come up.  Another cool feature is that you can edit and work on the commit message for a change set 
over time.  So you can make edits to it as you are making changes so that is ready to go when you 
commit.

2) When you are going through the commit dialog and deselecting stuff, instead of doing that you can 
right-click and choose to remove the items from the view.  If you use this approach you will be slowly 
shrinking what is in the view as you are deselecting stuff, which will more or less leave you with what is 
going to be committed.

2010-03-15 10:36:27 by matthiasbasler

Mark wrote:

> I could see trying to provide an option for issue 881, but I cannot see doing
this.
Mind you telling, why not. Would this dialog have to be provided by Eclipse? Do
you consider it not worth the effort or are there technical reasons?

Anyway, what about the alternative to provide a checkbox to the existing dialog
to "Show only selected items". This would essentially do the trick with much
less effort imho.

About your tips:
1) Synchronize view is an interesting suggestion, I have always wondered what to
do with it ...

2) There is no option to remove entries from the dialog. Not in the version that
I use, at least (SVN Team Provider Core v.1.6.5 on Eclipse 3.5.1).

... But even if there were, it would be impracticable. If you have 200 changed
files out of which five are to be committed then removing 195 of them is just
not feasible. (I would have aching fingers afterwards. ;-) ) This is why I
always do an "Uncheck all" and then go searching for the correct ones.

New/Enhance Create Branch/Tag option that can do it for multiple projects [Tigris #472]

Description

New/Enhance Create Branch/Tag option that can do it for multiple 
projects as discussed in the mail list:

1)  Select more than one project in say the Navigator view or Package Explorer
Eclipse views.  I think we can do this conditioning right in the option
contribution to the menu.

2)  Bring up Create tag dialog and choose target folder that will be common for
all selected projects.

3) For each selected project:

3a) Update the subclipse:tags property or create if absent

3b) Commit subclipse:tags property using "update tag/branch info for XXX
tag/branch" comment

3c) Create actual tag/branch copy of the project in selected target folder

This would and up with about 1 + N + N commits (mkdir + property + copy), but
should be still reasonable fast. 

Possible optimization could be doing commits copy on a parrent source folder,
but that will require to make sure that parent folder does not have extra child
folders besides those selected by user for current tag/branch action.

Metadata Imported from Tigris (Issue 472)

  • Creation Date: 2006-03-15 20:08:44
  • Reporter: eu
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: 1.4
  • Keywords:
  • Cc: gwagenknecht

Comments

2006-03-15 20:11:17 by eu

It would make sense to fix 471 first, so property can be committed before tag is
created.

2006-06-01 11:51:24 by markphip

Changing version to 1.0.x so that I can delete 0.9.x

2006-08-25 10:25:18 by gwagenknecht

adding my self to the CC list

2007-05-01 07:46:05 by markphip

Assign to 1.4 milestone

2008-01-15 09:18:11 by selsemore

Assigned to myself.

2008-01-15 09:19:51 by selsemore

I've converted the Branch/Tag dialog to a multiple page wizard and enabled it 
for multiple selection.  The subclipse:tags property is not yet being managed 
for multiple selection branching.  This will be reexamined later.

Add ability to revert a file from the commit dialog [Tigris #942]

Description

Since the Eclipse commit dialog is modal, it would be useful to be able to
revert file(s) directly from the list of locally modified files.  Subversive has
this action and I could've sworn older versions of Subclipse had it as well.

I have a little bit of plugin development experience so I think I might be able
to add this feature but I wanted to ask if maybe there was a reason it was
removed (if it ever existed).

Metadata Imported from Tigris (Issue 942)

  • Creation Date: 2009-07-03 12:21:56
  • Reporter: wdephillips
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2009-07-05 08:50:44 by markphip

Subclipse has never had this feature.  I would not turn down a well-written patch, but this is not a feature 
I desire or think is appropriate.   It makes a some sense to support options like Add to svn:ignore, since 
they are related to commit, but I do not think it makes sense to add options like Revert.

The reason we do not add these is that it would require adding a resource listener in the dialog and some 
kind of refresh mechanism to detect the changes after the options run and have them reflected in the 
dialog.  That is a lot of code to drag in to add questionable UI.

Have you used the Synchronize view?

Confusing 'modified' decorator placement in flat package view [Tigris #484]

Description

In some cases, Subclipse will place a 'modified' icon decorator on packages for
which no resources have been modified.

For example, if a resource is modified in package com.example.foo, then
com.example will get the decorator as well. This may be correct when the package
explorer view is in hierarchical mode, but becomes obviously wrong in flat mode
where com.example and com.example.foo are displayed separately.

I'm using Subclipse 1.0.1 with Eclipse 3.2M6.

Metadata Imported from Tigris (Issue 484)

  • Creation Date: 2006-04-26 11:05:27
  • Reporter: jkohen
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

time machine [Tigris #757]

Description

Hi all.

I would like a subclipse time machine, as in the HG Wells story, where the time
machine is stationary and its riders can watch as time changes around it.

It would be so handy to be able to page back and forth through the revision
history of a particular file while you had it open in an editor and at a
particular line number, say near a variable or method whose definition had
changed at some point and you needed to locate that revision.

So often I need to answer, not when a file changed, but when some particular
feature of a file changed.

I really enjoy the plugin, thanks.

Metadata Imported from Tigris (Issue 757)

  • Creation Date: 2008-06-19 09:24:55
  • Reporter: reid
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2008-06-19 18:32:47 by markphip

I assume you are familiar with the Annotate feature?  That is as close as we
get.  Here is a blog post if you are not:

http://markphip.blogspot.com/2006/12/subclipse-live-annotations.html

Have you tried this product?  It sounds similar to what you want (except it is
not in Eclipse).

http://code.google.com/p/svn-time-lapse-view/

I tried an earlier version and was underwhelmed.  I just do not think SVN is
fast enough to support this kind of thing well.

2008-06-24 10:38:19 by eu

By the way, somewhat related to this, I often wanted to browse repository or some subtree
at some particular revision and right now the only option is to create a branch, which
is quite verbose and multi-step operation. It might be quite neat to allow to create such
bookmarks in "SVN Repositories" view, e.g. using an action from History view. Bookmarks
could go into repository root, or maybe even in subfolders:

http://subclipse.tigris.org/svn/subclipse
  branches
  tags
  trunk
  Bookmarks
    rev 3389
    before deleting something
    ...

I think subersive have this feature.

2008-06-24 13:13:56 by markphip

Eugene, please enter a separate issue.  We do not want to "hijack" this one.

2008-06-24 16:09:45 by reid

Hi Mark.  Thanks for the reference to svn-time-lapse-view; I was able to find
the code change I was looking for with that.
As for this feature, I still think it would be great to have it integrated into
Eclipse, but I defer to your judgement about whether svn has the performance
right now to support it, and it's fine by me if you want to resolve the issue
however you wish.
Thanks again.

Pre- and Post-Commit on client side. [Tigris #1254]

Description

Hi,

I am struggling to find a clean way to hook into the commit action von subclipse
and finally decided on integrating the pre/post commit on client side since I
found a couple of related posts where people were having the same problem I did. 

I created two extensions for the UI bundle allowing to add pre/post commit
actions. They implement an interface I called ICommitAction. 

I then hooked into the CommitOperation class and execute precommits on the
aboutToRun event of the job, as well as PostCommits on the done event of the
job. I am not sure this would be the best solution. Alternatively I could hook
into the CommitAction class and operate precommit before the dialog is opened
and postcommit as soon as it is closed. The advantage with the joblistener
methods would be that postcommit would actually be executed when the commit is
done, which would not be the case otherwise. 

It's a minor patch which enables user to execute custom code with the commit. 

Let me know what your thinking. 

Kind regards,
Artur kronenberg 

I can't find the upload button in this page, so I will c/p my patch here. Maybe
I'll find the upload button later or you can let me know where it is, I'll be
happy to upload the patch as a file.
------- PATCH ---------

### Eclipse Workspace Patch 1.0
#P org.tigris.subversion.subclipse.ui
Index: src/org/tigris/subversion/subclipse/ui/prepostcommit/ICommitAction.java
===================================================================
--- src/org/tigris/subversion/subclipse/ui/prepostcommit/ICommitAction.java
(revision 0)
+++ src/org/tigris/subversion/subclipse/ui/prepostcommit/ICommitAction.java
(revision 0)
@@ -0,0 +1,11 @@
+package org.tigris.subversion.subclipse.ui.prepostcommit;
+
+import org.eclipse.core.resources.IResource;
+
+public interface ICommitAction {
+   
+   public void execute( final IResource[] ResourcesToCommi, 
+                        final IResource[] resourcesToAdd, 
+                        final IResource[] resourcesToDelete);
+   
+}
Index: plugin.xml
===================================================================
--- plugin.xml  (revision 4859)
+++ plugin.xml  (working copy)
@@ -5,6 +5,8 @@
    <extension-point id="mergeProviders" name="Merge Providers"
schema="schema/mergeProviders.exsd"/>
    <extension-point id="commitDialogToolBarActions" name="Commit Dialog ToolBar
Actions" schema="schema/commitDialogExtensions.exsd"/>
    <extension-point id="commitDialogCompareActions" name="Commit Dialog Compare
Actions" schema="schema/commitDialogExtensions.exsd"/>
+   <extension-point id="postcommitaction" name="post commit action"
schema="schema/commitaction.exsd"/>
+   <extension-point id="precommitaction" name="Pre commit action"
schema="schema/commitaction.exsd"/>

    <extension
          point="org.tigris.subversion.clientadapter.loadErrorHandlers">
Index: src/org/tigris/subversion/subclipse/ui/actions/CommitAction.java
===================================================================
--- src/org/tigris/subversion/subclipse/ui/actions/CommitAction.java    (revision 4859)
+++ src/org/tigris/subversion/subclipse/ui/actions/CommitAction.java    (working copy)
@@ -24,8 +24,11 @@
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.resources.IResourceVisitor;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.MessageDialog;
@@ -48,6 +51,8 @@
 import org.tigris.subversion.subclipse.ui.SVNUIPlugin;
 import org.tigris.subversion.subclipse.ui.dialogs.CommitToTagsWarningDialog;
 import org.tigris.subversion.subclipse.ui.operations.CommitOperation;
+import org.tigris.subversion.subclipse.ui.prepostcommit.CommitExtension;
+import org.tigris.subversion.subclipse.ui.prepostcommit.ICommitAction;
 import org.tigris.subversion.subclipse.ui.settings.ProjectProperties;
 import org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizard;
 import org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizardCommitPage;
@@ -111,7 +116,7 @@
                                MessageDialog.openInformation(getShell(),
Policy.bind("CommitDialog.title"), Policy.bind("CommitDialog.noChanges"));
//$NON-NLS-1$ //$NON-NLS-2$
                                commit = false;
                            } else {
-                               ProjectProperties projectProperties =
ProjectProperties.getProjectProperties(modified[0]);
+                               ProjectProperties projectProperties =
ProjectProperties.getProjectProperties(modified[0]);
                                commit = confirmCommit(modified, projectProperties);
                            }

@@ -136,12 +141,20 @@
                    return; // user canceled
                }

-               CommitOperation commitOperation = new
CommitOperation(getTargetPart(), resources, 
-                       (IResource[]) resourcesToBeAdded.toArray(new
IResource[resourcesToBeAdded.size()]),
-                       (IResource[]) resourcesToBeDeleted.toArray(new
IResource[resourcesToBeDeleted.size()]),
-                       resourcesToCommit, commitComment, keepLocks);
+               IResource[] arrayToBeAdded = (IResource[])
resourcesToBeAdded.toArray(new IResource[resourcesToBeAdded.size()]);
+               IResource[] arrayToBeDeleted = (IResource[])
resourcesToBeDeleted.toArray(new IResource[resourcesToBeDeleted.size()]);
+               //Pre-commit execution
+               
+               ICommitAction[] preCommitActions = CommitExtension.getPreCommitActions();
+               ICommitAction[] postCommitActions =
CommitExtension.getPostCommitActions();
+               
+               CommitOperation commitOperation = new CommitOperation(getTargetPart(),
resources, 
+                       arrayToBeAdded,
+                       arrayToBeDeleted,
+                       resourcesToCommit, commitComment, keepLocks, preCommitActions,
postCommitActions);
                commitOperation.setCanRunAsJob(canRunAsJob);            
                commitOperation.run();
+               //Post-commit execution
             }
    }

Index: schema/commitaction.exsd
===================================================================
--- schema/commitaction.exsd    (revision 0)
+++ schema/commitaction.exsd    (revision 0)
@@ -0,0 +1,102 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.tigris.subversion.subclipse.ui"
xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appInfo>
+         <meta.schema plugin="org.tigris.subversion.subclipse.ui"
id="precommitaction" name="Pre commit action"/>
+      </appInfo>
+      <documentation>
+         Adds a commit action to the commit dialog.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appInfo>
+            <meta.element />
+         </appInfo>
+      </annotation>
+      <complexType>
+         <choice minOccurs="0" maxOccurs="1">
+            <element ref="contribution" minOccurs="1" maxOccurs="unbounded"/>
+         </choice>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appInfo>
+                  <meta.attribute translatable="true"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="contribution">
+      <complexType>
+         <attribute name="class" type="string" use="required">
+            <annotation>
+               <documentation>
+                  Class implementing the commit action
+               </documentation>
+               <appInfo>
+                  <meta.attribute kind="java"
basedOn=":org.tigris.subversion.subclipse.ui.prepostcommit.ICommitAction"/>
+               </appInfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="since"/>
+      </appInfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="examples"/>
+      </appInfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="apiinfo"/>
+      </appInfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appInfo>
+         <meta.section type="implementation"/>
+      </appInfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>
Index: src/org/tigris/subversion/subclipse/ui/prepostcommit/CommitExtension.java
===================================================================
--- src/org/tigris/subversion/subclipse/ui/prepostcommit/CommitExtension.java
(revision 0)
+++ src/org/tigris/subversion/subclipse/ui/prepostcommit/CommitExtension.java
(revision 0)
@@ -0,0 +1,45 @@
+package org.tigris.subversion.subclipse.ui.prepostcommit;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IExtensionRegistry;
+import org.eclipse.core.runtime.Platform;
+
+public final class CommitExtension {
+
+   private static final String PRE_COMMIT_ID =
"org.tigris.subversion.subclipse.ui.precommitaction";
+   private static final String POST_COMMIT_ID =
"org.tigris.subversion.subclipse.ui.postcommitaction";
+   
+   private CommitExtension(){}
+   
+   public static ICommitAction[] getPreCommitActions() {
+       return getCommitActions( true );
+   }
+   
+   public static ICommitAction[] getPostCommitActions() {
+       return getCommitActions( false );
+   }
+   
+   private static ICommitAction[] getCommitActions(final boolean preCommit) {
+       List result = new ArrayList();
+       IExtensionRegistry eReg = Platform.getExtensionRegistry();
+       IConfigurationElement[] elements = eReg
+               .getConfigurationElementsFor(preCommit ? PRE_COMMIT_ID
+                       : POST_COMMIT_ID);
+       try {
+           for (int i = 0; i < elements.length; i++) {
+               Object object = elements[i].createExecutableExtension("class");
+               if (object instanceof ICommitAction) {
+                   result.add(object);
+               }
+           }
+       } catch (CoreException e1) {
+           e1.printStackTrace();
+       }
+       return (ICommitAction[]) result
+               .toArray(new ICommitAction[result.size()]);
+   }
+}
Index: src/org/tigris/subversion/subclipse/ui/operations/CommitOperation.java
===================================================================
--- src/org/tigris/subversion/subclipse/ui/operations/CommitOperation.java
(revision 4859)
+++ src/org/tigris/subversion/subclipse/ui/operations/CommitOperation.java
(working copy)
@@ -22,6 +22,7 @@

 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.jobs.IJobChangeEvent;
 import org.eclipse.team.core.RepositoryProvider;
 import org.eclipse.team.core.TeamException;
 import org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration;
@@ -34,6 +35,7 @@
 import org.tigris.subversion.subclipse.ui.ISVNUIConstants;
 import org.tigris.subversion.subclipse.ui.Policy;
 import org.tigris.subversion.subclipse.ui.SVNUIPlugin;
+import org.tigris.subversion.subclipse.ui.prepostcommit.ICommitAction;
 import org.tigris.subversion.subclipse.ui.subscriber.SVNSynchronizeParticipant;
 import org.tigris.subversion.svnclientadapter.ISVNClientAdapter;
 import org.tigris.subversion.svnclientadapter.ISVNInfo;
@@ -51,18 +53,27 @@
     private ISynchronizePageConfiguration configuration;
     private boolean useJavaHLHack = true;
     private boolean canRunAsJob = true;
+   private final ICommitAction[] postCommitActions;
+   private final ICommitAction[] preCommitActions;

-    public CommitOperation(IWorkbenchPart part, IResource[] selectedResources,
IResource[] resourcesToAdd, IResource[] resourcesToDelete, IResource[]
resourcesToCommit, String commitComment, boolean keepLocks) {
-        super(part);
-//        this.selectedResources = selectedResources;
-        this.resourcesToAdd = resourcesToAdd;
-        this.resourcesToDelete = resourcesToDelete;
-        this.resourcesToCommit = resourcesToCommit;
-        this.commitComment = commitComment;
-        this.keepLocks = keepLocks;
-    }
+   public CommitOperation(IWorkbenchPart part, IResource[] selectedResources,
+           IResource[] resourcesToAdd, IResource[] resourcesToDelete,
+           IResource[] resourcesToCommit, String commitComment,
+           boolean keepLocks, ICommitAction[] preCommitActions,
+           ICommitAction[] postCommitActions) {
+       super(part);
+       // this.selectedResources = selectedResources;
+       this.resourcesToAdd = resourcesToAdd;
+       this.resourcesToDelete = resourcesToDelete;
+       this.resourcesToCommit = resourcesToCommit;
+       this.commitComment = commitComment;
+       this.keepLocks = keepLocks;
+       this.preCommitActions = preCommitActions;
+       this.postCommitActions = postCommitActions;
+   }

     protected void execute(IProgressMonitor monitor) throws SVNException,
InterruptedException {
+       System.out.println( "Execute start");
        monitor.beginTask(null, resourcesToAdd.length + resourcesToDelete.length +
resourcesToCommit.length);
        String adminFolderName =
SVNProviderPlugin.getPlugin().getAdminDirectoryName();
        File cleanUpPathList = null;
@@ -514,4 +525,17 @@
        this.canRunAsJob = canRunAsJob;
    }

+   public void done(IJobChangeEvent event) {
+       for( int i = 0; i < postCommitActions.length; i++) {
+           postCommitActions[i].execute(resourcesToCommit, resourcesToAdd,
resourcesToDelete);
+       }
+       super.done(event);
+   }
+
+   public void aboutToRun(IJobChangeEvent event) {
+       for( int i = 0; i < preCommitActions.length; i++) {
+           preCommitActions[i].execute(resourcesToCommit, resourcesToAdd,
resourcesToDelete);
+       }
+       super.aboutToRun(event);
+   }
 }
Index:
src/org/tigris/subversion/subclipse/ui/subscriber/CommitSynchronizeOperation.java
===================================================================

---
src/org/tigris/subversion/subclipse/ui/subscriber/CommitSynchronizeOperation.java   (revision
4859)
+++
src/org/tigris/subversion/subclipse/ui/subscriber/CommitSynchronizeOperation.java   (working
copy)
@@ -46,6 +46,8 @@
 import org.tigris.subversion.subclipse.ui.SVNUIPlugin;
 import org.tigris.subversion.subclipse.ui.dialogs.CommitToTagsWarningDialog;
 import org.tigris.subversion.subclipse.ui.operations.CommitOperation;
+import org.tigris.subversion.subclipse.ui.prepostcommit.CommitExtension;
+import org.tigris.subversion.subclipse.ui.prepostcommit.ICommitAction;
 import org.tigris.subversion.subclipse.ui.settings.ProjectProperties;
 import org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizard;
 import org.tigris.subversion.subclipse.ui.wizards.dialogs.SvnWizardCommitPage;
@@ -324,8 +326,10 @@
            toBeAddedList.toArray(resourcesToBeAdded[0]);
            resourcesToBeDeleted[0] = new IResource[toBeDeletedList.size()];
            toBeDeletedList.toArray(resourcesToBeDeleted[0]);
+           ICommitAction[] preCommitActions = CommitExtension.getPreCommitActions();
+           ICommitAction[] postCommitActions = CommitExtension.getPostCommitActions();
            try {
-                CommitOperation commit = new CommitOperation(getPart(),
resourcesToCommit, resourcesToBeAdded[0], resourcesToBeDeleted[0],
resourcesToCommit, commitComment, keepLocks);
+                CommitOperation commit = new CommitOperation(getPart(),
resourcesToCommit, resourcesToBeAdded[0], resourcesToBeDeleted[0],
resourcesToCommit, commitComment, keepLocks, preCommitActions, postCommitActions);
                 if
(SVNProviderPlugin.getPlugin().getPluginPreferences().getBoolean(ISVNCoreConstants.PREF_SHOW_OUT_OF_DATE_FOLDERS))
                    commit.setConfiguration(configuration);
                 commit.run();
Index: META-INF/MANIFEST.MF
===================================================================
--- META-INF/MANIFEST.MF    (revision 4859)
+++ META-INF/MANIFEST.MF    (working copy)
@@ -41,6 +41,7 @@
  org.tigris.subversion.subclipse.ui.internal,
  org.tigris.subversion.subclipse.ui.operations,
  org.tigris.subversion.subclipse.ui.preferences,
+ org.tigris.subversion.subclipse.ui.prepostcommit,
  org.tigris.subversion.subclipse.ui.properties,
  org.tigris.subversion.subclipse.ui.repository,
  org.tigris.subversion.subclipse.ui.repository.model,

Metadata Imported from Tigris (Issue 1254)

  • Creation Date: 2011-03-28 01:49:07
  • Reporter: pandaa
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2011-03-28 01:49:54 by pandaa

Created an attachment (id=339)
There you go, found the button. This is the patch on the pre/post commit for the client siede

Attachments

subclipse_prepostcommit.txt - There you go, found the button. This is the patch on the pre/post commit for the client siede

Posted 2011-03-28 01:49:54 by pandaa

Remove old annotations view [Tigris #559]

Description

Brock, I'll leave this one for you to decide.  Is there any reason to keep the
old annotations view?  The new stuff is so much nicer and better to work with. 
If we ditched the view, that would leave us with just two views that we are
adding plus we could remove that class that uses all those internal Team
classes, plus we could remove the preference stuff.

I guess CVS still has the old view, I just cannot see why anyone would want to
use it.

Metadata Imported from Tigris (Issue 559)

  • Creation Date: 2006-09-26 11:54:11
  • Reporter: markphip
  • Subcomponent: UI
  • Version: 1.1.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2006-09-26 14:50:26 by brockj

Live annotate only works for local files at the moment (not remote ones).  It is
possible to get it working for remote files and i am watching a CVS issue to see
how they do it.  We would also need to fixup the linking between the annotations
and the history view.  Again, this can be copied from CVS.

Once we support live annotate on remote files we should definitely kill the old
view, it is just too inconvenient to use.

2006-09-26 15:40:44 by markphip

I hadn't even thought about remote revisions, glad I checked with you.  Let's
just leave this as you will do the right thing when the time is right.  Sounds
like we are in agreement as to the eventual goal.

2006-09-27 18:24:39 by brockj

Created an attachment (id=160)
Patch to add remote annotations and link revisions to the history view

2006-09-27 18:25:43 by brockj

The attached patch adds basic functionality, but it doesn't seem to correctly
link from the revision ruler for remote files to the history view correctly. 
The link with selection button acts a bit strangely too.

2006-09-28 11:51:15 by markphip

I think this might be an Eclipse 3.3 class:

org.eclipse.jface.text.revisions.IRevisionRulerColumnExtension

2006-09-28 14:38:08 by brockj

yep, that was definitely added in 3.3.  It allows you to listen for selection
changes in the quick diff bar.  It might be possible to do something with
reflection here to get it working in 3.2 and 3.3 (but selections won't work in 3.2)

2006-09-28 15:05:41 by brockj

Created an attachment (id=161)
3.2 compatible patch

2006-09-28 15:06:37 by brockj

The new patch uses reflection to work around the missing class.  Changing the
selection in the text editor will not select the correct revision in the history
view (in 3.2).

2006-09-28 17:06:23 by markphip

You need to also use this constant for Eclipse 3.2 compatability:

ISVNUIConstants.HISTORY_VIEW_ID

Opening the History view worked (linking didn't as you said it wouldn't).
Annotate from SVN Repository view worked for .java files, but not for things
like plugin.xml and plugin.properties.  Looked like the editor just didn't
display the area where the quick diff info would be visible.

2006-09-28 17:07:49 by markphip

Also got this back in the Console while testing:

java.lang.ClassNotFoundException:
org.eclipse.jface.text.revisions.IRevisionRulerColumnExtension
    at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:407)
    at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:352)
    at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at
org.tigris.subversion.subclipse.ui.history.SVNHistoryPage.getEditorRevisonSelectionProvider(SVNHistoryPage.java:1972)
    at
org.tigris.subversion.subclipse.ui.history.SVNHistoryPage.linkWithEditor(SVNHistoryPage.java:2001)
    at
org.tigris.subversion.subclipse.ui.operations.ShowAnnotationOperation.showHistoryView(ShowAnnotationOperation.java:182)
    at
org.tigris.subversion.subclipse.ui.operations.ShowAnnotationOperation.access$2(ShowAnnotationOperation.java:175)
    at
org.tigris.subversion.subclipse.ui.operations.ShowAnnotationOperation$1.run(ShowAnnotationOperation.java:152)


The exception is probably normal but it should not be logged should it?

2006-09-28 17:18:57 by brockj

The exception shouldn't be logged.  I tested the CVS version and it doesn't work
on plugin.xml files either.  Probably because the editor is a multipage editor
and doesn't directly implement ITextEditor.  It defaults t the default text
editor in this case, but it should be possible to turn on the quick diff and
revision ruler.

Attachments

remote annotate.patch - Patch to add remote annotations and link revisions to the history view

Posted 2006-09-27 18:24:39 by brockj

remote annotate 3.2.patch - 3.2 compatible patch

Posted 2006-09-28 15:05:41 by brockj

Linked Folders [Tigris #823]

Description

I have a project which contains 4 source folders in project's folder and 3 
folders linked from d:\common\. Eclipse can compile and manage the source 
files very well. I wish subclipse to manage theese folders with subversion 
just like vssplugin.

Metadata Imported from Tigris (Issue 823)

  • Creation Date: 2008-12-23 00:49:52
  • Reporter: hjunior81
  • Subcomponent: UI
  • Version: 1.4.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Provide extension point supporting additional columns in history-view [Tigris #1242]

Description

In many companies users have more or less cryptic user-names (fixed by the
administrative department). In additional commit-comment may or may not contain
meta-information.
It would be cool to have an extension point for the history-view to provide
additional columns like "real"-names, department, ..., resolved meta-data (e.g.
link to the issue resolved with the commit), etc. etc...

Remark:
We (aquintos) would extend the classes and give the sources back to the
community if this is desirable.

Metadata Imported from Tigris (Issue 1242)

  • Creation Date: 2011-02-15 01:16:57
  • Reporter: bunghole
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Option to reformat commit comments in history view [Tigris #473]

Description

Often commit comment formatting choosen by committers could be quite
inefficient. For example:

-------
PR: MRM-104

make repoCache a member of the ProxyManager, which will remove
ArtifactRepositoryFactory 

removed browsable configuration

created Map of repository layouts to query from

created a new class to load a maven-proxy to ProxyConfiguration
-------

So it would help to use small area of the comment panel in history view more
efficient if comments would be reformatted using simple rules: remove empty
lines, ident text on new paragraph (after empty line)

For example:

-------
PR: MRM-104
  make repoCache a member of the ProxyManager, which will remove
ArtifactRepositoryFactory 
  removed browsable configuration
  created Map of repository layouts to query from
  created a new class to load a maven-proxy to ProxyConfiguration
-------

Also, when showing comments in table, trim them, so empty lines and line break
after single first line won't make comment look like "ignore[...]"

Metadata Imported from Tigris (Issue 473)

  • Creation Date: 2006-03-16 09:25:29
  • Reporter: eu
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: 1.4
  • Keywords:
  • Cc:

Comments

2006-06-01 11:51:18 by markphip

Changing version to 1.0.x so that I can delete 0.9.x

2007-05-01 07:46:19 by markphip

Assign to 1.4 milestone

2008-01-18 07:48:04 by selsemore

Assigned

2008-01-18 07:50:06 by selsemore

Replacing new line characters with spaces when showing comments in table rather 
than truncating at first new line character.

2008-01-18 08:00:37 by eu

Stephen, can you please also add some code to trim trailing spaces and line
breaks in the table and in comment panel?

2008-01-18 08:03:10 by markphip

I asked him to only do it in the table.  I do not think it is appropriate to do it in the other panel.  As a user, 
I'd actually be pretty pissed if it did that.

2008-01-18 08:11:10 by eu

Mark, I agree that it may not be appropriate to replace all the line breaks in
comment area (at least that should be an option to enable reformatting comment
text and not just strip line breaks). However removing trailing whitespace would
remove unnecessary vertical scrolling from the comment area.

New/Enhance Create Branch/Tag option that can do it for multiple projects [Tigris #472]

Description

New/Enhance Create Branch/Tag option that can do it for multiple 
projects as discussed in the mail list:

1)  Select more than one project in say the Navigator view or Package Explorer
Eclipse views.  I think we can do this conditioning right in the option
contribution to the menu.

2)  Bring up Create tag dialog and choose target folder that will be common for
all selected projects.

3) For each selected project:

3a) Update the subclipse:tags property or create if absent

3b) Commit subclipse:tags property using "update tag/branch info for XXX
tag/branch" comment

3c) Create actual tag/branch copy of the project in selected target folder

This would and up with about 1 + N + N commits (mkdir + property + copy), but
should be still reasonable fast. 

Possible optimization could be doing commits copy on a parrent source folder,
but that will require to make sure that parent folder does not have extra child
folders besides those selected by user for current tag/branch action.

Metadata Imported from Tigris (Issue 472)

  • Creation Date: 2006-03-15 20:08:44
  • Reporter: eu
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: 1.4
  • Keywords:
  • Cc: gwagenknecht

Comments

2006-03-15 20:11:17 by eu

It would make sense to fix 471 first, so property can be committed before tag is
created.

2006-06-01 11:51:24 by markphip

Changing version to 1.0.x so that I can delete 0.9.x

2006-08-25 10:25:18 by gwagenknecht

adding my self to the CC list

2007-05-01 07:46:05 by markphip

Assign to 1.4 milestone

2008-01-15 09:18:11 by selsemore

Assigned to myself.

2008-01-15 09:19:51 by selsemore

I've converted the Branch/Tag dialog to a multiple page wizard and enabled it 
for multiple selection.  The subclipse:tags property is not yet being managed 
for multiple selection branching.  This will be reexamined later.

"Smarter Browsing" Browse repo starting at current location, rather than repo root [Tigris #785]

Description

When, for instance, I do a switch, currently, the following happens:

Working copy is at:
https://myrepo/projectA/branches/featureA
And I want to switch to:
https://myrepo/projectA/branches/featureB

...In the switch dialog, if I hit the "Select..." button, it drops me all the
way to the repo root:
https://myrepo/

However, I'd prefer to start at the current location, so the desired behavior:

Working copy is at:
https://myrepo/projectA/branches/featureA
And I want to switch to:
https://myrepo/projectA/branches/featureB

...In the switch dialog, if I hit the "Select..." button, it would drop me in
the current path:
https://myrepo/projectA/branches/featureA

...then I go up one directory, and select the featureB branch.

TortoiseSVN got me used to this convention, and this behavior seems to work best
for me almost all the time, so I find myself wishing for this feature when
switching/merging, etc.

I realize there would need to be some sort of error handling when the current WC
location no longer exists in the repo, but this is something that I think, say,
TortoiseSVN handles in a fairly intuitive way.

Metadata Imported from Tigris (Issue 785)

  • Creation Date: 2008-07-31 06:40:50
  • Reporter: jamiejackson
  • Subcomponent: UI
  • Version: 1.4.x
  • Milestone: not determined
  • Keywords:
  • Cc:

add a 'show diff' option on a 'create patch' window [Tigris #896]

Description

When creating a patch 'Team|Create patch..'
on a directory - i get a list of files, that I can inlude in the patch.

I would love to be able to double click on a file to see comparison of my
workspace file to the repository file.
Just like it is possible just before the commit.

This is important to control and check what am i about to put in the patch

Metadata Imported from Tigris (Issue 896)

  • Creation Date: 2009-04-09 04:49:03
  • Reporter: kretes
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Merge resource selection [Tigris #836]

Description

It would be very usefull when if I use subclipse merge function before the real 
merge (when I press merge maybe it's a "popup") when I show what resource merged 
(in tree with checkbox) and I can select only 1-2 resource (files or complete 
folders) to merge.

Metadata Imported from Tigris (Issue 836)

  • Creation Date: 2009-01-29 03:45:36
  • Reporter: b0c1
  • Subcomponent: UI
  • Version: 1.4.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Empty depth checkout/update [Tigris #1175]

Description

It is not possible to checkout/update nonexistent working copy children of empty 
folders (which might themselves have a particular depth). This is necessary for 
large projects where you need to drill down to the directory and files that you 
need.

Similarly, it is not possible to dispose of working copy children of empty 
folders without actually deleting them from the repo.

I have previously written my own plugin to do this for use with a large code 
base of 4M lines of code, but my expertise is limited with subclipse. Perhaps 
you might be able to do a more professional job.

Thanks.

Metadata Imported from Tigris (Issue 1175)

  • Creation Date: 2010-07-29 05:17:44
  • Reporter: thematto
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Enhance svn export capabilities [Tigris #690]

Description

Enhance Subclipse's SVN Export functionality to allow multiple projects to be
exported from the SVN Repository View, checking out the clean directory
structures as projects into the current workspace.

This is essentially making the "Export..." behavior identical to that of the
"Checkout..." (perhaps just with an optional additional "Export Directory"
location, which defaults to the current workspace).

Related discussion:
http://subclipse.tigris.org/servlets/ReadMsg?list=users&msgNo=10991

Metadata Imported from Tigris (Issue 690)

  • Creation Date: 2007-11-06 07:55:04
  • Reporter: shelleyb
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

m2e-subclipse support for subclipse 1.10.x [Tigris #1557]

Description

The m2e-subclipse m2e connector hosted on tigris.org needs updating to allow 
working with subclipse 1.10.x

http://subclipse.tigris.org/m2eclipse/1.0/

Someone else has made the change here, but we need the tigris update site to 
incorporate this change to make subclipse m2e integration working again. 

https://github.com/tesla/m2eclipse-
subclipse/commit/a1b6b970475d3aa2d4d15426a8a515defd5ce40c

Thanks,
dan.

Metadata Imported from Tigris (Issue 1557)

  • Creation Date: 2013-10-24 15:32:41
  • Reporter: dantheperson
  • Subcomponent: core
  • Version: 1.10.x
  • Milestone: not determined
  • Keywords:
  • Cc: jeremfg, michael_o

Comments

2013-10-25 10:50:44 by markphip

How about someone build an update site for this plugin, zip it and attach to this issue?  You can see what 
the current site looks like here:

http://subclipse.tigris.org/source/browse/subclipse/trunk/www/m2eclipse/

I can then add a 1.1, or whatever, folder to stick it in which will make it available to others.

I thought the version in the m2eclipse marketplace already took care of this by removing the version 
constraint entirely. 

2013-10-25 12:52:11 by dantheperson

The one on the marketplace is from sonatype, and they no longer support it. It's 
upper version bound is 1.9.0

I'll see if i can find some time this weekend to have another go at building it. 
Long weekend here so might be a chance.

This really is the missing piece for me having switched back to subclipse from 
subversive to get svn 1.8 support.

Dan.



Operation details
Cannot complete the install because one or more required items could not be 
found.
Software being installed: Maven SCM handler for Subclipse 0.13.0.201303011221 
(org.sonatype.m2e.subclipse.feature.feature.group 0.13.0.201303011221)
Missing requirement: Maven SCM Handler for Subclipse 0.13.0.201303011221 
(org.sonatype.m2e.subclipse 0.13.0.201303011221) requires 'bundle 
org.tigris.subversion.subclipse.core [1.6.0,1.9.0)' but it could not be found
Cannot satisfy dependency:
From: Maven SCM handler for Subclipse 0.13.0.201303011221 
(org.sonatype.m2e.subclipse.feature.feature.group 0.13.0.201303011221)
To: org.sonatype.m2e.subclipse [0.13.0.201303011221]

2013-10-25 12:55:25 by markphip

They said it was not supported back when we set this up last time, and then they went ahead and updated 
their package again and put it in their new marketplace.  So it seems they are not consistent about what 
they support and do not support.

The Subclipse API has not changed so the best thing would be to push them to remove the upper version 
constraint and post an update of their package to their marketplace.

There is a GitHub issue or two where this has all been hashed out in the past.

2014-01-10 11:55:46 by gjditchfield

I just tried installing subclipse from the Eclipse Marketplace and m2e-subclipse
from the m2e Marketplace, and ran into this problem. Is there a work-around? Is
there another place to go and complain?

2014-01-13 00:14:07 by kitschen

Created an attachment (id=414)
Update site for m2e connector which works with subclipse 1.10

2014-01-13 00:18:40 by kitschen

I have compiled the project at https://github.com/tesla/m2eclipse-subclipse and 
zipped the update site and uploaded as attachment. Installation instructions 
are:

Download zip org.sonatype.m2e.subclipse.feature-0.13.0-SNAPSHOT-site.zip

* Unzip the file to an empty folder somewhere, remember that folder
In Eclipse, 
* go to Help/Install New Softwareโ€ฆ 
* Click โ€œAddโ€ฆโ€ to add a new site
* In the window, click on โ€œLocalโ€ฆโ€ and choose the folder where you unzipped the 
site before. The result in the Location field should look like file:/C:/
theUnzipFolder/
* Click OK, choose all available packages to install, and continue the 
installation as usual

2014-01-13 07:28:46 by gjditchfield

Works for me now. Thanks!

2014-01-13 07:37:54 by markphip

Thanks Karl.

I have uploaded this so that it can be installed via URL.  I went with:

http://subclipse.tigris.org/m2eclipse/latest/

2014-01-30 20:25:13 by oguilherme

The url http://subclipse.tigris.org/m2eclipse/latest/ isn't working.

2014-02-07 17:07:23 by jeremfg

Thanks for posting this update site!

Works 100%

2014-06-08 03:33:05 by michael_o

CC me

2015-01-27 07:52:01 by bradacupit

The update site URL works fine in Eclipse, thanks Mark!

If you try opening it in the browser, it won't work, but that's ok.

2015-06-28 14:22:06 by psychomuzi

Created an attachment (id=434)
update site for eclipse mars

2015-06-28 14:56:49 by psychomuzi

Hello,

somehow the version from m2e subclipse isn't working with eclipse mars.

therefore i created an update site and uploaded it...

i send also a pull request to project on github. 
https://github.com/tesla/m2eclipse-subclipse/pull/16

can you check my changes and update the update site.

I'm not sure if this update site is working with eclipse luna or even older 
versions...

can some do a test?

regards alex

2015-06-28 23:25:55 by psychomuzi

hello,

sorry, but i think i was using the wrong update site... 
shame on me...

regards alex

Attachments

org.sonatype.m2e.subclipse.feature-0.13.0-SNAPSHOT-site.zip - Update site for m2e connector which works with subclipse 1.10

Posted 2014-01-13 00:14:07 by kitschen

org.sonatype.m2e.subclipse.updatesite-0.13.0-SNAPSHOT.zip - update site for eclipse mars

Posted 2015-06-28 14:22:06 by psychomuzi

Use Eclipse API to persist dialog sizes and locations [Tigris #730]

Description

Subclipse currently has its own mechanism for persisting dialog sizes and locations, but
Eclipse 3.2 introduced an API for doing this (see Dialog methods getDialogBoundsStrategy
and getDialogBoundsSettings) which should be used instead.

Metadata Imported from Tigris (Issue 730)

  • Creation Date: 2008-04-15 08:34:53
  • Reporter: selsemore
  • Subcomponent: core
  • Version: head
  • Milestone: not determined
  • Keywords:
  • Cc:

add ui support for changing repository username/password [Tigris #875]

Description

The dialog for setting username/password already exists, but once the
credentials have been set, there's no way to call up that dialog again.

I know this issue is adressed in the FAQ (
http://subclipse.tigris.org/wiki/PluginFAQ#head-d507c29676491f4419997a76735feb6ef0aa8cf8
) and the users are advised to delete the cached credentials for either of the
adapters, but this is very NOT USER FRIENDLY.

A SIMPLE SOLLUTION would be to
 - add an item to the contextual menu for the repository location (svn repo
view) to re-show the existing dialog
 - add a button that shows this dialog to the apropriate section in the preferences
 - or both


I guess that's what the guy that made this bug:
http://subclipse.tigris.org/issues/show_bug.cgi?id=843 meant...and got turned
down with "Resolution: INVALID". It's imho very simple to show an existing
dialog so please consider this - it would save a lot of headaches.

Metadata Imported from Tigris (Issue 875)

  • Creation Date: 2009-03-23 10:07:07
  • Reporter: unrealone
  • Subcomponent: UI
  • Version: 1.4.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2009-03-23 10:22:30 by markphip

The part you do not get is that we do not have any control of this.  Subversion
owns this data and it does provide any API to manipulate.  There is no API to
clear or update credentials.  When/if Subversion creates such an API we will add
UI to support it.

2009-03-23 10:32:09 by unrealone

That may be so. Correct me if I'm wrong, but isn't there an option (a checkbox
on the username dialog) not to store the credentials? When that checkbox is left
unchecked, the same dialog will reappear every time asking for the password.

When there is no support in the subversion API, why not let Subclipse manage the
stored credentials? 

Either ask every time (in case the mentioned checkbox is left unchecked) or
supply the credentials to subversion automatically (as it would anyway in the
first case, but this time without the user having to interact).

2009-03-23 10:49:48 by markphip

The Save Credentials option is also part of the Subversion API and just lets you
control whether they store it or not.  It is not something we control.

We used to store it ourselves and it does not work out.  Because Subversion has
its own store that it will use regardless of ours and also we are not aware of
things like when Subversion prompts the user to change their password etc.

I agree about adding the UI you ask for.  I am just saying it cannot be done
until Subversion exposed an API for us to call to perform the action.

2009-03-23 10:55:59 by unrealone

Mmm that's a shame.

My point was that the physical dialog is rendered by Eclipse, so when subclipse
would ALWAYS tell subversion NOT to store the credentials (regardless of the
checkbox value), the credentials could then be managed by subclipse. The
checkbox value would only tell SUBCLIPSE whether to ask for the credentials
every time.

2009-03-23 10:58:51 by unrealone

"The Save Credentials option is also part of the Subversion API and just lets you
control whether they store it or not.  It is not something we control."

As you said - when subversion stores it, there's no way to change it...that was
my point exactly - not to let subversion store the credentials in the first place...

2009-03-23 11:04:31 by markphip

The problem is that the dialog is a callback that we register with Subversion
and it is in control of deciding when it needs to use the callback.  So, for
example, if you have valid credentials cached by Subversion, it will never
decide to use the callback.  Likewise, if the credentials become invalid,
Subversion will fire the callback to get new ones.  However, if we are just
trying to intercept this and feed in the ones we have cached we would just be
giving it the same invalid credentials over and over.  This was one of the
problems we used to have. 

2009-03-23 11:18:00 by unrealone

I understand that it's Subversion who asks for the credentials.

I'm sorry - I don't want to rob you of your time so maybe just close the issue
if you think it's not possible. Anyway here I go with my last attempt/proposal ;-)

The dialog is something you can modify or not?
If so, I propose to do the following:

step 1: subversion asks for the credentials
step 2: user fills in the username/password
step 3: user checks the checkbox (as in "i want to store my credentials")
step 4: subclipse stores the credentials to its own store, but...
step 5: the values passed by the callback back to subversion are:
username/password/i_do_not_wish_to_store_credentials (if this is not possible,
than we're boned with this :-) )
step 6: subversion is happy to have the credentials, but doesn't store them as asked
step 7: subversion thinks it needs the credentials once again, but doesn't have
them stored, so once again fires up the mentioned callback (and we're back to
step 5)

2009-03-23 12:02:58 by markphip

Yes, we own the dialog.

I am making two points:

1) If Subversion already has the credentials cached, because you used another
client like the CLI or TortoiseSVN, then it will never bother to ask us.  Not a
huge problem, but just pointing it out.

2) If you give invalid credentials, or worse, if the cached credentials become
invalid, Subversion simply asks for the credentials again.  We have no way to
know why.  So if we just see that we have them cached and provide them again,
the user gets in a prompt loop and in some cases they disable their server account.

#2 was the main reason we stopped doing this back before we got to our 1.0
release.  This would happen to users all the time and there was nothing we could
figure out to do about it.

2009-03-23 23:21:12 by unrealone

Mmm I was hoping there would be some way to address this, but looks like there
really isn't. Sorry to keep you so long...I guess you guys would've found a
solution long ago if it were possible...

Show in... Team/SVN Repository [Tigris #574]

Description

It would be nifty to have an entry in the "Show in..." menu so that the
selected/current resource is displayed in the Team/SVN Repository view. It would
save a lot of tree browsing in deep hierarchies.

Metadata Imported from Tigris (Issue 574)

  • Creation Date: 2006-10-26 13:43:48
  • Reporter: jkohen
  • Subcomponent: UI
  • Version: 1.1.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2006-10-26 13:47:39 by markphip

This is a classic example of where you'd have been better off if you followed
our guidelines and posted this to the users@ mailing list instead of filing an
issue.  No one is likely to come here and find this request, let alone be
interested in it, but if you started a mailing list thread you might flesh out
support for the idea before entering the issue.

That aside ...

What/where is the Show in... menu?  I cannot find one in Eclipse 3.2.1.

What is the need for showing an item in the SVN Repository view?  What would be
the action you would want/need to do from that view that would justify creating
a shortcut?

New repository location if url has spaces [Tigris #401]

Description

I am using Eclipse 3.1.1, TortoiseSVN 1.2.4.4479 (with Subversion 1.2.3) and 
Subclipse 0.9.34.

When I create a repository location which has spaces in its url, a checkout 
causes a new repository location to be created with %20 instead of the spaces.

Metadata Imported from Tigris (Issue 401)

  • Creation Date: 2005-10-14 01:01:04
  • Reporter: tuneke
  • Subcomponent: UI
  • Version: current
  • Milestone: 1.1
  • Keywords:
  • Cc: softwave

Comments

2005-12-20 11:46:47 by markphip

Updating keywords.

I have witnessed this.  It might be hard to fix.  I think that Subversion
encodes the URL and gives it back to us this way so that when we look it up we
do not get a match.  Best thing is to probably just enter a properly encoded URL
in the first place.

2011-03-15 07:56:58 by softwave

teste

Need an option to add a file to SVN in Eclipse's create new file dialog [Tigris #1197]

Description

It would be nice to have a checkbox in New File window in Eclipse to add it
immediately to SVN.

Metadata Imported from Tigris (Issue 1197)

  • Creation Date: 2010-10-06 06:37:48
  • Reporter: ckanth99
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2010-10-06 06:57:48 by markphip

I do not know if Eclipse provides a mechanism to do this or now, I cannot image it does.  I do not see what 
the value would be or why you would care or want it.  Subclipse will automatically add the file when you 
commit or whenever you do another action that needs it to be added, such as creating a patch.  So what do 
you gain by doing it sooner?

2010-10-18 03:39:32 by ckanth99

It would add value to me for below reasons. Though I am not sure how difficult
to develop this feature in eclipse.

-> I do use Tortoise SVN whenver I am committing files, since I don't like the
interface provided by subclipse plugin.
-> We have lot of unversioned files already present. Whenever I need to commit,
I have to check the full list of unversioned files to find out the files I have
added.

Though usually I add any java file to version control as soon as a created new
file, I did forget this lot of times. 
And since I was on the assumption that I added the new files to version control
already, I skip the pre-commit check of unversioned files which cause the build
to break frequently.

It would be nice (not critical) to have a check box in New File Window where we
can mark to add the file to version control as soon as the file is created.

2010-10-18 03:41:17 by ckanth99

To conclude this feature would be nice not very important as I have other
workarounds.

2011-08-03 11:15:24 by jerson

Hi, Reddy.  What's your workaround?  

I'm in similar situation and I need this functionality.  The eclipse plugin for P4 
has this exact functionality and I miss it.

2011-08-03 23:52:45 by ckanth99

@Jerson, I just trained myself not to forget to execute "Team > Add to Version
control" as soon as I create a file.

2011-08-03 23:54:59 by ckanth99

@Jerson, also vote for the issue if you want it to be implemented so that after
getting many votes they may increase the priority of the ticket.

New Useful Keybindings [Tigris #1269]

Description

Hi Guys,

Here are a few ideas for existing functionality that might be implemented as 
direct commands. They would have a great usability impact in JDT and CDT. 
Currently it cannot be done fully with a keybinding and menu drilling and 
dialogs get in the way when default options are fine.

1. Toggle Annotation / Blame in Editor.
   Reveal and hide author and revision information directly while coding.

2. Directly compare against base version.

3. Directly compare against version (eg currently selected in History view, 
say).

Metadata Imported from Tigris (Issue 1269)

  • Creation Date: 2011-05-26 22:35:29
  • Reporter: thematto
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2011-05-26 22:45:31 by thematto

More explanation/information on items 2 and 3:

The same shortcut would work in both project explorer (ie currently selected 
resource(s)) and in the editor (current file).

"Save as..." action for History and Repositories views [Tigris #540]

Description

Please add "Save as..." action to the popup menu in the History view (and maybe 
to the Repositories view). It should allow to save selected resource/revision 
into workspace or as external file and allow to select path and new name for 
the saved resource.

Metadata Imported from Tigris (Issue 540)

  • Creation Date: 2006-08-24 07:38:38
  • Reporter: eu
  • Subcomponent: UI
  • Version: 1.1.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2006-08-31 12:56:01 by jgifford

From the repository view, I would suggest using 'Export' instead of 'Save as...'
on a file.  This would be more consistent with the context menu options that are
also on a directory/folder.  Using 'Export' is also more consistent with the
Subversion command line call to export a file.

2006-08-31 13:34:56 by markphip

I modified the existing Export option to support files, in addition to folders,
in the Repositories view.

Committed in r2655

Still need to add a new option to the History view.  If Eugene wants to do it, I
would think the existing Export dialog and operation would work for it.

2006-08-31 20:24:51 by eu

Mark, can you please add export to workplace folder?

2006-08-31 20:26:03 by eu

Created an attachment (id=141)
location chooser panel in CVS apply patch dialog

2006-08-31 20:53:02 by eu

Created an attachment (id=142)
added action to export individual files

2006-08-31 20:54:41 by eu

By the way, for exporting individual files it would make sense specify the file 
name and not the target folder.

2006-09-01 05:36:10 by markphip

Eugene, the only problem with your patch is that ideally the dialog should come
up with the revision set based on the selection so that it exports the right item.

I agree with your dialog suggestions but do not have any time to work on this in
the near term.

2006-09-01 18:50:11 by eu

Created an attachment (id=145)
patch with revision support

2006-09-01 18:51:26 by eu

Mark, in regards to individual files, I can do the UI partm but export command 
currently does not support specifying a target name for the single file.

2006-09-02 06:05:55 by markphip

Committed your latest patch in r2660.  Thanks

As for specifying a filename, from what I can tell the svn export command does
let you specify a filename.  If we know we are doing a file, we could probably
export it using svn cat.  I believe there is just a method on RemoteFile to get
the contents which will use this command.  That is what compare uses.

It certainly gets it more complicated though.

Attachments

chooselocation.gif - location chooser panel in CVS apply patch dialog

Posted 2006-08-31 20:26:03 by eu

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
jxmZk1mZl5mZm9mZnxmaUSQIAAA7

encoding=base64

subclipse.history.export.patch - added action to export individual files

Posted 2006-08-31 20:53:02 by eu

Index: C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/history/SVNHistoryPage.java
===================================================================
--- C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/history/SVNHistoryPage.java    (revision 2655)
+++ C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/history/SVNHistoryPage.java    (working copy)
@@ -466,6 +466,8 @@
         }
         if(resource != null)
           manager.add(getRevertChangesAction());
+        
+        manager.add(new Separator("exportImportGroup")); //$NON-NLS-1$
       }
     }
     manager.add(new Separator("additions")); //$NON-NLS-1$
Index: C:/dev/eclipse/org.tigris.subversion.subclipse.ui/plugin.xml
===================================================================
--- C:/dev/eclipse/org.tigris.subversion.subclipse.ui/plugin.xml    (revision 2655)
+++ C:/dev/eclipse/org.tigris.subversion.subclipse.ui/plugin.xml    (working copy)
@@ -249,6 +249,19 @@
          </action>
       </objectContribution>
       <objectContribution
+            objectClass="org.tigris.subversion.subclipse.core.history.ILogEntry"
+            id="org.tigris.subversion.subclipse.core.history.ILogEntryContributions">
+          
+         <action
+               label="%ExportRemoteFolderAction.label"
+               icon="icons/full/tortoise/export.gif"
+               class="org.tigris.subversion.subclipse.ui.actions.ExportRemoteFolderAction"
+               menubarPath="exportImportGroup"
+               id="org.tigris.subversion.subclipse.ui.ExportRemoteFolder">
+         </action>         
+            
+      </objectContribution>
+      <objectContribution
             objectClass="org.tigris.subversion.subclipse.core.ISVNRemoteFile"
             id="org.tigris.subversion.subclipse.ui.RemoteFileContributions">
          <action

subclipse.history.export.patch - patch with revision support

Posted 2006-09-01 18:50:11 by eu

Index: C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/dialogs/ExportRemoteFolderDialog.java
===================================================================
--- C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/dialogs/ExportRemoteFolderDialog.java  (revision 2655)
+++ C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/dialogs/ExportRemoteFolderDialog.java  (working copy)
@@ -41,18 +41,17 @@
 import org.tigris.subversion.svnclientadapter.SVNRevision;

 public class ExportRemoteFolderDialog extends TrayDialog {
-   private ISVNRemoteResource remoteFolder;
+   private ISVNRemoteResource remoteResource;
    private IWorkbenchPart targetPart;
    private Text directoryText;
    private Text revisionText;
     private Button logButton;
     private Button headButton;
     private Button revisionButton;
-   private Button okButton;

-   public ExportRemoteFolderDialog(Shell parentShell, ISVNRemoteResource remoteFolder, IWorkbenchPart targetPart) {
+   public ExportRemoteFolderDialog(Shell parentShell, ISVNRemoteResource remoteResource, IWorkbenchPart targetPart) {
        super(parentShell);
-       this.remoteFolder = remoteFolder;
+       this.remoteResource = remoteResource;
        this.targetPart = targetPart;
    }

@@ -84,7 +83,7 @@
        data.widthHint = 300;
        urlText.setLayoutData(data);
        urlText.setEditable(false);
-       urlText.setText(remoteFolder.getUrl().toString());
+       urlText.setText(remoteResource.getUrl().toString());

        new Label(repositoryGroup, SWT.NONE);

@@ -135,20 +134,12 @@
        revisionButton = new Button(revisionGroup, SWT.RADIO);
        revisionButton.setText(Policy.bind("SwitchDialog.revision")); //$NON-NLS-1$

-       headButton.setSelection(true);
-       
        revisionText = new Text(revisionGroup, SWT.BORDER);
        data = new GridData();
        data.widthHint = 40;
        revisionText.setLayoutData(data);
        revisionText.setEnabled(false);
-       
-       revisionText.addModifyListener(new ModifyListener() {
-            public void modifyText(ModifyEvent e) {
-                setOkButtonStatus();
-            }          
-       });
-       
+
        logButton = new Button(revisionGroup, SWT.PUSH);
        logButton.setText(Policy.bind("MergeDialog.showLog")); //$NON-NLS-1$
        logButton.setEnabled(false);
@@ -158,6 +149,21 @@
             }
        }); 

+        if(SVNRevision.HEAD.equals(remoteResource.getRevision())) {
+          headButton.setSelection(true);
+        } else {
+          revisionButton.setSelection(true);
+          revisionText.setText(remoteResource.getRevision().toString());
+          revisionText.setEnabled(true);
+          logButton.setEnabled(true);
+        }
+        
+        revisionText.addModifyListener(new ModifyListener() {
+          public void modifyText(ModifyEvent e) {
+              setOkButtonStatus();
+          }         
+        });
+        
        SelectionListener listener = new SelectionAdapter() {
             public void widgetSelected(SelectionEvent e) {
                 revisionText.setEnabled(revisionButton.getSelection());
@@ -169,7 +175,7 @@
                 }
             }
        };
-       
+        
        headButton.addSelectionListener(listener);
        revisionButton.addSelectionListener(listener);

@@ -180,22 +186,13 @@

        return composite;
    }
-   
-    protected Button createButton(Composite parent, int id, String label, boolean defaultButton) {
-        Button button = super.createButton(parent, id, label, defaultButton);
-       if (id == IDialogConstants.OK_ID) {
-           okButton = button; 
-           okButton.setEnabled(false);
-       }
-        return button;
-    }

     private void setOkButtonStatus() {
-        okButton.setEnabled((directoryText.getText().trim().length() > 0) && (headButton.getSelection() || (revisionText.getText().trim().length() > 0)));
+        getButton(IDialogConstants.OK_ID).setEnabled((directoryText.getText().trim().length() > 0) && (headButton.getSelection() || (revisionText.getText().trim().length() > 0)));
     }

    protected void showLog() {
-        HistoryDialog dialog = new HistoryDialog(getShell(), remoteFolder);
+        HistoryDialog dialog = new HistoryDialog(getShell(), remoteResource);
         if (dialog.open() == HistoryDialog.CANCEL) return;
         ILogEntry[] selectedEntries = dialog.getSelectedLogEntries();
         if (selectedEntries.length == 0) return;
@@ -212,9 +209,9 @@
            long revisionLong = revisionNumber;
            revision = new SVNRevision.Number(revisionLong);
        }
-       File directory = new File(directoryText.getText().trim() + File.separator + remoteFolder.getName());
+       File directory = new File(directoryText.getText().trim() + File.separator + remoteResource.getName());
        try {
-           new ExportRemoteFolderOperation(targetPart, remoteFolder, directory, revision).run();
+           new ExportRemoteFolderOperation(targetPart, remoteResource, directory, revision).run();
        } catch (Exception e) {
            MessageDialog.openError(getShell(), Policy.bind("ExportRemoteFolderAction.directoryDialogText"), e.getMessage()); //$NON-NLS-1$
            success = false;
Index: C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/history/SVNHistoryPage.java
===================================================================
--- C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/history/SVNHistoryPage.java    (revision 2655)
+++ C:/dev/eclipse/org.tigris.subversion.subclipse.ui/src/org/tigris/subversion/subclipse/ui/history/SVNHistoryPage.java    (working copy)
@@ -466,6 +466,8 @@
         }
         if(resource != null)
           manager.add(getRevertChangesAction());
+        
+        manager.add(new Separator("exportImportGroup")); //$NON-NLS-1$
       }
     }
     manager.add(new Separator("additions")); //$NON-NLS-1$
Index: C:/dev/eclipse/org.tigris.subversion.subclipse.ui/plugin.xml
===================================================================
--- C:/dev/eclipse/org.tigris.subversion.subclipse.ui/plugin.xml    (revision 2659)
+++ C:/dev/eclipse/org.tigris.subversion.subclipse.ui/plugin.xml    (working copy)
@@ -257,6 +257,19 @@
          </action>
       </objectContribution>
       <objectContribution
+            objectClass="org.tigris.subversion.subclipse.core.history.ILogEntry"
+            id="org.tigris.subversion.subclipse.core.history.ILogEntryContributions">
+          
+         <action
+               label="%ExportRemoteFolderAction.label"
+               icon="icons/full/tortoise/export.gif"
+               class="org.tigris.subversion.subclipse.ui.actions.ExportRemoteFolderAction"
+               menubarPath="exportImportGroup"
+               id="org.tigris.subversion.subclipse.ui.ExportRemoteFolder">
+         </action>         
+            
+      </objectContribution>
+      <objectContribution
             objectClass="org.tigris.subversion.subclipse.core.ISVNRemoteFile"
             id="org.tigris.subversion.subclipse.ui.RemoteFileContributions">
          <action

SVN decorations update outside of eclipse environment [Tigris #1579]

Description

Not sure if this question belongs here. I am using subclipse plugin in eclipse 
and wondering if it is possible to refresh eclipse workspace and update svn 
decorations outside of eclipse GUI (i.e. in linux terminal)?

Metadata Imported from Tigris (Issue 1579)

  • Creation Date: 2014-02-27 03:23:11
  • Reporter: juel
  • Subcomponent: core
  • Version: 1.8.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Allow to reset user credentials [Tigris #597]

Description

I accidentally specified wrong user name in the user/password dialog and there 
is no option to reset that info. So, I had to delete eclipse keyring and svn 
auth folders in order to recover from that.

It would be nice if subclipse would allow to reset user credentials from the 
repository settings preferences.

Metadata Imported from Tigris (Issue 597)

  • Creation Date: 2007-01-04 12:29:04
  • Reporter: eu
  • Subcomponent: UI
  • Version: 1.1.x
  • Milestone: 1.4
  • Keywords:
  • Cc:

Comments

2007-01-05 07:05:35 by markphip

If someone wants to tackle this one, which would be great, the issues you have
to deal with are that Subclipse does not own this information and there is no
API defined from the client adapter to allow us to work it.

SVNKit stores the information in the Eclipse keyring.  With the right
information on how they do it, perhaps we can use Eclipse API's to manage it.

JavaHL stores information in the file system and the location can vary by OS. 
Also, the name of the file is some kind of hash, so any kind of fine-grained
control might be hard.  TortoiseSVN provides an option to clear ALL cached
authorizations, which then just does a brute force delete of all information in
the cache folder.  We could do something like that, but it would be a bit more
difficult for us since our code can run on different OS.

The ideal would be to convince the SVN devs to create and expose an API.  I do
not think it has a lot of chance of them doing it though.

2007-01-10 02:40:05 by sdavids

This defect is nasty!

It should be mentioned in the release notes.

2007-05-01 07:46:19 by markphip

Assign to 1.4 milestone

2007-05-01 12:32:19 by markphip

Subversion issue to track: http://subversion.tigris.org/issues/show_bug.cgi?id=2775

Subclipse should not use wrong JavaHL library version [Tigris #878]

Description

I believe we had code in Subclipse 1.4 that if it found an SVN 1.4 JavaHL it did
not use it.  Well, it should also not try to use an SVN 1.6 JavaHL.  Likewise,
Subclipse 1.6 should not use an SVN 1.5 JavaHL.

Metadata Imported from Tigris (Issue 878)

  • Creation Date: 2009-03-27 06:52:42
  • Reporter: markphip
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Can not commit-and-override [Tigris #761]

Description

When we perform a synchronization and we notice a conflict there is no way to
override the version in the repository.  The only way I have found is to update
my local copy then make the changes locally and then commit.  In some cases we
just want to whack what is in the repository and replace it with the copy in my
local workspace.  

The current method makes it a bit more difficult to track as I risk "forgetting"
things that were in my local copy.  (yes, I could update, override with previous
local copy, then commit...but it's still a weird extra step).

Metadata Imported from Tigris (Issue 761)

  • Creation Date: 2008-06-25 05:03:57
  • Reporter: x046866
  • Subcomponent: UI
  • Version: 1.4.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2008-06-25 07:52:53 by markphip

I'll leave this open, but you basically described all the reasons we do not have
this option.  The update has to happen, there is absolutely no way around that.
 Subversion will not allow a commit to happen if you do not do the update.  So
for us to add the option, we have to save your file somewhere, do the update,
put your file back, and bring up the commit dialog.  I am not sure that I want
us taking on that responsibility.  We generally try to avoid touching your files
with our code, we only do it via SVN API.

Commit only parts of files / Restore after commit [Tigris #1582]

Description

Hi,

I'd like to see a Feature like this in Subclipse:

http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-commit.html#tsvn-dug-commit-restore

Any chance this will be implemented in a future Release?

Best regards, Niko

Metadata Imported from Tigris (Issue 1582)

  • Creation Date: 2014-03-18 01:11:14
  • Reporter: nikopp
  • Subcomponent: UI
  • Version: 1.8.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Update the OS drop-down box on the issue tracker [Tigris #1519]

Description

The OS select-box for this issue tracker has outdated operating systems, the 
newest of them being Windows XP [12 years old].
I propose the following Operating Systems to be added to the OS list:
- Windows Vista 32bit
- Windows Vista 64bit
- Windows 7 32bit
- Windows 7 64bit
- Windows 8 32bit
- Windows 8 64bit
- Windows Server 2003 32bit
- Windows Server 2003 64bit
- Windows Server 2008 32bit
- Windows Server 2008 64bit
- Windows Server 2012 32bit
- Windows Server 2012 64bit
- Linux x86
- Linux x86_64
- Mac OS X 10.5
- Mac OS X 10.6
- Mac OS X 10.7
- Mac OS X 10.8

Thanks!

Metadata Imported from Tigris (Issue 1519)

  • Creation Date: 2013-05-31 07:59:27
  • Reporter: tatacalu
  • Subcomponent: www
  • Version: 1.8.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Support merge tracking [Tigris #639]

Description

Subversion 1.5 adds support for merge tracking.

Most of what needs to be done for merge tracking happens automatically and we do
not need to do anything.  What we need to do is look for opportunities to
simplify our UI by taking advantage of this feature.  For example, a command
line user working on a branch can in theory just type svn merge and have the
branch synched up with trunk, or whereever it came from.

Metadata Imported from Tigris (Issue 639)

  • Creation Date: 2007-05-01 09:04:10
  • Reporter: markphip
  • Subcomponent: UI
  • Version: current
  • Milestone: 1.4
  • Keywords:
  • Cc: dserodio

Comments

2007-05-01 09:04:24 by markphip

Set the milestone to 1.4

2007-06-12 15:12:34 by markphip

Steve has updated the history view so that it shows the revisions that were
merged for a given revision.  There is a dialog you can bring up to see this in
more detail.  We decided on this approach, rather than use a nested tree view
because the nested revisions would not support the options available in the
view.  This seemed like a good compromise.

The new Merged Revisions column only shows up if you have toggled on "Include
Merged Revisions" in the view menu.  Likewise, this triggers the "-g" option on
the svn log API which provides this output.

While working on these view changes we decided to also condition the Aliases
column on the presence of the subclipse:tags property.  Basically, the view is
getting cramped with all of these columns and this is a way to hide these two
columns unless there is reason to believe they are needed.

2007-06-12 15:18:23 by markphip

We are working on a new merge UI as part of the CollabNet Desktop which sits on
top of Subclipse.  We probably will not have any time to do anything with the
Subclipse dialog for this release.  The CollabNet Desktop is free for everyone
and will be actively maintained.

We are trying to do as many features/work as possible in Subclipse code base,
but some features need to live in the CollabNet-branded product.  It is possible
we will be able to push more of these into Subclipse later.

Just wanted to provide this as an update to those wondering what is happening.

Right now, when the CollabNet Desktop is installed, the user has two merge
options.  The current one, and a "CollabNet Merge".  We might look at
alternatives, such as replacing the Subclipse option (or creating a preference)
when the CollabNet Desktop is installed.

2007-10-23 08:15:41 by dserodio

Adding myself to the CC: list

Option to reformat commit comments in history view [Tigris #473]

Description

Often commit comment formatting choosen by committers could be quite
inefficient. For example:

-------
PR: MRM-104

make repoCache a member of the ProxyManager, which will remove
ArtifactRepositoryFactory 

removed browsable configuration

created Map of repository layouts to query from

created a new class to load a maven-proxy to ProxyConfiguration
-------

So it would help to use small area of the comment panel in history view more
efficient if comments would be reformatted using simple rules: remove empty
lines, ident text on new paragraph (after empty line)

For example:

-------
PR: MRM-104
  make repoCache a member of the ProxyManager, which will remove
ArtifactRepositoryFactory 
  removed browsable configuration
  created Map of repository layouts to query from
  created a new class to load a maven-proxy to ProxyConfiguration
-------

Also, when showing comments in table, trim them, so empty lines and line break
after single first line won't make comment look like "ignore[...]"

Metadata Imported from Tigris (Issue 473)

  • Creation Date: 2006-03-16 09:25:29
  • Reporter: eu
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: 1.4
  • Keywords:
  • Cc:

Comments

2006-06-01 11:51:18 by markphip

Changing version to 1.0.x so that I can delete 0.9.x

2007-05-01 07:46:19 by markphip

Assign to 1.4 milestone

2008-01-18 07:48:04 by selsemore

Assigned

2008-01-18 07:50:06 by selsemore

Replacing new line characters with spaces when showing comments in table rather 
than truncating at first new line character.

2008-01-18 08:00:37 by eu

Stephen, can you please also add some code to trim trailing spaces and line
breaks in the table and in comment panel?

2008-01-18 08:03:10 by markphip

I asked him to only do it in the table.  I do not think it is appropriate to do it in the other panel.  As a user, 
I'd actually be pretty pissed if it did that.

2008-01-18 08:11:10 by eu

Mark, I agree that it may not be appropriate to replace all the line breaks in
comment area (at least that should be an option to enable reformatting comment
text and not just strip line breaks). However removing trailing whitespace would
remove unnecessary vertical scrolling from the comment area.

Exclude from commit [Tigris #881]

Description

Is it possible to add a feature that excludes files from commit like Netbeans?

Metadata Imported from Tigris (Issue 881)

  • Creation Date: 2009-03-28 22:32:27
  • Reporter: sinannn
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2009-03-28 22:45:41 by sinannn

Is it possible to add a feature that excludes files from commit like Netbeans'
svn client?

2010-03-14 09:02:50 by matthiasbasler

This would be a very helpful feature, as it avoids breaking the build with
changes that were never supposed to be committed, f.e. when deleting files for
testing purposes.

2010-03-19 07:32:21 by suayipozmen

yes it very important feature that eclipse has lack of this.
we have some local configuration files in a web project. so every user should
change these files but sometimes people can send this files wrongly to the
repository. many user use svn ignore for these config files but there is another
problem occurs in that way. new developers can not run project without these
files. we shoud send them with another way. if developers can add this feature
to eclipse i will be appriciated very much. i am ready to donate some money for
this if you want :)

2011-08-02 08:24:21 by selsemore

Created an attachment (id=346)
Patch from Sinan Yumak

2011-08-02 08:24:40 by selsemore

Created an attachment (id=347)
Patch from Sinan Yumak

2011-08-02 08:59:51 by selsemore

Thanks for the patch, Sinan.  Some comments:

The "Exclude From Commit" and "Include From Commit" are available only from the Synchronize
view.  For consistency, they should probably also be included on the Team menu (i.e.,
from Package Explorer, Navigator views).

"Exclude From Commit", "Include In Commit" -> "Exclude from Commit", "Include in Commit"
(just to be consistent with the Synchronize "Remove from View").

It would be nice if these options either had their own menu section, or were maybe put
in the same section as "Add to svn:ignore".

There is a debug System.out remaining in SvnWizardPage ("Removing excluded files...").

It can be confusing when the Commit Dialog comes up empty (this can happen if you do a
commit from outside the Synchronize view, or from the Synchronize view when excluded files
are shown).  When you do a commit and there are no changes, you see the dialog with the
message "No files were changed or added since last commit" instead of the Commit dialog.
 It would be better if you saw a similar message when you do a commit and all the changed
files are in the exclude list.

The commit dialog excludes files that are on the exclude list.  Should it also exclude
a file if a parent directory in the hierarchy is on the exclude list?  This one is a little
subtle.  Suppose you have this (*=changed):

My Project
     My Folder One
          *file1.txt
     My Folder Two
          *file2.txt

My Folder Two is on the exclude list.  If you commit from Synchronize view when excluded
files are not shown, the commit dialog will include only My Folder One/file1.txt.  But
if you commit when excluded files are shown (or if you commit from outside Synchronize
view), the commit dialog will show both My Folder One/file1.txt and My Folder Two/file2.txt.
 If file2.txt is explicitly on the exclude list, it will not be included in the commit
regardless of whether or not excluded files are being shown.

Finally, it would be nice if excluded files (particularly if they are changed) had their
own decorator, but this gets more complicated and we would definitely not want to do this
at the expense of performance.

Steve

Attachments

excludeFromCommitCore.patch - Patch from Sinan Yumak

Posted 2011-08-02 08:24:21 by selsemore

excludeFromCommitUI.patch - Patch from Sinan Yumak

Posted 2011-08-02 08:24:40 by selsemore

Version upgrade for Buckminster [Tigris #727]

Description

Please update the Buckminster Subclipse integration to the attached version.

Metadata Imported from Tigris (Issue 727)

  • Creation Date: 2008-04-03 07:55:00
  • Reporter: thhal
  • Subcomponent: core
  • Version: 1.2.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2008-04-03 08:04:55 by thhal

Created an attachment (id=226)
Buckminster feature and plugin

Attachments

subclipse-bundle.tar.gz - Buckminster feature and plugin

Posted 2008-04-03 08:04:55 by thhal

Add support for sparse directory exclusion [Tigris #866]

Description

Expose --set-depth=exclude in UI.

Metadata Imported from Tigris (Issue 866)

  • Creation Date: 2009-03-05 10:48:15
  • Reporter: selsemore
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: 0.9
  • Keywords:
  • Cc:

Comments

2009-03-05 10:59:36 by selsemore

Have added 'exclude' as a value in the Switch Dialog depth dropdown.  Possibly this solution
is not visible enough and a new option should be added as well?  Either a new Update...
option that exposes all the update parameters, or an option specifically for sparse.

2009-03-06 06:38:33 by selsemore

Added new "Update to Version..." option that brings up a dialog exposing update options,
including support for exclude.  Renamed Update option to "Update to HEAD".

Allow files to be watched and notify on incoming change [Tigris #738]

Description

It would be handy if I can could "mark" certain files to be watched so that I
receive a notification that they have been changed when I do an update/synchronise.

Ideally the notification would appear as a warning (configurable between info,
warning and error) in the problems view.

I imagine that subclipse would store a record of which files, a "watch
database", that are being watched in a property file within the project or (more
likely) the workspace.  Subclipse should update the "watch database"
appropriately if the file is moved, renamed or deleted.

Files that are being watched should be decorated with an appropriate icon.

Finally, it should be possible to see a list of files being watched in a new
view, e.g. "Subclipse Watch View" from which they can be managed (i.e. removed
from the watch database).

Thanks in advance.

Metadata Imported from Tigris (Issue 738)

  • Creation Date: 2008-05-01 03:13:24
  • Reporter: brindy
  • Subcomponent: UI
  • Version: 1.2.x
  • Milestone: not determined
  • Keywords:
  • Cc:

add a 'never commit' this file option [Tigris #921]

Description

The feature should be somehow extended ignoring options of pure svn.

let's imagine I have some files that are on the repository, and I change them to
suit my local copy (not good though, but nevermind), but I never want to commit
them, as they represent some local change.
They are under version control, so it's impossible to add them to svn:ignore.
And right now one has to unclick all of such a files before commiting.
I would of course see that also for the unversioned files, without using any svn
properties/actions.

This could be as an option on the team menu on any file/set of files.
This could also be an option on the commit view.
And this could also be 'suggested' once, when somebody would be commiting whole
project/dir and excluding some files (sth like 'would You like to add this files
to 'never commit' list and don't commit them any more?')

Metadata Imported from Tigris (Issue 921)

  • Creation Date: 2009-05-25 02:29:17
  • Reporter: kretes
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Enable undo in Commit Comment dialog [Tigris #652]

Description

The Commit Comment text area will be enhanced to include the ability to use the
undo keyboard shortcut while entering text.

Metadata Imported from Tigris (Issue 652)

  • Creation Date: 2007-06-15 09:39:27
  • Reporter: znbailey
  • Subcomponent: UI
  • Version: 1.2.x
  • Milestone: not determined
  • Keywords:
  • Cc:

adding an extension point to use Eclipse's ssh2 client [Tigris #750]

Description

I'll propose to add an extension point to 
  org.tigirs.subversion.clientadapter.svnkit plug-in
to use ssh2 client inclued in Eclipse platform.

I'll post two patches for
   org.tigris.subversion.clientadapter.svnkit plug-in, and
   org.tigris.subversion.svnclientadapter.svnkit package in svnClientAdapter,
which add extension point.

And then, I'll post a plug-in to enjoy Eclipse's ssh2 client
for svn+ssh connection.
By using this plug-in, you can share ssh2 and proxy settings on
Window>Preferences...>General Preference pages.

Metadata Imported from Tigris (Issue 750)

  • Creation Date: 2008-05-30 09:10:57
  • Reporter: ymnk
  • Subcomponent: core
  • Version: head
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2008-05-30 09:13:48 by ymnk

Created an attachment (id=227)
a patch for org.tigris.subversion.clientadapter.svnkit

2008-05-30 09:14:39 by ymnk

Created an attachment (id=228)
a patch for svnClientAdapter

2008-05-30 09:23:56 by ymnk

Created an attachment (id=229)
a plug-in to use Eclipse's ssh2 client. This plug-in will run on Eclipse 3.4M3(Ganymede)

2008-05-30 09:27:33 by ymnk

This entry was originally reported at
  http://subclipse.tigris.org/servlets/ReadMsg?list=users&msgNo=11798

2008-05-30 09:36:36 by ymnk

The attached plug-in(id=229) includes
  org.tigris.subversion.clientadapter.svnkit.jsch plug-in.
It requires Eclipse 3.4M3(and later), because it depends
on org.eclipse.jsch.core 1.1.100.

To try this plug-in, just apply attached patches and
run new workbench with svnkit.jsch plug-in.
Automagically, svnkit.jsch plug-in will be pluged in to 
clientadapter.svnkit plug-in and Eclipse's ssh2 client will be
used for every svn+ssh connection.

2008-06-02 03:14:30 by ymnk

Created an attachment (id=230)
updated patch for org.tigris.subversion.clientadapter.svnkit

2008-07-07 09:24:30 by markphip

I've committed the patch for SVNKit to provide the extension point.  I made some minor tweaks.  I added 
the logging support you commented out and I added a cache for the ISVNConnectorFactory object.

Since you created your patch we changed things a bit and now SVNKit class is constructed every time we 
need one.  I did not want all of the extension point lookups to happen every time.  So we just run this 
once and cache the result.

Feel free to review.

I will look at your plug-in that uses the extension point next.

2008-07-07 11:38:33 by markphip

How do you test that the JSch plugin is doing what it should?  For example, I was still prompted for my 
certificate by SVNKit.  Shouldn't it have used the key I loaded in the JSch preferences?

In debug I can see that the class is being used.  I just want to understand the value of this feature.

2008-07-07 13:35:47 by markphip

Subclipse 1.4.1 was released with your patch.  It does not include your new plugin yet.
 If you wanted to host it yourself or try it, you can do so now though.

2008-07-08 09:13:50 by ymnk

  > Shouldn't it have used the key I loaded in the JSch preferences?

In the current implementation, private-key given at Subclipse's dialog
will be refered and then it will refer to keys on 
  Window > Preferences > general > Network Connections > SSH2 > General
I think this is the reasonable behavior for current Subclipse users.

  > In debug I can see that the class is being used.  
  > I just want to understand the value of this feature

sharing proxy settings, known_host keys management, etc.  
Recently, I have found that, I have not found the reason yet, but
it is really faster than the origianl, at least on my environment.  
I'm interested in the availabilities on others.

2008-07-08 09:17:15 by ymnk

Created an attachment (id=233)
I have found that some APIs in SVNKit have disappeared on the latest version. So, I have fixed them.

2008-07-08 09:17:53 by markphip

I do not understand the first part of this.  If I already configured my key in Eclipse preferences how do I 
use that for Subclipse?  It does not seem like I need to be prompted again.

2008-07-08 09:23:47 by ymnk

The attachment (id=233) has included 
 org.tigris.subversion.clientadapter.svnkit.jsch_1.0.0.jar

You can try it, by copying it into eclipse/dropins/ directory.
This plug-in expects following environments,
  * Eclipse Platform 3.4
  * org.tigirs.subversion.subclipse.core 1.4.1
  * org.tigris.subversion.clientadapter.svnkit 1.5.0
  * org.tmatesoft.svnkit 1.2.0

2008-07-08 09:54:06 by ymnk

> If I already configured my key in Eclipse preferences how do I 
> use that for Subclipse?  It does not seem like I need to be prompted again.

I'm sorry, but I have not understood the question yet.
Have you claimed that the passphrase for the private-key is not saved?
It has come from the policy.  The usual ssh system must not save 
the passphrase on the hard disk.  OpenSSH's ssh client and ssh-agent must not
save it on the hard disk.

It must not be saved on the hard disk, but deciphered private-key will be
kept on the memory until Eclipse exits.

2008-07-08 10:01:20 by markphip

In my case, my key does not have a passphrase.  So I was just expecting to not see an SSH prompt from 
SVNKit.  I also had to specify my key again on that dialog (or at least it seemed like I did).

Attachments

clientadapter.svnkit.patch - a patch for org.tigris.subversion.clientadapter.svnkit

Posted 2008-05-30 09:13:48 by ymnk

svnclientadapter.svnkit.patch - a patch for svnClientAdapter

Posted 2008-05-30 09:14:39 by ymnk

svnkit.jsch.zip - a plug-in to use Eclipse's ssh2 client. This plug-in will run on Eclipse 3.4M3(Ganymede)

Posted 2008-05-30 09:23:56 by ymnk

clientadapter.svnkit.patch2 - updated patch for org.tigris.subversion.clientadapter.svnkit

Posted 2008-06-02 03:14:28 by ymnk

svnkit.jsch.zip - I have found that some APIs in SVNKit have disappeared on the latest version. So, I have fixed them.

Posted 2008-07-08 09:17:15 by ymnk

Download from remotely accessed Project Set File [Tigris #608]

Description

This is discussed in http://subclipse.tigris.org/servlets/BrowseList?
list=users&by=thread&from=561875

It would be convenient if the initial download could be made using a Project 
Set Files pointed out in an SVN Repository. That would reduce the number of 
steps for the initial download.

I have identified two possible entry points for this function:
1. When browsing the repository from the SVN Repository view. Once a *.psf 
file is found there, the pop-up menu could contain the option "Import using 
this Team Project Set File".
2. When doing File => Import, Team => Team Project Set, Next you can browse 
for the Project Set File. The entry point would be the option of browsing an 
SVN Repository for the file to use instead of just the file system.

Metadata Imported from Tigris (Issue 608)

  • Creation Date: 2007-03-04 00:06:02
  • Reporter: linus
  • Subcomponent: UI
  • Version: 1.2.x
  • Milestone: 1.4
  • Keywords:
  • Cc:

Comments

2007-05-01 07:46:14 by markphip

Assign to 1.4 milestone

project hierarchy in "compress folder" mode [Tigris #716]

Description

"compress folder" mode in svn commit and few other wizards is not keeping project hierarchy.
I think it should always show projects as root nodes and only  compress nested folders.


This could be related to support of the "models" introduced by Team/CVS since Eclipse 3.2

Metadata Imported from Tigris (Issue 716)

  • Creation Date: 2008-03-01 11:55:41
  • Reporter: eu
  • Subcomponent: UI
  • Version: head
  • Milestone: not determined
  • Keywords:
  • Cc:

Add an toolbar set for commit, update, sync [Tigris #576]

Description

Some people liked having a toolbar for the 3 basic operations.

Can we add a "SVN Extras" toolbar which contains them?

Metadata Imported from Tigris (Issue 576)

  • Creation Date: 2006-11-04 14:28:09
  • Reporter: denny
  • Subcomponent: UI
  • Version: head
  • Milestone: 1.4
  • Keywords:
  • Cc:

Comments

2006-11-04 14:29:59 by denny

Created an attachment (id=165)
A patch file with the labels and new action set

2006-11-04 14:30:36 by denny

Here is a patch that looks like it adds the needed toolbar.

This one only modifies properties and plugin.xml file.

Hard coded the icons to use tortoise.  May be an issue, but so far, doesn't look
like it changes the other menu-bar icons...

2006-11-07 18:24:33 by denny

Well, it looks like using the same ids and everything for the duplicated actions
gets in the way of the key-binding.  No errors are thrown, but only 1 out of the
3 key bindings for the duplicated actions are still working.

Might be as simple as changing an id, which would be cool.  Could be as sucky as
needing new actions...  If I get the time to try it out, I'll update this issue.
**
And it looks like whatever icon set is selected is overriding the hard-coded img
paths... if not for the key-binding now not exactly working, this would be
pretty close...

Mark, I think maybe you were running into the same problems as I, namely, when
running from source, no icons are displayed, but when running from a "real"
install, icons do display.  Don't know what that's all about, but there it is.

2006-11-12 00:07:21 by manklu

Created an attachment (id=166)
Slightly modified version of the patch from Jรถrg Eichhorn.

2006-11-12 22:12:40 by denny

Created an attachment (id=167)
Modified Modifed patch, keeps key binding working

2007-05-01 07:46:15 by markphip

Assign to 1.4 milestone

2007-06-26 12:55:42 by denny

I've come up with a simple patch to the plugin.xml file to achieve this feature.
 Seems to work nicely.

2007-06-26 12:57:17 by denny

Created an attachment (id=187)
adds toolbar for commit, update and sync

2007-06-26 17:27:48 by markphip

The problem I see is that the default icon set does not have any icons for these
actions.  Thus the toolbar does not either.  Here are solutions I see:

1)  Hard-code icons
2)  Create new icon identifiers for the toolbar (rather than use the default
ones from the action.).  Then the icon set could be sure to contribute an icon
for these identifiers.

2 would be better, but I kind of made up that solution in my head.  Not sure
how/if it can be implemented.

2007-07-17 21:51:27 by denny

If you restart eclipse with the toolbar active, the icons appear.

I don't know if there is something we could call after enabling the set that
would refresh the toolbar...

2007-07-23 07:41:15 by markphip

Denny, I still do not see it.  Even when I restart the toolbar icons disappear.
 I even tried changing to the TortoiseSVN icon set which at least has icons for
these actions and I still do not get any after a restart.

2007-07-23 09:37:01 by denny

Strange!  I've got mine set to subversive, and I see the update/commit/sync
icons, after a restart.

Do you have an ANT build file for Subclipse?  I can run it in the debugger, but
when I try exporting the 3 plugins as jars, and copying them into my plugins, I
don't get any love.  That used to be all I needed to do.

I don't see how there would be a difference between running in debug and having
them installed, but I like to test it out anyways.

To sum it up, not sure why I'm seeing icons and you're not.  Either way, it
would confuse a user not to see them immediately after enabling them.  
But it's strange...

2007-07-23 10:01:51 by markphip

The current trunk code has new plugins you need to have loaded in your
workspace.  You need core and ui as always, but there is now also a plugin for
clientadapter, another for the javahl implementation and a third for the Windows
binaries.  If you are not on Windows, then you need to have Subversion trunk
binaries available.

Attachments

svnextras2.diff - A patch file with the labels and new action set

Posted 2006-11-04 14:29:59 by denny

ui.patch - Slightly modified version of the patch from Jรถrg Eichhorn.

Posted 2006-11-12 00:07:20 by manklu

ui-svnextras.patch - Modified Modifed patch, keeps key binding working

Posted 2006-11-12 22:12:40 by denny

toolbar.txt - adds toolbar for commit, update and sync

Posted 2007-06-26 12:57:17 by denny

Handling derived resources [Tigris #535]

Description

Currently Subclipse filters out derived resources but still has the "Add to
Repository" action enabled on them. According to the definition of a derived
resource it should be filtered out by Team provides. However, they should still
allow a user to explicitly add such a resource to source control.

Subclipse should support the addition of derived resources to a repository.
That's a common behavior of Eclipse Team providers. Right now I'm already able
to add a derived resource using Subclipse. However, it does not recognize the
"overwrite" correctly in all places.

I remember in the ClearCase plug-in that we have a common method that checks if
a resource is ignored. However, the first process was to check if a resource is
already part of that repository. If that was false then the next step checked
the ignore hint from the Team API.

Metadata Imported from Tigris (Issue 535)

  • Creation Date: 2006-08-11 15:13:41
  • Reporter: gwagenknecht
  • Subcomponent: UI
  • Version: 1.1.x
  • Milestone: not determined
  • Keywords:
  • Cc: helgeboehme

Comments

2006-08-12 05:11:41 by markphip

The problem is that the check to see if it is managed by Subversion is very
expensive.  I am prety sure this would cause a massive slowdown if we
implemented this.  A reason I think this is the case is that we have already
been dealing with issues from people that are using Ant/Maven to build their
projects (and thus the files are not marked as derives) and they are seeing
massive performance degradation because of all of the extra status checks.

I agree it ought to support what you want to do, I think it has to wait until we
can figure out a way to do it without killing performance.

2006-08-12 05:17:44 by gwagenknecht

The check shouldn't go to the repository. AFAIK you have a cached resource
state. This can be used for the first check. 

BTW, the other Windows client (TortioseSVN) doesn't cache a resource state but
offers a good performance when decorating files and folders in Windows although
it never had a concept of derived resources (just svn:ignores).

2006-08-12 05:27:20 by markphip

Of course the check does not go to the repository.  To refresh our information
about a file we run the svn status command.  When used under ideal
circumstances, that command can be OK but it can also be pretty slow.  The
problem is that the Eclipse environment is less than ideal.  We have change
notifications coming at us in all different forms and cannot always reduce the
refresh to the ideal scenario of a single status call to refresh multiple
statuses.  It usually winds up being one call to get one status.  Subversion
does not do this well.

It is not worth bringing up or discussing TortoiseSVN.  I have used it for years
and it has its own issues.  The main thing is that the environments we operate
are completely different.

2006-10-22 07:38:10 by markphip

Just committed something that is getting closer to a fix.  If resource is in
global ignore list but you add it to version control we now properly handle it.
 It still is not working correctly for isDerived().  I suspect that there are
lots of places in the code that are checking that, because when I tried making
the same fix it did not work.

2012-02-19 02:53:15 by manklu

Created an attachment (id=362)
Partial Fix for 1.8.x

2012-02-19 02:54:34 by manklu

I have left some questions in FileModificationManager. Depending on the answers,
there may be a big performance improvement for large projects.

Note that the changes in SVNProviderPlugin also fixes Issue 1369.

2012-02-20 08:55:55 by manklu

Created an attachment (id=364)
Updated Patch

2012-02-22 14:50:10 by selsemore

Patch tested and applied.

2012-03-14 00:57:35 by manklu

I have the feeling, that you don't want a working plugin. At least, I have no
other explanation why you silently reimplement old bugs to fix new bugs.

Maybe it's time to leave subclipse and looking for something else.

2012-03-14 08:04:19 by selsemore

I've restored the previous behavior (from your patch).  You're right, I shouldn't have
removed it.  Leaving this issue open, however, as we'll need to do something to accommodate
users who were negatively affected by the change.  I think we'll need to introduce a preference.
 Something like:

Ignore changes to derived resources? (Yes/No/If Unversioned)

Default is If Unversioned.

Does this make sense?

2012-03-14 08:07:27 by markphip

I think we should always ignore Unversioned derived resources.  So I would be against a preference that 
attempts to support that scenario.  So I would change the wording to something like:

"Ignore managed derived resources"  Yes/No

2012-03-14 08:50:32 by helgeboehme

A preference setting for derived managed resources would resolve our current
problem.

Attachments

Issue535.patch - Partial Fix for 1.8.x

Posted 2012-02-19 02:53:15 by manklu

### Eclipse Workspace Patch 1.0
#P org.tigris.subversion.subclipse.core
Index: src/org/tigris/subversion/subclipse/core/SVNProviderPlugin.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/SVNProviderPlugin.java (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/SVNProviderPlugin.java (working copy)
@@ -191,12 +191,8 @@
                IResourceChangeEvent.PRE_BUILD);
        workspace.addResourceChangeListener(metaFileSyncListener,
                IResourceChangeEvent.PRE_BUILD);
-//     workspace.addResourceChangeListener(fileModificationManager,
-//             IResourceChangeEvent.POST_CHANGE);
-// Changing to PRE_BUILD so that the resource tree will not be locked for changes and we can
-// do a local refresh, as in the case of a revert.
        workspace.addResourceChangeListener(fileModificationManager,
-               IResourceChangeEvent.PRE_BUILD);
+               IResourceChangeEvent.POST_CHANGE);
        workspace.addResourceChangeListener(revertManager, IResourceChangeEvent.PRE_BUILD);

        teamPrivateListener.registerSaveParticipant();
Index: src/org/tigris/subversion/subclipse/core/resourcesListeners/FileModificationManager.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/resourcesListeners/FileModificationManager.java    (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/resourcesListeners/FileModificationManager.java    (working copy)
@@ -29,7 +29,6 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
 import org.tigris.subversion.subclipse.core.SVNException;
 import org.tigris.subversion.subclipse.core.SVNProviderPlugin;
 import org.tigris.subversion.subclipse.core.SVNTeamProviderType;
@@ -85,6 +84,7 @@
                        }
                    }               
                    else if(resource.getType()==IResource.FOLDER) {
+                       // FIXME: Why a different processing for add and delete?
                        if (delta.getKind() == IResourceDelta.ADDED) {
                            if (resource.getParent() != null && !modifiedInfiniteDepthResources.contains(resource.getParent())) {
                                modifiedInfiniteDepthResources.add(resource.getParent());
@@ -96,7 +96,8 @@
                        }
                        else if (delta.getKind() == IResourceDelta.REMOVED) {
                            modifiedInfiniteDepthResources.add(resource);
-                           return true;
+                           // No need to add the complete resource tree
+                           return false;
                        }
                        return true;
                    }               
@@ -156,13 +157,18 @@
     private void refreshStatusInfitite(IResource[] resources) 
     {
        for (int i = 0; i < resources.length; i++) {
+           // FIXME: Check to see if the folder is ignored?
            try {           
                 SVNProviderPlugin.getPlugin().getStatusCacheManager().refreshStatus((IContainer)resources[i], true);              
-                try {
-                   ((IContainer)resources[i]).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-               } catch (CoreException e) {
-                   e.printStackTrace();
-               }
+//                try {
+                   // FIXME: Resource Tree is locked
+                   // Why is this necessary? The refresh should occur outside of the listener.
+                    // Doing an extra refresh could be a big performance hit for large trees
+//
+//                 ((IContainer)resources[i]).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+//             } catch (CoreException e) {
+//                 e.printStackTrace();
+//             }
            } catch (SVNException e) {
                SVNProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
            }           
@@ -191,10 +197,18 @@
         }
         for (IResource folder : foldersToRefresh) {
            try {
+               // FIXME: Check to see if the folder is ignored?
+               // FIXME: Why a recursive refresh? This is a big performance hit for large trees
                 SVNProviderPlugin.getPlugin().getStatusCacheManager().refreshStatus((IContainer)folder, true);               
-                try {
-                   folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-               } catch (CoreException e) {}
+//                try {
+                   // FIXME: Resource Tree is locked
+                   // Why is this necessary? The refresh should occur outside of the listener.
+                    // Doing this extra, recursive refresh is a big performance hit for large trees
+                    // Now I know why a refresh is sometimes so slow
+//                 folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+//             } catch (CoreException e) {
+//                 e.printStackTrace();
+//             }
            } catch (SVNException e) {
                SVNProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
            }
Index: src/org/tigris/subversion/subclipse/core/resources/LocalResource.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/resources/LocalResource.java   (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/resources/LocalResource.java   (working copy)
@@ -96,8 +96,8 @@
     * @see org.tigris.subversion.subclipse.core.ISVNLocalResource#isIgnored()
     */
    public boolean isIgnored() throws SVNException {
-       // If the resource is a derived, team private or linked resource, it is ignored
-       if (resource.isDerived() || resource.isTeamPrivateMember() || resource.isLinked() ) {
+       // If the resource is a team private or linked resource, it is ignored
+       if (resource.isTeamPrivateMember() || resource.isLinked() ) {
            return true;
        }

@@ -121,6 +121,11 @@
            return false;
        }

+       // If the resource is a derived, unmanged resource, it is ignored
+       if (resource.isDerived()) {
+           return true;
+       }
+       
         // check ignore patterns from the .cvsignore file.
         if (status.isIgnored()) {
             return true;
@@ -177,7 +182,7 @@
     * @see ISVNLocalResource#isManaged()
     */
    public boolean isManaged() throws SVNException {
-       return !this.resource.isDerived() && getStatusFromCache().isManaged();
+       return getStatusFromCache().isManaged();
    }

    /*

Issue535.patch - Updated Patch

Posted 2012-02-20 08:55:55 by manklu

### Eclipse Workspace Patch 1.0
#P org.tigris.subversion.subclipse.core
Index: src/org/tigris/subversion/subclipse/core/SVNProviderPlugin.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/SVNProviderPlugin.java (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/SVNProviderPlugin.java (working copy)
@@ -191,12 +191,8 @@
                IResourceChangeEvent.PRE_BUILD);
        workspace.addResourceChangeListener(metaFileSyncListener,
                IResourceChangeEvent.PRE_BUILD);
-//     workspace.addResourceChangeListener(fileModificationManager,
-//             IResourceChangeEvent.POST_CHANGE);
-// Changing to PRE_BUILD so that the resource tree will not be locked for changes and we can
-// do a local refresh, as in the case of a revert.
        workspace.addResourceChangeListener(fileModificationManager,
-               IResourceChangeEvent.PRE_BUILD);
+               IResourceChangeEvent.POST_CHANGE);
        workspace.addResourceChangeListener(revertManager, IResourceChangeEvent.PRE_BUILD);

        teamPrivateListener.registerSaveParticipant();
Index: src/org/tigris/subversion/subclipse/core/commands/RevertResourcesCommand.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/commands/RevertResourcesCommand.java   (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/commands/RevertResourcesCommand.java   (working copy)
@@ -75,7 +75,7 @@
      * @see org.tigris.subversion.subclipse.core.commands.ISVNCommand#run(org.eclipse.core.runtime.IProgressMonitor)
      */
     public void run(IProgressMonitor monitor) throws SVNException {
-       Set<IResource> propertiesOnlyFolders = new LinkedHashSet<IResource>();
+       final Set<IResource> propertiesOnlyFolders = new LinkedHashSet<IResource>();
         // sort first, so that all children of a folder directly follow it in the array
         Arrays.sort( resources, resourceComparator );   
         ISVNClientAdapter svnClient = root.getRepository().getSVNClient();
@@ -114,6 +114,7 @@
                 // current as a base path. 
                 if (resources[i].getType() == IResource.FOLDER && status.isAdded()) {
                     svnClient.revert(resources[i].getLocation().toFile(), true);
+                    propertiesOnlyFolders.add(resources[i]);
                     monitor.worked(100);

                     // Add the subdirectories to the list of resources which must
@@ -121,8 +122,11 @@
                     try {
                        resources[i].accept(new IResourceVisitor() {
                            public boolean visit(IResource aResource) {
-                               if (aResource.getType() == IResource.FOLDER)
+                               if (aResource.getType() == IResource.FOLDER) {
                                    operationManager.onNotify(aResource.getLocation().toFile(), SVNNodeKind.UNKNOWN);
+                                   // This is necessary for folders, that are ignored after the revert
+                                   propertiesOnlyFolders.add(aResource);
+                               }

                                return true;
                            }
Index: src/org/tigris/subversion/subclipse/core/resourcesListeners/FileModificationManager.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/resourcesListeners/FileModificationManager.java    (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/resourcesListeners/FileModificationManager.java    (working copy)
@@ -29,10 +29,10 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
 import org.tigris.subversion.subclipse.core.SVNException;
 import org.tigris.subversion.subclipse.core.SVNProviderPlugin;
 import org.tigris.subversion.subclipse.core.SVNTeamProviderType;
+import org.tigris.subversion.subclipse.core.resources.LocalResourceStatus;
 import org.tigris.subversion.subclipse.core.resources.SVNWorkspaceRoot;
 import org.tigris.subversion.svnclientadapter.ISVNClientAdapter;
 import org.tigris.subversion.svnclientadapter.ISVNInfo;
@@ -85,7 +85,16 @@
                        }
                    }               
                    else if(resource.getType()==IResource.FOLDER) {
-                       if (delta.getKind() == IResourceDelta.ADDED) {
+                       // FIXME: Why a different processing for add and delete?
+                       if (resource.isDerived() && delta.getKind() == IResourceDelta.CHANGED) {
+                           try {
+                               LocalResourceStatus aStatus = SVNProviderPlugin.getPlugin().getStatusCacheManager().getStatusFromCache(resource);
+                               if ((aStatus == null) || !aStatus.isManaged())
+                                   return false;
+                           } catch (SVNException e) {
+                               SVNProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
+                           }
+                       } else if (delta.getKind() == IResourceDelta.ADDED) {
                            if (resource.getParent() != null && !modifiedInfiniteDepthResources.contains(resource.getParent())) {
                                modifiedInfiniteDepthResources.add(resource.getParent());
                            }
@@ -96,7 +105,8 @@
                        }
                        else if (delta.getKind() == IResourceDelta.REMOVED) {
                            modifiedInfiniteDepthResources.add(resource);
-                           return true;
+                           // No need to add the complete resource tree
+                           return false;
                        }
                        return true;
                    }               
@@ -158,11 +168,15 @@
        for (int i = 0; i < resources.length; i++) {
            try {           
                 SVNProviderPlugin.getPlugin().getStatusCacheManager().refreshStatus((IContainer)resources[i], true);              
-                try {
-                   ((IContainer)resources[i]).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-               } catch (CoreException e) {
-                   e.printStackTrace();
-               }
+//                try {
+                   // FIXME: Resource Tree is locked
+                   // Why is this necessary? The refresh should occur outside of the listener.
+                    // Doing an extra refresh could be a big performance hit for large trees
+//
+//                 ((IContainer)resources[i]).refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+//             } catch (CoreException e) {
+//                 e.printStackTrace();
+//             }
            } catch (SVNException e) {
                SVNProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
            }           
@@ -191,10 +205,17 @@
         }
         for (IResource folder : foldersToRefresh) {
            try {
+               // FIXME: Why a recursive refresh? This is a big performance hit for large trees
                 SVNProviderPlugin.getPlugin().getStatusCacheManager().refreshStatus((IContainer)folder, true);               
-                try {
-                   folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
-               } catch (CoreException e) {}
+//                try {
+                   // FIXME: Resource Tree is locked
+                   // Why is this necessary? The refresh should occur outside of the listener.
+                    // Doing this extra, recursive refresh is a big performance hit for large trees
+                    // Now I know why a refresh is sometimes so slow
+//                 folder.refreshLocal(IResource.DEPTH_INFINITE, new NullProgressMonitor());
+//             } catch (CoreException e) {
+//                 e.printStackTrace();
+//             }
            } catch (SVNException e) {
                SVNProviderPlugin.log(IStatus.ERROR, e.getMessage(), e);
            }
Index: src/org/tigris/subversion/subclipse/core/resources/LocalResource.java
===================================================================
--- src/org/tigris/subversion/subclipse/core/resources/LocalResource.java   (revision 5308)
+++ src/org/tigris/subversion/subclipse/core/resources/LocalResource.java   (working copy)
@@ -96,8 +96,8 @@
     * @see org.tigris.subversion.subclipse.core.ISVNLocalResource#isIgnored()
     */
    public boolean isIgnored() throws SVNException {
-       // If the resource is a derived, team private or linked resource, it is ignored
-       if (resource.isDerived() || resource.isTeamPrivateMember() || resource.isLinked() ) {
+       // If the resource is a team private or linked resource, it is ignored
+       if (resource.isTeamPrivateMember() || resource.isLinked() ) {
            return true;
        }

@@ -121,6 +121,11 @@
            return false;
        }

+       // If the resource is a derived, unmanged resource, it is ignored
+       if (resource.isDerived()) {
+           return true;
+       }
+       
         // check ignore patterns from the .cvsignore file.
         if (status.isIgnored()) {
             return true;
@@ -177,7 +182,7 @@
     * @see ISVNLocalResource#isManaged()
     */
    public boolean isManaged() throws SVNException {
-       return !this.resource.isDerived() && getStatusFromCache().isManaged();
+       return getStatusFromCache().isManaged();
    }

    /*

add a decorator showing that there is a new version on the repository [Tigris #864]

Description

It would be good if subclipse could periodically ask repos for changes, and
decorate files/project that are changed.

Metadata Imported from Tigris (Issue 864)

  • Creation Date: 2009-03-04 01:13:00
  • Reporter: kretes
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2009-03-04 04:36:54 by markphip

It can.  It is called the Synchronize view.

1. Open the view.  It is in the "Team" grouping of views.
2. On the view toolbar there is an option to start a wizard.  This will let you synchronize all the SVN 
projects in your workspace.  (You can alternatively right-click on a project and choose Team > 
Synchronize).
3. Use the "Schedule" menu to turn on auto-refresh,  I'd suggest 20-30 minutes.

That's it.  This will be remembered and always refresh itself.

2009-03-05 05:23:26 by kretes

Yes, great!

it solves the core problem.

But what i suggested is a decorator - on a project and on every resource add
this blue arrow in the package explorer and everywhere else, just like other
icons are done - they are configured in the preferences|team|svn|label
decorations - there should be also a blue arrow for resources that have newer
version in the repository

2009-03-05 05:55:18 by markphip

I do not believe this is doable.  The feature would have to come from core
Eclipse.  We do not get to "push" decorations to Eclipse it asks for them, which
typically happens because a local resource has changed.  When the Synch view
refreshes it does not trigger anything that could refresh these decorators.

I am not sure if this has been asked of Eclipse or not.  It is an interesting
idea, I am guessing that the Synch view is considered better since it only shows
the incoming/outgoing stuff so the changes stand out more?

2009-03-06 00:23:08 by kretes

Synch View is very good, when You want to look at WHAT the changes are before
applying them. However a decorated project/resource icon would be magnificent in
a situation where an update takes lot of time, and You just want to do that only
when it's needed :)

Maybe adding a kind of dummy or hidden resource to the project to be able to
tell eclipse to refresh its'decorator. 
However it could also be good if the new decorator would occur on the project
only when some local resource changed in the project and, in the meanwhile,
there are it wouldn't be refreshed so often, but only when really a local
resource changed - it typically happens very often anyway.

Please consider this really.
Another good way of showing such a situation is to add a field in a place where
breadcrumb is on a file to indicate it has newer version in repository. (sth.
like IDEA have)

Provide option to open diff dialog instead of using diff-viewer in Commit dialog [Tigris #1012]

Description

This is regarding version 1.6.5.

In previous versions, the Commit dialog would simply show the list of files that
would be changed along with the field for the commit comment. When the user
double-clicked on the file it would open a dialog that allowed the user to see
the diff.

In the current version, that option has disappeared and was replaced with a
diffviewer inside the Commit dialog. Although this diffviewer is togglable, I
would prefer to have an option to restore the previous versions' functionality
of opening a new dialog with the diff viewer in it instead of inside the Commit
dialog.

See http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2408550

Metadata Imported from Tigris (Issue 1012)

  • Creation Date: 2009-10-17 14:42:48
  • Reporter: iandees
  • Subcomponent: UI
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

bookmarks in SVN repositories view [Tigris #762]

Description

I often wanted to browse repository or some subtree at some particular revision and right
now the only option is to create a branch, which is quite verbose and multi-step operation.
It might be quite neat to allow to create such bookmarks in "SVN Repositories" view, e.g.
using an action from History view. Bookmarks
could go into repository root, or maybe even in subfolders:

http://subclipse.tigris.org/svn/subclipse
  branches
  tags
  trunk
  Bookmarks
    rev 3389
    before deleting something
    ...

I think subersive have this feature.

Metadata Imported from Tigris (Issue 762)

  • Creation Date: 2008-06-25 06:17:58
  • Reporter: eu
  • Subcomponent: UI
  • Version: head
  • Milestone: not determined
  • Keywords:
  • Cc:

A pop-up to warn at opening that an update may be necessary [Tigris #870]

Description

Hy,

I would like to ask for a new features but I'm not sure if it is the correct place.

I would like to ask for a plugin which check the distant repository when eclipse
start, and pop-up an alert/notification that my local repository is not
up-to-date and that I should make an SVN update.

I often forget to make an SVN update when I start my work the morning, and
sometime it make me lost some times resolving conflict of version just because I
should have perfoms an update when I start my job.

This plugin could also warn you to commit before closing eclipse and it could
also check each 10 minutes if someone update the SVN...

Regards,

Benoit

Metadata Imported from Tigris (Issue 870)

  • Creation Date: 2009-03-14 13:45:50
  • Reporter: neub
  • Subcomponent: core
  • Version: current
  • Milestone: not determined
  • Keywords:
  • Cc:

automatically create commit comment, add remark to modified files [Tigris #844]

Description

I have suggestion for enhance subclipse with temporary remarks (commit texts) to
items (files, directories). I suppose those behavior: 

 - new item (named "Comment" for example) is added to "Team" menu. 
 - this item is enabled on every file, which was changed since last commit (and
eventually on directory which contains changed files or subdirectories)

After selecting those item:
 - simple form with text area is opened; it allows me to type some comment
 - in case text was typed previously, it is filled into text area 
 - this text (with association to object on which is typed) is stored into
subclipse storage (directory ".svn" ?)
 - It would be possible to mark items in menu allready containing any text 
 - it is possible to add submenu wit this choice and other choices as "clear",
"clear all" ... etc

In commit time:
 - subclipse collects all those texts and creates commit message from those
texts. Created text is filled to comment field
 - created text could be in form "<ChangedFileName>: <TypedText>\n" (or stored
as template in settings ...) 
 - after successfull commit, all those comments are cleared.

In revert time
 - texts associated to reverted file are cleared

In update time
 - if my changes are sucesfully merged, comment stay preserved. In other case,
text is cleared (it could be added to generated version files).

Metadata Imported from Tigris (Issue 844)

  • Creation Date: 2009-02-11 02:56:23
  • Reporter: ratermir
  • Subcomponent: UI
  • Version: 1.0.x
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2009-02-11 05:48:11 by markphip

Note that you can get close to this by using the Synchronize view and the
"change sets" feature.  You can define local change sets that you assign files
too and this also allows you to maintain the commit message for the change set
while you are still working on the files.

Ability to print or save list of changed files (diff) [Tigris #733]

Description

Currently if I compare a local directory with the repository, or two branches in
the repository, I get a 'compare' view. The issue I can't see any way to save or
print this. To be able to do either of these would be useful to me to be able to
create a report, for example.

This feature would allow to simply have the list of changed files, without
specifying what has changed.

Metadata Imported from Tigris (Issue 733)

  • Creation Date: 2008-04-17 13:33:33
  • Reporter: ajmas
  • Subcomponent: UI
  • Version: head
  • Milestone: not determined
  • Keywords:
  • Cc:

Comments

2008-04-17 13:43:35 by markphip

It would not hurt to also file this with Eclipse.  The compare UI comes from the Eclipse platform.  We plug-
in a low level feature to provide it the content to compare.  So an option to print the results would really 
be a good feature for them to add to the core framework.

2008-04-17 13:53:07 by ajmas

I have opened ticket 227652, in the Eclipse bug database:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=227652

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.