I have a bug in Eclipse. When stepping through the code, when it goes to another class, the editor loses focus and I have to click again on the editor to continue debugging with the keyboard shortcuts.
I've found this thread describing the bug, and a patch to fix it. Is there any way I can apply the patch? I'm guessing it involves having the source code.
Yes you'd need to recompile the module and install it. These days with git SCM and the use of Maven project layouts and tycho plugin it can be easy to rebuild a module (compared to how it was just a few years ago).
Lets see now:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=372941
Patches:
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/StackRenderer.java
We search on google "git org.eclipse.e4.ui.workbench.renderers.swt" we end up at the URL:
https://git.eclipse.org/c/platform/eclipse.platform.ui.git/
This can be used to checkout the 1 module to build.
Git is available for many linux distribution by default, google you ditro name and "install git" terms for best help. On windows there is https://code.google.com/p/msysgit/ and on MacOSX there is https://code.google.com/p/git-osx-installer/ all these provide a command line environment to use git. You can look at EGit/JGit plugins for Eclipse itself to also do the job. But the instruction below are for the command line method.
git clone https://git.eclipse.org/c/platform/eclipse.platform.ui.git
Now you'll want to find the tagged version of the version you are using. So you need to find it in your eclipse/plugins/** folder of the Eclipse install. The version number maybe in the filename or in the MANIFEST.MF or other *.xml file, the version number usually indicate the date of source and/or build in the number.
It may help to browse around the eclipse.org website link above for the GIT tree to find the version. This is to get the tag or version name / commit-id (like 'abc1234':
# List tags (might see it in the list)
git tag -l
# Look through history, maybe you can work on the date
git log
# Finally once you know the version you want
# checkout the exact version that goes with your eclipse install
git checkout -b mylocalbranch <tag_or_version>
Now you can use Maven to build it.
cd eclipse.platform.ui.git
mvn package
# The full-monty would be: mvn deploy (or 'mvn install')
# But I am not sure if unit and integration tests will work this easily, using
# the 'mvn package' it enough to get you the JAR you need to install in Eclipse.
Now you can look for a .jar in the build/* subdir, you can shutdown you eclipse and place this JAR into the plugins folder, ensure the version number is newer.
If it works update the bug report. Saying it worked for you.
Also consider trying to push it via the github accounts as a new change, crediting the original author.
..
DISCLAIMER: The above is the principal about how you might achieve what you want. It might take less than 5 minutes to complete. But there maybe complications and you'll need to research those (if you get any) independently.
You can also do much of the above with Eclipse itself, a 'git checkout' and a 'build Eclispe plugin module', although for me for this change it would probably take longer maybe 15 minutes (if there are no complications).
Related
I have previously written an eclipse feature that works with eclipse to
sparsely update directories from svn, and
delete directories from the working copy without deleting them from the repository.
In this way you can pick and chose which subsystems you wish to work with. This feature works with subclipse.
For example, the effect if executed as a command sequence would be:
# check out the libs folder but not its children
svn update --depth empty libs
# check out the libs I am interested in
svn update libs/lib1 libs/lib7
... <work on them> ...
# not interested in lib1 anymore
rm -rf libs/lib1
# update to let libs know that lib1 is no longer checked out
svn update libs
I have recently noticed that subversive is now able to handle updating from svn sparsely. My question is, aside from the command line or writing an eclipse feature as I have, is there a way to disconnect and delete a sparse update from the working copy without deleting from the svn repository through eclipse? Has anyone else dealt with this issue using subclipse, subversive or any other team provider?
I am currently testing with Indigo SR1.
Matt
You want to run:
svn up --set-depth=exclude lib1
In Subclipse you can do Team > Update to Version ... and then choose Exclude in the Depth drop-down and check the box to change the WC to the selected depth.
I personally prefer using depth=empty because then the folder still exists and it is easy later to change the folder depth back to infinity.
I, like many others, love Eclipse as my ide of choice, and because of the way I work (moving about, different places, different projects) want to use Git for CVS.
There is a plugin for Git in Eclipse, Egit, which is now an official Eclipse project, and currently at version 0.7.1. As I've just started using it I'm interested in how others are using it, and what work arounds they are using. Currently Egit doesn't have support for merges, so these have to be done outside of Eclipse and then the workspace refreshed.
So, How do you do this task ? (and any other tasks that Egit doesn't do right now)
Just for reference, EGIT does now support merges and uses the powerful diff interface within eclipse.
Once you have fetched the code and run a merge, if there are any conflicts they are highlighted in the project explorer with a red !, you can then right click on them and go to Team > Merge Tool, which is un-ghosted for conflicted files.
Once you have selected the code you wish to use (Either the workspace version with diff annotations in it or the HEAD version that caused the conflict) the diff window will open.
This shows your local code on the left and the conflicting code on the right, you can use the 'next difference' button to jump through all the conflicts, and the 'copy change from right to left' button to accept the remote version, or simply edit your local version in place.
Once you are happy with the changes save your file and add it, then commit the results and you should be done.
Please note I am in no way a master of git good practice, so please feel free to correct me if these are not the best operations to use, but it was an answer to the question "How do I do merges in eclipse with egit".
When working with Eclipse, I only use egit to actually commit. Everything else I do simply via the command line. The command line in git (or any other VCS) is much more superior and the software was actually created with having the command line in mind, so it's just naturally that you can access really every single feature via the command line.
Everything else only uses the command line in the background and tries to emulate a different interface, native to the host application (here: Eclipse). But by doing that you can never reach the same power as by using the original tools.
However I think when egit develops more, it might be a good way to work with git; similar to how the subversion plugin for Eclipse works well with most functions. But in my situation, I don't use Eclipse for everything and using the command line is then a lot simpler than trying to get used to multiple different plugins and the command line.
One way to work out with Egit merge conflict is to take backup of your file, delete it from eclipse, put it back from backup, Add to index and commit.
This should be done only if you can't resolve the conflict with normal Add to Index->Commit method.
PS: I assume you've already resolved the conflict manually or by using Egit merge tool, but just can't remove the conflict marker on the file.
I'm a relatively new programmer and I've never used version control before. I'm working on a Java project in NetBeans and was wondering about some good version control options that are relatively easy to install and use. Not sure if it matters, but I run OSX.
Subversion was an easy solution for my project constraints. The Subversion guide for NetBeans: http://www.netbeans.org/kb/docs/ide/subversion.html was especially useful in terms of walking me through both installation and basic use.
On the menu if you go to Tools > Plugins, you can choose to install a plugin for whatever version control you're using. I've got IDE 6.7 installed, and it comes with Subversion SVN, CVS, and Mercurial.
When I setup my NB project as an SVN repository, I did it first outside of NB with the 'svn' command. Once set (it makes .svn folders everywhere) NetBeans automatically detected it and allows me to update/commit/all that stuff.
I'm Working on Mac OS X as well, with Netbeans 6.7 + SVN.
First thing to do is to create a new repository where all your files will be stored. This can be done using a GUI tool such as SVNx or through the command line :
svnadmin create REPOS_PATH
Once this is done, you're ready to import your project to the repository through the Netbeans interface ! If everything is set up in your netbeans, you should be able to right click a non-yet-version-controlled project and choose "Team > Import into SVN repository" or something like that (don't have NB right here to search for the right entry).
After that, if everything is alright, your project will be under the SVN version control. You can then do checkout to retrieve local working copy of the code, commit files, revert, etc...
Hope this helps !
I was intending to have a play with git, and was wondering if anyone had used the git plugin for eclipse
I see it's at version 0.3.1, and was wondering if anyone knew how stable it was / any gotchas?
Update:
If you are using a recent version of Eclipse, your Help menu has an 'Eclipse Marketplace...' link.
Enter 'git' in the Find field. This shows me EGit.
This is also very high in the Popular plugins list.
Click install. Much easier than having to add update site locations by hand.
Github blog spoke yesterday about Egit plugin:
http://freshmeat.net/projects/jgit/
I'm using if for day-to-day work and I find it stable. Lately the plugin has made good progress and has added:
merge support, including a in-Eclipse merge tool;
a basic synchronise view;
reading of .git/info/exclude and .gitignore files.
rebasing;
streamlined commands for pushing and pulling;
cherry-picking.
Be sure to skim the EGit User Guide for a good overview of the current functionality.
I find that I only need to drop to the comand line for interactive rebases.
As an official Eclipse project I am confident that EGit will receive all the main features of the command-line client.
EGit is still in eclipse incubation. You can install it using the Eclipse update manager.
Select Help -> Install New Software...
You probably do not have the JGit update URL in your list of sites so in the 'Work with:' field enter this url: http://www.jgit.org/updates
Click Add...
You should now see Eclipse Git Plugin - Integration Build (Incubation) listed as available software to install. Check it and click Next.
Click Next and agree to the license and it should be installed.
You can integrate Git-GUI with Eclipse as an alternative to EGit.
See this two part YouTube tutorial specific to Windows:
http://www.youtube.com/watch?v=DcM1xOiaidk
http://www.youtube.com/watch?v=1OrPJClD92s
It still seems barely usable, to tell the truth, especially in comparison to the CVS and SVN plugins. Is it really GIT so different that developer with four years of CVS and SVN plugin experience should be completely lost with completely different GUI, unheard commands, two or even single word error messages and "features" like overwriting the shared repository without warning? Do not use it, use command line interface. If you do not like command line interface, do not use GIT at all.
Meanwhile EclipseGit is an "Official Eclipse Technology Project" (09-05-07 GitWiki). I use the current version 0.5.0 (the Wiki is a step behind the development) from time to time, without any problems. Version comparison, commit, revert etc. is working well, although manual refresh's (F5) are necessary when using command line or other Git clients (usual and acceptable Eclipse behavior I think).
For a command line view from within eclipse, install the Aptana Eclipse Plugin, it provides you with a console. It's an incredible productivity boost if you do a lot of terminal commands.
I've set up EGit in Eclipse for a few of my projects and find that its a lot easier, faster to use a command line interface versus having to drill down menus and click around windows.
I would prefer something like a command line view within Eclipse to do all the Git duties.
egit has a serious bug when comparing a file in your working dir with an earlier - it flashes a blank tab. The bug has been around since 2010 and still has not been fixed.
This very basic feature which works very well in svn plugin is completely broken.
I've used it briefly, but it was still lacking support in several important areas (it wasn't doing renames/moves properly, or something). There also was no update site available for it.
I don't remember which version it was, but this was like 6 months ago. Hopefully it is better now.
You may be interested in these pointers: http://github.com/blog/232-github-and-eclipse
There is also gitclipse(based on JavaGit), but seems dead.
Hello is there a way to use svn command line from eclipse?
Within eclipse in my project browser i can righclick and then click team and than i have something like svn. Not sure which plugin it is. But it doesn't have button's to for example ignore files for uploading. That's why I want to to it command line. And my question is how to do it.
Ok so how can I use it from command line in windows xp?
The plugin you are probably using is Subclipse. It should have an "Add to svn:ignore" option. If not, try updating to the latest versions of Eclipse and Subclipse. In general subclipse should be enough and there is no need for the command line.
For Windows XP I recommend Tortoise SVN. It integrates with the Windows Explorer and offers you a graphical environment for all your needs. I would say that is much more stable than subclipse and very easy to use.
If you do want to use the command line tools, download and install svn-win32 from here. The command line tools could be helpful in merge and copy operations.
I should also point out that none of these methods interfere with each other. You can work with Tortoise SVN or the command line and subclipse won't be affected. All svn clients work by writing and reading from hidden directories called .svn. There is one such directory in every folder under source control. As long as the svn client software is of the same version, an svn client can write to these hidden folders and another one will be able to read from it. A problem could arise if one of the clients is updated to a version that uses a different protocol for writing to the .svn folders. In that case, older clients won't be able to read the information stored there. Upgrading them to the latest version will solve the problem.
Not sure what you're trying to do; sometimes it's better to describe the goal rather than the means you plan to do it.
Have you tried Subeclipse? It lets you use SVN inside Eclipse; it's great.
I'm not sure if you can use it from Eclipse, but nothing stops you from just using it. From cmd / xterm / whatever. It's not going to interfere with Eclipse in anyway, nor will it interfere with Subclipse (which I'm assuming is what you're using).
I'm using subclipse, and in generaly it works pretty well.
However, and I guess this is your problem, the Team Synchronization by default wants to add all files in my projects, not just the ones I add to version control. This is lame and frustrating, and apparently there's no way to turn it off. Screenshots for older versions, however, hints at the possibility of turning the "feature" off. Frustrating!
I'm not personally a fan of Subclipse - it slows the IDE a bit too much for my taste. Here is an alternative approach using External Tools and TortoiseSVN
Create a new External Tool
Call it SVN Commit
Set the Location to \bin\TortoiseProc.exe (mine is C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe)
Set the arguments to /command:commit /path:"${selected_resource_loc}"
Open the file / directory you want committed and run the external tool.
Interchange the commit in step four for additional commands. You can also add the specific tools to favorites and have them in a dropdown on the toolbar.
Additional Arguments Here
Not intended to be too presumptuous here, but I think you should look at whether Subversive or Subclipse actually solves problem in a different way than you intended. For instance, it is very much possible to ignore files and directories from being checked in, via Subclipse.
On the other hand, if you really want to hack away via the command prompt from Eclipse, you must install the Target Management project (supported for Eclipse Europa and Ganymede). Once you have that installed, you can launch a remote shell to your local machine and then type away on the command line :).
PS: I haven't used this approach ever; Subversive satisfied all my requirements of a SVN plugin in Eclipse.