How to add Bugzilla-bug-version to SVN commit description? - eclipse

I'm using: Eclipse Juno with Mylyn, SVN Subversive Plugin, Bugzilla 4.2.4.
I strive for the overall goal to loosly relate SVN commits with bugzilla tasks. Thanks to Mylyn I retrieve a great deal of information ready to be attached to the commit description. Good so far.
However, I wish to add the version that a bug is related to, to the commit description. In Eclipse, we may add task variables (Window, Preferences, Mylyn, Team, Commit Comment Templates). By default there is: ${task.status} - ${connector.task.prefix} ${task.key}: ${task.description}
${task.url}
Unfortunately there is no such thing like ${task.version}. Is there a workaround to add the Bugzilla version of the bug to the commit description?
thanks heaps,

Related

egit pull dialog "when pulling" options

I have recently moved an ecliplse project from svn to git. I have basic understanding of what push and pull is Could someone be so kind to explain what are 4 different choices for "when pulling" option in the eclipse pull dialog in terms off eclipse (what would happen if I select each one of them)/ Cant seem to find this info anywhere not even in the egit wiki tutorial

Eclipse SVN shows incoming change when no changes

After committing all changes to my SVN repository, I always see "incoming change" on my folders.
I have found similar posts here on StackOverflow, but none ended with a solution. Someone did mention that their repository was set up incorrectly, but did not elaborate.
Any ideas where I can begin investigating?
I am using Juno Service Release 1 Build id: 20120920-0800 and SVN version 1.6 with the following plug-ins:
You must have the Subclipse feature to Show Out of Date folders turned on (it is not on by default). This blog post describes the feature:
http://markphip.blogspot.com/2006/12/subclipse-synchronize-feature-show-out.html
I generally do not recommend using it, which is why the preference is off by default.

How to make a tag in SVN using eclipse?

I'm using eclipse and Subversion (SVN) is my new version control.
Till now I used to use Concurrent Versions System (CVS) as my version control and after deploy operation I used to tag my projects with Tag as Version in eclipse like this:
Team --> 'Tag as Version..' --> Version-X-Y-Z
How can I do it now using SVN?
Normally, SVN has three root level directories,
trunk
tags
branches
In SVN server, for each project, you have the same above directory structure.
'trunk' is where you keep your ever developing code base.
'tags' is used for the same purpose that you've indicated. i.e. for versioning.
'branches' is used for things like feature developments/individual development.
An example,
Let's say I am developing a database synchronization application which will go out as Pilot release, Moonshine release, Kilimanjaro release, Great release and onwards..
I start in 'trunk' and continue my development for let's say 2 months at which time I am ready for Pilot release..
Then I create a 'tag' of the 'trunk' which I can name 'Pilot tag' which will be released to customers..
Now my main feature developments for next release which is 'Moonshine release' will continue in the 'trunk'. If their are any immediate bug fixes or show-stoppers in my 'Pilot release' those will be done in the 'Pilot tag' and released to the customers immediately..
However since the above fixes are not in my 'trunk' code, sometime later (before releasing the Moonshine release) I will 'merge' the modifications done in my 'Pilot tag' back to 'trunk'.
Here, there can be conflicts since the same code lines could have been modified in both 'Pilot tag' (for bug fixing mentioned earlier) and in 'trunk' (for feature modifications/development of new release). In this situation, you have to carefully review the conflicts, edit any such conflicts and accept the changes.
TortoiseSVN is the primary client tool for using SVN. It embeds features directly to your Windows right click menu for all above mentioned functionalities like commit, update, merge, branch (i.e. tag or branch) etc.
And for conflict resolution I personally prefer 'Beyond Compare' which is a third party application which you have to buy. You can setup TortoiseSVN to invoke Beyond Compare as the application for conflict resolution and it is far better and user-friendly than the built in conflict editor in TortoiseSVN tool.
You would need to install an Eclipse Subversion plugin like subclipse or Subversive. This will provide the same facility as that available for CVS.
For instance, here is the documentation on how to tag using Subversive.
To TAG, using Eclipse with SubClipse:
select Team, Branch/Tag, then click the 'select' button and drill into the appropriate project, then click 'tags' directory, and drill down to your last tag name or any similar name you plan on creating.
The full URL is copied into bar, then you can edit it changing the rightmost tag name portion to any new tag name.
Click next, select from HEAD (HEAD is referring to the repo path you have established already on previous page so in fact may be the Head of a Branch).
Enter a comment like 'tagging <appName> Release <for reason> version x.y.z'
Finish -
You can prior to this point or after, open the Eclipse 'SVN Console' from dropdown on right bottom of page, and see most recent SVN commands generated and there results.
Every checkin in SVN creates an new revision number. SVN revision number should be equivalent of your tag. Remember the SVN revision number for the production build.
Tagging and branching in Subversion works differently from CVS. In Subversion, "to create a tag" means to copy a revision (typically HEAD, but it can be some other revision) to a new directory within the "tags" directory. That is why, when you go to Team->Branch/Tag..., Eclipse is asking you for a URL to copy to.
Check out this page for a more detailed explanation of tagging in Subversion.
To help you understand how things are done "the SVN way," I'd recommend practicing Subversion usage from the command line, before trying it on Eclipse. Or, if not, at least open an SVN console in Eclipse to see the commands that it runs--you'll see that the tagging operation is indeed an svn copy.

