* egit/jgit wishlist @ 2006-12-04 17:28 Shawn Pearce 2006-12-04 17:58 ` Steven Grimm 2006-12-04 18:16 ` Grzegorz Kulewski 0 siblings, 2 replies; 10+ messages in thread From: Shawn Pearce @ 2006-12-04 17:28 UTC (permalink / raw) To: git I've started a wishlist: http://git.or.cz/gitwiki/EclipsePluginWishlist My idea is to work through these in the order shown on the page. I'm looking for comments from those who may be interested in this plugin, to see what they want/need to make it useful. There's many months worth of work listed there, especially with the amount of time that I have available for jgit/egit. So I'm of course also hoping that others might see something there and try to implement it themselves. :-) -- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 17:28 egit/jgit wishlist Shawn Pearce @ 2006-12-04 17:58 ` Steven Grimm 2006-12-04 18:05 ` Shawn Pearce 2006-12-04 18:16 ` Grzegorz Kulewski 1 sibling, 1 reply; 10+ messages in thread From: Steven Grimm @ 2006-12-04 17:58 UTC (permalink / raw) To: Shawn Pearce; +Cc: git I am definitely looking forward to a usable Eclipse plugin! A few comments: My usual git working style is to not switch branches with a dirty working directory; I always commit to the current branch before switching to a new one. I mention that because I assume it'll be easier to implement that workflow first; once you have commit capability, you can do that style of branch switching (either preventing the switch or doing an implicit commit when the working directory is dirty) without having to worry about merging. And finally, it would be swell -- but put it at the bottom of your priority list -- to have git-svn interoperability; sadly most of my git usage at the moment is in cloned svn repositories and it would be great if egit could do the right thing when the current git repo is cloned from svn. What "the right thing" is, exactly, is debatable, but I suppose some kind of integration with the Subclipse plugin is one possibility (and if nothing else, that plugin probably has code that can be reused.) I'd like to be able to update from and commit to the parent svn repository. -Steve ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 17:58 ` Steven Grimm @ 2006-12-04 18:05 ` Shawn Pearce 0 siblings, 0 replies; 10+ messages in thread From: Shawn Pearce @ 2006-12-04 18:05 UTC (permalink / raw) To: Steven Grimm; +Cc: git Steven Grimm <koreth@midwinter.com> wrote: > My usual git working style is to not switch branches with a dirty > working directory; I always commit to the current branch before > switching to a new one. I mention that because I assume it'll be easier > to implement that workflow first; once you have commit capability, you > can do that style of branch switching (either preventing the switch or > doing an implicit commit when the working directory is dirty) without > having to worry about merging. It is easier to code. :-) But users have come to expect the three-way merge during branch switches. I actually get ticked when it fails, because that is usually when I need it most. Anyway, I also know a number of Eclipse users who also use Git that would prefer it if the switch fails on a dirty working tree, as that usually just means they forgot to commit their changes first. > And finally, it would be swell -- but put it at the bottom of your > priority list -- to have git-svn interoperability; sadly most of my git > usage at the moment is in cloned svn repositories and it would be great > if egit could do the right thing when the current git repo is cloned > from svn. What "the right thing" is, exactly, is debatable, but I > suppose some kind of integration with the Subclipse plugin is one > possibility (and if nothing else, that plugin probably has code that can > be reused.) I'd like to be able to update from and commit to the parent > svn repository. SVN integration is probably out of scope for the plugin (at least right now) but I won't reject any reasonable patches! (hint hint) :-) -- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 17:28 egit/jgit wishlist Shawn Pearce 2006-12-04 17:58 ` Steven Grimm @ 2006-12-04 18:16 ` Grzegorz Kulewski 2006-12-04 18:29 ` Shawn Pearce 2006-12-04 21:54 ` Robin Rosenberg 1 sibling, 2 replies; 10+ messages in thread From: Grzegorz Kulewski @ 2006-12-04 18:16 UTC (permalink / raw) To: Shawn Pearce; +Cc: git On Mon, 4 Dec 2006, Shawn Pearce wrote: > I've started a wishlist: > > http://git.or.cz/gitwiki/EclipsePluginWishlist > > My idea is to work through these in the order shown on the page. > I'm looking for comments from those who may be interested in this > plugin, to see what they want/need to make it useful. > > There's many months worth of work listed there, especially with > the amount of time that I have available for jgit/egit. So I'm of > course also hoping that others might see something there and try > to implement it themselves. :-) Hi, I am interested in seeing GIT support in Eclipse. I think that doing it in 100% pure Java is ok in long run but I wonder if you couldn't make "wrapper" plugin for a start (that would call the real C git for every operation) and make it usable (with full pure Java SWT UI support) and then try to implement feature by feature in pure Java (with config options telling what should be called by wrapper and what by pure implementation)? This way we could probably rather fast (basic versions of other GIT UIs were created rather fast IIRC) have basic support for GIT (preferably with GIT Java wrapper library for other projects) that would be usable for most users and this way you could gain more interest in the project. Also testing new pure implementation would be a lot easier (changing one line in config file to enable some pure Java feature and of course having an option to come back to wrapped version of this feature if new pure implementation was wrong). What do you think about it? Thanks, Grzegorz Kulewski ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 18:16 ` Grzegorz Kulewski @ 2006-12-04 18:29 ` Shawn Pearce 2006-12-04 21:19 ` Steven Grimm 2006-12-04 21:54 ` Robin Rosenberg 1 sibling, 1 reply; 10+ messages in thread From: Shawn Pearce @ 2006-12-04 18:29 UTC (permalink / raw) To: Grzegorz Kulewski; +Cc: git Grzegorz Kulewski <kangur@polcom.net> wrote: > I think that doing it in 100% pure Java is ok in long run but I wonder if > you couldn't make "wrapper" plugin for a start (that would call the real C > git for every operation) and make it usable (with full pure Java SWT UI > support) and then try to implement feature by feature in pure Java (with > config options telling what should be called by wrapper and what by pure > implementation)? Several people have proposed doing exactly that, but thus far myself and Robin Rosenburg have been the only two to step forward with code. I personally want to avoid calling external programs as much as possible here, and that means staying with a 100% pure Java implementation. Hence the desire to not build a wrapper plugin. We have the core repository reading and writing working. We can write out trees. We can create commits (we just lack UI for it). So we're part of the way there... -- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 18:29 ` Shawn Pearce @ 2006-12-04 21:19 ` Steven Grimm 2006-12-04 21:47 ` Grzegorz Kulewski 0 siblings, 1 reply; 10+ messages in thread From: Steven Grimm @ 2006-12-04 21:19 UTC (permalink / raw) To: git Shawn Pearce wrote: > I personally want to avoid calling external programs > as much as possible here, and that means staying with a 100% pure > Java implementation. I think that's exactly the right decision. One big advantage of doing it this way is that it will be reasonably cross-platform from the start. As soon as you start running external programs, you introduce all the system dependencies of the Git command-line tools, especially acute if you're running some of the non-C porcelain commands (which will then require a working shell or Perl environment to be installed.) With a wrapper-based implementation, the temptation would probably be pretty great to just leave some stuff implemented as wrappers and not bother porting them, which would potentially kill portability. Insisting on 100% pure Java means that particular temptation is never an issue. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 21:19 ` Steven Grimm @ 2006-12-04 21:47 ` Grzegorz Kulewski 2006-12-04 22:06 ` Steven Grimm 2006-12-05 8:37 ` Johannes Schindelin 0 siblings, 2 replies; 10+ messages in thread From: Grzegorz Kulewski @ 2006-12-04 21:47 UTC (permalink / raw) To: Steven Grimm; +Cc: git On Mon, 4 Dec 2006, Steven Grimm wrote: > Shawn Pearce wrote: >> I personally want to avoid calling external programs >> as much as possible here, and that means staying with a 100% pure >> Java implementation. > > I think that's exactly the right decision. > > One big advantage of doing it this way is that it will be reasonably > cross-platform from the start. As soon as you start running external > programs, you introduce all the system dependencies of the Git command-line > tools, especially acute if you're running some of the non-C porcelain > commands (which will then require a working shell or Perl environment to be > installed.) > > With a wrapper-based implementation, the temptation would probably be pretty > great to just leave some stuff implemented as wrappers and not bother porting > them, which would potentially kill portability. Insisting on 100% pure Java > means that particular temptation is never an issue. But it will be working (== end user usable) after many months not days. And please note that Java is not that portable as many people are suggesting. Maybe it will change but currently I will bet C + bash + perl (+ python?) is more portable than Java. Java (J2SE) is officially supported mainly under Windows, Solaris, Linux and maybe Mac. There are more ports but unfortunatelly way too many of them are old, buggy, have not full library implementations or something like that. Eclipse also currently works only under Windows, Linux and Mac. Can you name one system where Java (J2SE 1.4 or better 1.5) works (fully, not sometimes) and where GIT does not work? Does Eclipse work there too (or will in say next year)? Don't get me wrong: I like Java, use it a lot and wish everything best for it but it is not the only or main anwser to every problem on this planet. :-) Good wrappers are often better at the begining than trying to do everything at once from scratch. And they are certainly faster to develop. Thanks, Grzegorz Kulewski ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 21:47 ` Grzegorz Kulewski @ 2006-12-04 22:06 ` Steven Grimm 2006-12-05 8:37 ` Johannes Schindelin 1 sibling, 0 replies; 10+ messages in thread From: Steven Grimm @ 2006-12-04 22:06 UTC (permalink / raw) To: Grzegorz Kulewski; +Cc: git Grzegorz Kulewski wrote: > Can you name one system where Java (J2SE 1.4 or better 1.5) works > (fully, not sometimes) and where GIT does not work? Does Eclipse work > there too (or will in say next year)? Sure, I can name a pretty significant one: Windows. Eclipse, and Java in general, runs fine under Windows and I doubt they'll drop support for it in the next year. Git doesn't run on Windows unless you're willing to fire up the Cygwin environment to run it, which is not acceptable to many Windows developers (see the discussion about the Mozilla project; that's not just my personal opinion.) -Steve ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 21:47 ` Grzegorz Kulewski 2006-12-04 22:06 ` Steven Grimm @ 2006-12-05 8:37 ` Johannes Schindelin 1 sibling, 0 replies; 10+ messages in thread From: Johannes Schindelin @ 2006-12-05 8:37 UTC (permalink / raw) To: Grzegorz Kulewski; +Cc: Steven Grimm, git Hi, On Mon, 4 Dec 2006, Grzegorz Kulewski wrote: > But it will be working (== end user usable) after many months not days. Not really. JNI is not that easy to get to work, you know? _Especially_ with cygwin, where you have to transform pathnames from native to posix format. It is much work, for just a temporary solution. > And please note that Java is not that portable as many people are > suggesting. But it is. There are more official Java engines than just those from Sun. For example, I worked on an SGI machine, where I did not have enough quota to install gcc and friends, but Java. Also, now that it will be GPLed, you can be sure that even more platforms become supported. And the most important aspect of portability: You really can run the compiled code anywhere. This is in stark contrast to C, C#, Perl, etc. > Maybe it will change but currently I will bet C + bash + perl (+ > python?) is more portable than Java. You lost. > Java (J2SE) is officially supported mainly under Windows, Solaris, Linux > and maybe Mac. There are more ports but unfortunatelly way too many of > them are old, buggy, have not full library implementations or something > like that. Aha. But you don't need them. For example, you do not need a full working CORBA library, or JDBC, or whatever. Java 1.1 should be sufficient (except for that stupid mmap bug). > Eclipse also currently works only under Windows, Linux and Mac. This a completely different beef. IBM, in its infinite wisdom, decided to scrap the platform independent Swing UI, and made its own (SWT). In C++. Yes, you need to compile it for _every_ platform you want to run Eclipse on. Brilliant. > Can you name one system where Java (J2SE 1.4 or better 1.5) works > (fully, not sometimes) and where GIT does not work? As has been said, Windows. Oh, and some mobile phones. And some embedded devices. Maybe even VMS. Ciao, Dscho ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: egit/jgit wishlist 2006-12-04 18:16 ` Grzegorz Kulewski 2006-12-04 18:29 ` Shawn Pearce @ 2006-12-04 21:54 ` Robin Rosenberg 1 sibling, 0 replies; 10+ messages in thread From: Robin Rosenberg @ 2006-12-04 21:54 UTC (permalink / raw) To: Grzegorz Kulewski; +Cc: Shawn Pearce, git måndag 04 december 2006 19:16 skrev Grzegorz Kulewski: > Hi, > > I am interested in seeing GIT support in Eclipse. > > I think that doing it in 100% pure Java is ok in long run but I wonder if > you couldn't make "wrapper" plugin for a start (that would call the real C > git for every operation) and make it usable (with full pure Java SWT UI > support) and then try to implement feature by feature in pure Java (with > config options telling what should be called by wrapper and what by pure > implementation)? > > This way we could probably rather fast (basic versions of other GIT UIs > were created rather fast IIRC) have basic support for GIT (preferably > with GIT Java wrapper library for other projects) that would be usable for > most users and this way you could gain more interest in the project. Also > testing new pure implementation would be a lot easier (changing one line > in config file to enable some pure Java feature and of course having an > option to come back to wrapped version of this feature if new pure > implementation was wrong). > > What do you think about it? > Calling wrappers on top of C (JNI/exec), bash script, perl script etc etc is not very easy or quick and requiring all dependencies on whatnot, makes installation of plugins very complicated. There would go a lot of work into working with the wrappers, instead of creating a pure Java implementation. As Shawn knows the Git internals very well, and the datastructures being documented, implementing a pure java version is the best thing, and maybe the simplest, to do If an complete C library existed, maybe things would be different. Most of the git storage access is already there. Note that many Git tools work with egit too allowing a smooth transition and the implementation of feature by feature. I use clone, pull, push, Stacked git, and the CVS tools today just fine in the same working area as egit. Having a dependency on bash/perl/python etc, etc i EGIT would be counter productive. I /could/ imaging a C-implementation of the index to make it fully interoperable with the git tools in the same working area, but that's about it, because that would have to be C as java's portable API's does not include lstat. It is possible though for those that wish to implement a separate plugin that provides wrapper-implementation of certain features. To eclipse that would just be yet another plugin that provides some git-related feature. Such plugins could use egit, jgit if necessary. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2006-12-05 8:37 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-12-04 17:28 egit/jgit wishlist Shawn Pearce 2006-12-04 17:58 ` Steven Grimm 2006-12-04 18:05 ` Shawn Pearce 2006-12-04 18:16 ` Grzegorz Kulewski 2006-12-04 18:29 ` Shawn Pearce 2006-12-04 21:19 ` Steven Grimm 2006-12-04 21:47 ` Grzegorz Kulewski 2006-12-04 22:06 ` Steven Grimm 2006-12-05 8:37 ` Johannes Schindelin 2006-12-04 21:54 ` Robin Rosenberg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).