Git Repository Events Mechanism
Hello,
I am interested in creating plugin which will be responsible for separating `.idea` settings directory into separate git repository, and automating all tasks needs to be done with project settings. In general plugin will reflect almost all VCS operations like pull, push, commits, checkouting new branches, merging and so on in unique project settings repository. In result project repository will not have any unnecessary file changes in commits.
As I understand the only way to subscribe repository events for now is to listen to `GitRepository.GIT_REPO_CHANGE` which is not really acceptable because of lack of necessary information in this event object. So it will be hard to create logic that will determine all types of VCS operations.
Another solution we be to contribute to `git4idea` plugin witch is handled by IDEA, and introduce something like public `GitEventsService` witch will acquirable from ServiceManager and will delegate all common events to listeners subscribed to it.
Can You please assist me with choosing right one solution? I understand that it's is better to choose 1 way because it will probably be compatible with command line interface, but in practice nobody uses it on daily basis. Also I will appreciate if You provide information about contributing to IDEA maintained plugins. Also please correct me if i misunderstood something, or if i missed some of events concepts in git plugin.
Thank you in advance,
Dmytro Konovalov
Please sign in to leave a comment.
Hi, sorry for the late reply.
What kind of API do you have in mind?
Which events should it fire? How should it work with commands, performed via command line?
Could you also describe this idea with separating .idea settings a bit?
https://github.com/JetBrains/intellij-community/blob/master/CONTRIBUTING.md