I'm using MercurialEclipse 2.0.0 in STS 2.9.2. When I attempt to synchronize a project with its central repository, it works for some projects, but for other projects nothing happens - the Synchronize view does not appear, nor does an error message. I can do "Synchronize With..." and choose the repository every time, but that's cumbersome. What's different between the projects that would cause this behavior?
I think this is happening with multiple people.
Resolution TBD.
For now, an explicit "Synchronize With..." that brings up the explicit dialog is the safest bet.
Team/Synchronize question
Pinned synchronizations lost in MercurialEclipse 2.0
Open up the Mercurial Repositories view. Right click on the central repository that your local repo was cloned from-->Properties. Fill in the login/password fields if they're blank (strange, though, because in our central repos credentials aren't required until you actually push). Re-try the synchronize.
Related
I've looked at the answers to similar questions here, and none fit the bill, or manage to solve the issue.
Using Eclipse Neon.3 (4.6.3) with EGit 4.7.0, and no other versioning system like SVN or CVS, calling Team > Synchronize on some of my Java projects, which have been synced with a Bitbucket repo many times over, and which show absolutely no changes whatsoever in the compare editor, including any whitespace differences, Eclipse still lists several .java source files as Outgoing changes under the "Java Workspace" model.
So for instance, calling Team > Synchronize on a project in my workspace, that is tracked in my local Git repo and remotely in a Cloud hosted Bitbucket, returns the following message:
There are no more Incoming/Outgoing changes for Git Commits. However Java Workspace has changes in Incoming/Outgoing mode.
Change to Java Workspace
Show All Models
A Google search for "However Java Workspace has changes" only yields a single result:
The sole hit is a reported bug in Subversive (one of the two main SVN integrations for Eclipse). However, while the described issue sounds like a rather accurate match of the issue I'm having, it claims that doing another Team > Synchronize, or restarting Eclipse would resolve the phantom Outgoing changes. Not so in my case, not with EGit.
Like I said, the remote and local files are exactly the same, incl. their whitespace/line endings.
Fetch/Pull from origin says there are no changes, everything is up to date.
Calling Replace With > HEAD Revision also doesn't help, Eclipse keeps insisting, that my workspace has Outgoing changes. Outgoing where?
This is obviously no big issue, merely an irritating nuissance. Still would be nice to get to the bottom of it.
...Did you try doing the Eclipse dance?
Edit: I find after some time Eclipse will behave strangely (example: dumping views I have enabled, losing track of files, or behaviour similar to what you are experiencing). When this happens I usually select and delete the project from my workspace, close Eclipse, reopen it and reopen the project.
I don't know why this happens or why this works as a fix.
My colleague and I work together on an iPhone app in Xcode. Now and then, we want to merge our work. Ideally, this should also work when we are offline and use a USB stick to exchange eachother's projects.
For the case the majority of the changes are non-conflicting, what way can I use to merge these two whole projects locally, and keeping the local GIT repository in sync with these merges?
To merge the changes into your version, you need to add your colleague's version as a remote repository (although stored locally on harddisk) to your project and then pull the changes from your colleague's project into your own project.
Details:
I'm assuming you have two copies of the same Xcode project, with different changes, on your local harddisk, yours and the one with the additional changes from your colleague that you want to merge into your own version.
Moreover, I'm assuming that both of you use a local GIT repository for local version control. That's the default when you start a new Xcode project, so unsually you don't need to worry about this.
Let's assume the project folders are in these locations:
/Users/UserName/projects/YourVersion
/Users/UserName/projects/YourColleaguesVersion
For adding your colleagues project as a remote repository to your project, do this:
Go to the Organizer (click in Xcode's Menu: Window > Organizer)
Click on Repositories at the top of the Organizer window
Locate YourVersion in the list at the left side of the Organizer window
Click on "Remotes" under YourVersion
Click on "Add Remote" at the bottom of the Organizer window
In the Dialog which appeared, type in this:
Remote Name: YourColleaguesVersion
Location: file:///Users/UserName/projects/YourColleaguesVersion
Click the "Create" button and close the Organizer window
Now for pulling the changes from your colleage's project into your project, do this:
Click in Xcode's Menu: File > Source Control > Pull...
A Dialog opens and says "Choose remote from which to pull changes." - It should show YourColleaguesVersion/master as the remote repository and it should say Remote is online. Click on the "Choose" button.
You're done.
This is what source control is for. You mention git, and that's a reasonable source control system to use. git is very good at branching and merging and makes it pretty easy. You should read the git book chapter on branching. It explains it pretty well.
There are a variety of ways you can do it, but if you both work on different computers, it seems like the easiest way is to have a git server that hosts the main repository. You can each branch and merge locally or from the server. You shouldn't need to share a memory stick, though you could theoretically keep a local git repository there and each have branches on it. But git was intended to be used by many people distributed in different places each making their own frequent branches and merging them back together.
I should add that you can start a git repository locally and later move it to a server if you don't have a server right now. You can also use something like github to store your project on a server without having your own server.
No matter what I do, Eclipse (EGit) doesn't display the changes. I've searched a lot for this issue, but cannot solve it. A friend of mine has the same issue. In the past everything worked fine, but from one day to the other the issue occured.
When I hit Team > Synchronize Workspace, only the dialog "Synchronizing Git: No changes found." appears. When I choose Team > Advanced > Synchronize, the same happens.
I also installed a new Eclipse (with a fresh Windows) and issue was still there. With my Ubuntu notebook everything is fine.
Does anybody have the same issue? Is there a solution? I also tried to install the plugins mentioned in this answer, but it didn't work for me.
Update
Eclipse also displays incoming changes (after fetching from upstream) and the changed files (with an arrow), but the synchronize view still doesn't show the changes.
Update 2 I've tested a project from Github and there everything works as apected. What could be the difference between these two projects? I've checked the repository settings and they are equal. Could the authentication cause the issues? Like I've said, the project works fine on my Ubuntu machine.
I've tried the new EGit, re-cloning the project and nothing worked except this:
In the Synchronize view, click on the dropdown arrow next to Synchronize button, then select "Synchronize...".
In the dialog that appears choose Git, press Next.
Then the crucial part - select destination to be HEAD for your repository and check "Include local uncommitted changes in comparison".
Click Finish.
I used to have the same problem but upgrading to EGit 2.2 seems to have taken care of it. Things are now consistent between "git status" at command line and "Team / Synchronize Workspace" in Eclipse.
You can get EGit from here or you can add the update site http://download.eclipse.org/egit/updates-2.2 to Eclipse.
Latest Egit Update Site:
http://download.eclipse.org/egit/updates
Before you can synchronize your workspace, you need to do a "fetch" from the remote repository (Team -> Fetch from Upstream) to get all the incoming changes into your local repository. Afterwards you can synchronize them.
If you don't want to make two clicks for synchronizing, you can enable "Always launch fetch before synchronisation" in Preferences -> Team -> Git -> Synchronize.
Staged ChangesThis has worked for me :
Whenever you made any changes. Right click on your Project name then Go to Team and click on "Add to Index". Now again Right click on your Project Name then Go to Team and click on "Commit". Now You will see that Git Staging console has been opened and the changes you have made are started displaying in Staged Changes box.
We were strugeling with the same problem. It turned out that we had to remove all options in Git->Synchronize preferences.
We are using Eclipse Juno and Kepler. Removing the options solved the problem for both.
If it helps anyone, I ran into the same problem.
During synchronization, in repository selection, the option Include local uncommitted changes in comparison is not checked and shows No changes found in the Synchronize view. Synchronizing with that option checked, shown the changes.
Eclipse Version: Luna Service Release 1 (4.4.1) - MacOS
As per the EGit User Guide, to use the merge tool, one should right-click on the resource with a merge conflict and then select Team > Merge Tool. However, when I do this, the Merge Tool option is greyed out. EGit is properly detecting the conflict and showing me both the icon and text label decorations for the file in conflict.
Any ideas?
It was disabled for me because I had some changes on my stash list.
$ git stash clear
fixed the problem for me.
It can depend on the version of EGit you are using, and on the operation that lead to the conflict.
See for instance bug 339092 which mention merge tool being not enabled in the case of a conflict after cherry-picking: only the just released EGit 0.12 would support that.
The only time (other than a bug) that the Merge Tool would be disabled is that when you are in any status other than the Conflicts one; i.e. you will only see that option enabled when the status is Conflicts. The status is shown next to the project name in most views, such as Project Explorer and Synchronize.
Make sure you have merged with desired branch, then if your merge results in conflicts, your project will enter Conflicts mode, and the Merge Tool will be enabled.
It seems to be a bug in EGit as VonC mentioned, but the fix is easy. I did it using reset branch option on the same menu that Cherry Pick option existed.
Note: git stash clear didn't help.
This happens if you tried to push changes to a remote and there were merges required from the remote. It fails with 'not FF' but also simultaneously detects the conflict. Don't ask me why it doesn't mark the whole project as conflicted at this point.
Open the Synchronize tab, right-click the project and select 'merge'. This immediately fails because of the conflicting file, and it switches on the conflict icon label for the project and enables the 'merge tool' option.
This is for EGit 4.0.3 in Eclipse Mars.
This also happens if you're in detached head state (in my case, I had checked out a remote branch and then forgotten).
Also, even after you've corrected the problem, you may have to select a different project and then reselect the one you actually want (just selecting in the package explorer view) in order for the menu to update.
I recently switched from Subclipse to Subversive for SVN integration in Eclipse, and I'm having trouble creating a branch of my source code.
I've tried a few different variations of my method, but they all led me to the same roadblock. Basically, here's what I'm trying to do.
Navigator pane
Right-click on project folder (want to branch the whole thing)
Team > Branch
In the Location field, browse to select the /branches folder in my repository
Add the branch name to the path field, i.e. "/testbranch" (not pictured)
The dialog then looks like this, and I can't continue.
http://img820.imageshack.us/img820/1011/branchingfail.png
What am I doing wrong here? Why can't I create this branch? If nothing else, can it at least be confirmed that I'm following the right process, and it's something about my environment or configuration that's stopping the branch from being created?
I found that SVN is very particular with the SVN connectors. If you connected and downloaded SVN code with one connector and then switched to a different connector when you started using Subversive, you'll definitely have problems.
I've had unexplained Subversive problems in the past and they've almost always tracked back to different connector usage. The solution for me was to reset all of my local SVN code. I deleted everything local and rechecked out all of my code. Everything appeared to be fine after that.
I hope this helps.
I don't consider this a proper solution, but it's at least got me working again. Instead of running a branch operation, I created a new folder inside my branches folder, and then copied the contents of the trunk folder into it. I was then able to switch to my new "branch".
Make sure you do not have any uncommited changes, and then do a Team>cleanup. Also make sure you are branching from the trunk and that you do not have any mixed version. For example you can have a folder below the root be from another branch while the rest of the project is from trunk. This will cause the branch creation to fail. When having issues with branches from the navigator, try reverting the project (right click choose team>revert) several times. Then execute the cleanup several times.
Also you may consider creating the branch from the SVN Repositories view. From this view right click on the location you want to branch from (ie truck) and select New>branch from the context menu. One last step is from the navigator view you will need to swtich your project to the newly created brancn: right click on the project root and select Team>switch from the context menu