Git Product home page Git Product logo

Comments (7)

OpherV avatar OpherV commented on July 21, 2024

Thanks for the info. I'll look into this over the weekend.

from gitflow4idea.

Stonos avatar Stonos commented on July 21, 2024

Ok, thanks!

By the way, as a workaround, I compiled the plugin from source, and I used Android Studio's git4idea .jar as a library, and it works.

from gitflow4idea.

OpherV avatar OpherV commented on July 21, 2024

I cloned the Android Studio repo to take a look at the git4idea plugin they use but unfortunately they don't provide it there. I sent a message to Tor Norbye - hopefully he'll reply. In the meantime I've decompiled the AS git4idea.jar to make sense of things.

It looks like our friends at Google altered the plugin, rendering it incompatible with gitflow4idea (and probably some other plugins that rely in git4idea as well). Take a look at plugin.xml:

original git4idea

  <project-components>
    <component>
      <interface-class>git4idea.repo.GitRepositoryManager</interface-class>
      <implementation-class>git4idea.repo.GitRepositoryManagerImpl</implementation-class>
    </component>
  </project-components>

AS git4idea

 <project-components>
    <component>
      <implementation-class>git4idea.repo.GitRepositoryManager</implementation-class>
    </component>
  </project-components>
So you see, gitflow4idea expects `GitRepositoryManager` to be an interface while the altered AS version has it as a class. This means the AS change to the plugin is a breaking change. As AS is currently defined as an *"Early Access Preview"*, I would consider this a bug on their end rather than on mine. Things are bound to change with early alphas, and I don't feel comfortable putting a hack fix around that. I guess the best course of action would be to [submit a ticket](https://code.google.com/p/android/issues/entry?template=Android%20Studio%20bug&comment=Build:%20AI-130.675642,%2020130514) to the AS devs to maintain compatability with the original git4idea plugin.

Read comment below

from gitflow4idea.

OpherV avatar OpherV commented on July 21, 2024

After some investigation it turns out the incompatibility came from a plugin change in IntelliJ

I was working on the community edition 12.1.4 (release 129.713) which has the older version of the plugin bundled. Android Studio is based on the 13 EAP build.

Now that I know what's wrong I can take care of it :)

from gitflow4idea.

Stonos avatar Stonos commented on July 21, 2024

Yay! :)

Also, regarding the version I compiled using Android Studio's git4idea jars, I was too quick to say that it works :(
Finishing/publishing a feature does not work:

null
java.util.NoSuchElementException
    at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:396)
    at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:405)
    at gitflow.GitflowImpl.finishFeature(GitflowImpl.java:108)
    at gitflow.GitflowActions$FinishFeatureAction$1.run(GitflowActions.java:268)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:468)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:207)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$8.run(ProgressManagerImpl.java:378)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:434)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)
    at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:151)

from gitflow4idea.

OpherV avatar OpherV commented on July 21, 2024

@Stonos please try the new 0.3 release I just posted.

Thank you for helping me squash a major bug! :) 👍

from gitflow4idea.

Stonos avatar Stonos commented on July 21, 2024

Thanks for the quick fix!
Everything seems to be working fine now! :)

from gitflow4idea.

Related Issues (20)

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.