Compatibility of EGit - or are there alternatives?

I'm developing with Eclipse and managing my repositories with git and gitorious. Until now, I used git on the command line. I've looked around for a way to integrate git into Eclipse and found EGit. This has also been asked on SO two years ago. But as EGit uses JGit, a git clone written in Java, I'm concerned about its compatibility with the original git.
I know that EGit is missing some (maybe a lot) of git's advanced features, so I would use EGit for daily basic uses like commits, checkouts, pulls and pushes, branching, etc, and use git for more advanced - but less frequent - tasks. Any experiences? I won't use EGit if there is any chance that my repos get broken just because git and EGit didn't agree on how to manage them!
Another question: Are there alternatives to EGit? I couldn't find any.
As one of the developers of EGit and JGit, all I can say is that the projects are still in beta (incubation in eclipse.org terms). We are evolving quickly and have managed to pump out a release every 3 months for the past year. We recently shipped 0.10.1 and are planning to push a 0.11 release at the end of February. Our goal is to ship a 1.0 for the major Eclipse Indigo release in June which would be usable by the whole Eclipse community. This is required because eclipse.org itself is moving to Git.
One of the best things you can do with EGit is to checkout the user guide which aims to help people use EGit in the way it was intended, See Eclipse Wiki
If you have any questions, you can always use our mailing list or bugzilla. More information can be found in our extensive contributor guide.
On a side note, SmartGit under the covers uses JGit to handle the operations. Gerrit the popular code review tool (used by the Android dev team and others) uses JGit under the covers too. JGit has ~1800 tests to ensure compatibility with Git and even has some developers that work on CGit too. In the beginning we had a bit of trouble with compatibility but that is no longer the case with our extensive test suite. The project has developers from SAP, Google, Red Hat and other companies.
I know you are looking for a way to integrate into Eclipse, but in my experience trying to do this does not work. Even if EGit is perfectly compatible with your Git repo's it is still buggy as hell. I use NetBeans now which has Mercurial built in and optional Git plugins, they are still useless!
If you want a nice visual way to work with Git then try SmartGit or Tower. I have used both a little and heard great things about them, but mainly stick to CLI + GitX.

How can I compare two revisions in git in Eclipse?

I am using the eclipse plugin for Git on Mac OS 10.6, and I cannot figure out how to compare two version of a file. I can pull up the file's history, and see all of the commits, with their messages, but I can't figure out how to see what changed in each commit.
This was very easy with subversion, and I'm sure its easy with Git, if you know where to look (but apparently, I don't).
Any pointers would be greatly appreciated.
To elaborate on my question, is there a way to access git-diff in the eclipse plugin?
From the EGit User Guide:
select a Resource (project, folder, or file) in the project explorer
or navigator and right-click an action under Compare With.
I just tested this with EGit 1.3.0. You can compare with a commit, HEAD, previous revision, "branch, tag, or reference", Git index, or any item in History.