egit refuses to create branchhttps://www.eclipse.org/forums/index.php/mv/msg/202638/647483/#msg_647483
I have a problem with egit, which I would assume to be occured with the new release of Egit (0.10.1) (unfortunately I am not able to recover 0.9.3).

Egit refuses to create a branch out of clone just received from a repository. The errorlog shows the following:

The file in question has probably different encodings for the filename (as far as I understood): latin1 and utf8
Any ideas how to sove this

Best
Jürgen

java.lang.IllegalStateException: Duplicate stages not allowed: 0 file/xxüühdhdh.pdf
at org.eclipse.jgit.dircache.DirCacheBuilder.bad(DirCacheBuilde r.java:247)
at org.eclipse.jgit.dircache.DirCacheBuilder.resort(DirCacheBui lder.java:236)
at org.eclipse.jgit.dircache.DirCacheBuilder.finish(DirCacheBui lder.java:192)
at org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCache Checkout.java:362)
at org.eclipse.egit.core.op.BranchOperation.checkoutTree(Branch Operation.java:182)
at org.eclipse.egit.core.op.BranchOperation.access$4(BranchOper ation.java:177)
at org.eclipse.egit.core.op.BranchOperation$1.run(BranchOperati on.java:113)
at org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1800)
at org.eclipse.core.internal.resources.Workspace.run(Workspace. java:1782)
at org.eclipse.egit.core.op.BranchOperation.execute(BranchOpera tion.java:127)
at org.eclipse.egit.ui.internal.repository.CreateBranchPage.cre ateBranch(CreateBranchPage.java:270)
at org.eclipse.egit.ui.internal.repository.CreateBranchWizard$1 .run(CreateBranchWizard.java:67)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread( ModalContext.java:464)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.ja va:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java: 944)
at org.eclipse.egit.ui.internal.repository.CreateBranchWizard.p erformFinish(CreateBranchWizard.java:62)
at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDi alog.java:752)
at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDi alog.java:373)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.jav a:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListe ner.java:228)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3493)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3112)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825 )
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.egit.ui.internal.repository.tree.command.CreateB ranchCommand.execute(CreateBranchCommand.java:91)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(Handle rProxy.java:294)
at org.eclipse.core.commands.Command.executeWithChecks(Command. java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithCh ecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeComma nd(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:241)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.execute Command(SlaveHandlerService.java:241)
at org.eclipse.ui.menus.CommandContributionItem.handleWidgetSel ection(CommandContributionItem.java:770)
at org.eclipse.ui.menus.CommandContributionItem.access$10(Comma ndContributionItem.java:756)
at org.eclipse.ui.menus.CommandContributionItem$5.handleEvent(C ommandContributionItem.java:746)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3493)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3112)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:22 21)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
]]>jsb2011-01-06T15:47:52-00:00Re: egit refuses to create branchhttps://www.eclipse.org/forums/index.php/mv/msg/202638/702519/#msg_702519
we have the same problem, when we clone our repository with egit and try to work with branches.
We got some files in the repository that contain German Umlauts.
The repository resides on a Linux file server, the client is a Windows machine.
We tried several things: switched the encoding on the Linux server to utf-8, configured the client with the property core.pathencoding UTF-8, but it still doesn't work.
I cloned the repository from the command line with msysgit. It seems that it recognizes that there is a problem, but I can work with the lokal repository, I have no problem checking out branches.

Interesting enough I can use this repository with egit.
I tried egit v1.0 and a build from about 2 weeks ago (v1.1.0.201107171612).

Is this a known problem? Is there a workaround?

Thanks,
Rico]]>Rico Kahnert2011-07-26T13:33:13-00:00Re: egit refuses to create branchhttps://www.eclipse.org/forums/index.php/mv/msg/202638/702844/#msg_702844
> Hello,
>
> we have the same problem, when we clone our repository with egit and try
> to work with branches.
> We got some files in the repository that contain German Umlauts. The
> repository resides on a Linux file server, the client is a Windows machine.
> We tried several things: switched the encoding on the Linux server to
> utf-8, configured the client with the property core.pathencoding UTF-8,
> but it still doesn't work.
> I cloned the repository from the command line with msysgit. It seems
> that it recognizes that there is a problem, but I can work with the
> lokal repository, I have no problem checking out branches.
>
> c:\projekte\git\cvsnew>git status
> # On branch master
> # Changes to be committed:
> # (use "git reset HEAD <file>..." to unstage)
> #
> # renamed:
> "xxx.xxx.xxx.icons/src/icons/xxxx-anwendungs\374bergreifende-funktionen.png"
> ->
> "xxx.xxx.xxx.icons/src/icons/xxxx-anwendungs\303\274bergreifende-funktionen.png"
>
> #
> # Changes not staged for commit:
> # (use "git add/rm <file>..." to update what will be committed)
> # (use "git checkout -- <file>..." to discard changes in working
> directory)
> #
> # deleted:
> "xxx.xxx.xxx.icons/src/icons/xxxx-anwendungs\303\274bergreifende-funktionen.png"
>
> #
> # Untracked files:
> # (use "git add <file>..." to include in what will be committed)
> #
> #
> "xxx.xxx.xxx.icons/src/icons/xxx-anwendungs\374bergreifende-funktionen.png"
>
>
> Interesting enough I can use this repository with egit.
> I tried egit v1.0 and a build from about 2 weeks ago (v1.1.0.201107171612).
>
> Is this a known problem? Is there a workaround?

Yes it is. Non-ASCII file names is a problem with Git in more than one
ways. Look at bugzilla for more details.

There is a patch in Gerrit for teaching EGit to work with other file
name encodings than NFC UTF-8. It seems to work, but needs cleanup when
I get time to do it. Meanwhile there is a set of patches for make
MSysGit do what I really want, i.e. standardize on UTF-8 for path names
in Git, regardless of the user's locale. EGit always encodes in UTF-8.
It is not a server feature, it's how the file names are encoded in the
repository.

One workaround is to recode the filenames and use Git with a cygwin and
UTF-8 (for Windows users).

Another is to rename all non-ascii names to ASCII names. Currently that
is the best solution. It *will* work.

You could also try the patch in Gerrit. It is a bit outdated by now, but
any feedback is most welcome. On the downside is that you need to build
the plugin yourself, but there are instructions on the Wiki and it's not
terribly difficult.

-- robin

-- robin]]>Robin Rosenberg2011-07-26T22:01:36-00:00Re: egit refuses to create branchhttps://www.eclipse.org/forums/index.php/mv/msg/202638/702845/#msg_702845
> Hello,
>
> we have the same problem, when we clone our repository with egit and try
> to work with branches.
> We got some files in the repository that contain German Umlauts. The
> repository resides on a Linux file server, the client is a Windows machine.
> We tried several things: switched the encoding on the Linux server to
> utf-8, configured the client with the property core.pathencoding UTF-8,
> but it still doesn't work.
> I cloned the repository from the command line with msysgit. It seems
> that it recognizes that there is a problem, but I can work with the
> lokal repository, I have no problem checking out branches.
>
> c:\projekte\git\cvsnew>git status
> # On branch master
> # Changes to be committed:
> # (use "git reset HEAD <file>..." to unstage)
> #
> # renamed:
> "xxx.xxx.xxx.icons/src/icons/xxxx-anwendungs\374bergreifende-funktionen.png"
> ->
> "xxx.xxx.xxx.icons/src/icons/xxxx-anwendungs\303\274bergreifende-funktionen.png"
>
> #
> # Changes not staged for commit:
> # (use "git add/rm <file>..." to update what will be committed)
> # (use "git checkout -- <file>..." to discard changes in working
> directory)
> #
> # deleted:
> "xxx.xxx.xxx.icons/src/icons/xxxx-anwendungs\303\274bergreifende-funktionen.png"
>
> #
> # Untracked files:
> # (use "git add <file>..." to include in what will be committed)
> #
> #
> "xxx.xxx.xxx.icons/src/icons/xxx-anwendungs\374bergreifende-funktionen.png"
>
>
> Interesting enough I can use this repository with egit.
> I tried egit v1.0 and a build from about 2 weeks ago (v1.1.0.201107171612).
>
> Is this a known problem? Is there a workaround?

Yes it is. Non-ASCII file names is a problem with Git in more than one
ways. Look at bugzilla for more details.

There is a patch in Gerrit for teaching EGit to work with other file
name encodings than NFC UTF-8. It seems to work, but needs cleanup when
I get time to do it. Meanwhile there is a set of patches for make
MSysGit do what I really want, i.e. standardize on UTF-8 for path names
in Git, regardless of the user's locale. EGit always encodes in UTF-8.
It is not a server feature, it's how the file names are encoded in the
repository.

One workaround is to recode the filenames and use Git with a cygwin and
UTF-8 (for Windows users).

Another is to rename all non-ascii names to ASCII names. Currently that
is the best solution. It *will* work.

You could also try the patch in Gerrit. It is a bit outdated by now, but
any feedback is most welcome. On the downside is that you need to build
the plugin yourself, but there are instructions on the Wiki and it's not
terribly difficult.