From: "Imran M Yousuf" <imyousuf@gmail.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: "Carlos Rica" <jasampler@gmail.com>,
git@vger.kernel.org, "Junio C Hamano" <gitster@pobox.com>
Subject: Re: GSoC 2008 - Mentors Wanted!
Date: Wed, 5 Mar 2008 14:33:49 +0600 [thread overview]
Message-ID: <7bfdc29a0803050033y5aca6b93ma7791ebf070ea8da@mail.gmail.com> (raw)
In-Reply-To: <7bfdc29a0803050025p45dfcea9q87a1107a8bed46a6@mail.gmail.com>
On Wed, Mar 5, 2008 at 2:25 PM, Imran M Yousuf <imyousuf@gmail.com> wrote:
>
> On Wed, Mar 5, 2008 at 2:15 PM, Shawn O. Pearce <spearce@spearce.org> wrote:
> > Imran M Yousuf <imyousuf@gmail.com> wrote:
> > > 1. GIT SCM Plugin for NetBeans (GPLv2 with CPE, same as NetBeans)
> > > The aim of the plugin is to integrate GIT with NetBeans using JNI so
> > > that any change in the implementation of GIT does not effect the SCM
> > > plugins way of work.
> > > Language: Java
> > > Goal: Make GIT available from IDE for NetBeans users and use GIT using
> > > Java Native Interfaces
> >
> > Interesting, but libgit.a is *not* suitable for embedding inside of
> > a JVM. Its no fun when a low level Git function suddenly calls die()
> > because it was fed invalid user input like a mistyped branch name.
> > Your whole IDE shutsdown without a chance to save files.
> >
> > So that leaves you with three possible routes:
> >
> > * Use JNI and libgit.a
> >
> > Now you have three projects, not one. You first need to make
> > libgit.a embeddable. *Then* you can work on a JNI wrapper,
> > and finally you can build the UI.
> >
> > * Use jgit
> >
> > Its at least 100% pure Java and doesn't have the libgit.a issues
> > I mentioned above. Its also got some active developers and its
> > userbase is growing. We have been careful to keep jgit such
> > that it runs on any J2SE system, and thus does not require an
> > Eclipse environment.
> >
> > * Use java.lang.Process and pipes
> >
> > Ick. Forking a running JVM, especially one the size of an IDE,
> > is not pretty. At least on Windows you have CreateProcess(),
> > but on POSIX systems the JVM still does a fork/exec pair, and
> > on Solaris that hurts hard when your address space is large.
> >
> > Of these only the latter two are really viable for any time to come
> > (just my opinion, but that's that). jgit is coming along and may
> > actually be able to do most of the critical features that an IDE
> > demands, especially if more people work on it. The latter option
> > is obviously available today, but doesn't offer anything near the
> > performance or integration that jgit does.
> >
>
> To start with I was actually thinking of JNI + "exec from C". So later
> when libification is completed we can replace the execs with call to
> the libs directly instead. Is this a viable fourth option (sorry I
> forgot to mention it the first time around)?
>
Just wanted to add that we can also make them 2 separate projects and
the reason I wanted to go with JNI is to take advantage of the new
developments of GIT without having to change the API (unless a new
release of the API all together).
>
> >
> > > 2. distributed versioned web system backup and restoration framework
> > > (GPLv2 with CPE, same as NetBeans)
> > > [I am not sure whether this one is even qualifies or not as a GIT
> > > Community Project]
> > > Language: Java, NetBeans RCP
> > > Goal: Develop a framework which can backup and restore data from
> > > different components of web application. For example, database, ldap,
> > > log, images, files (PHP, JSP, PY, HTML, JS, CSS etc.). Additionally
> > > allow edit and propagation of configuration in distributed nature,
> > > system restart, data restore. Also integrate backup and repo maintain
> > > to Amazon S3.
> >
> > Yea, I'm not sure this falls too well under the Git community either.
> > I don't doubt that we would have sufficient mentor experience here
> > to support such a project, but the outcome in terms of both code and
> > a student who is familiar with it would not benefit Git very well,
> > if at all.
> >
> > --
> > Shawn.
> >
>
>
>
>
>
> --
> Imran M Yousuf
> Entrepreneur & Software Engineer
> Smart IT Engineering
> Dhaka, Bangladesh
> Email: imran@smartitengineering.com
> Mobile: +880-1711402557
>
--
Imran M Yousuf
Entrepreneur & Software Engineer
Smart IT Engineering
Dhaka, Bangladesh
Email: imran@smartitengineering.com
Mobile: +880-1711402557
next prev parent reply other threads:[~2008-03-05 8:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-04 5:11 GSoC 2008 - Mentors Wanted! Shawn O. Pearce
2008-03-04 9:23 ` Matthieu Moy
2008-03-05 6:06 ` Shawn O. Pearce
2008-03-04 17:14 ` Jakub Narebski
2008-03-04 20:47 ` Carlos Rica
2008-03-04 20:51 ` Carlos Rica
2008-03-05 5:36 ` Shawn O. Pearce
2008-03-05 7:58 ` Imran M Yousuf
2008-03-05 8:15 ` Shawn O. Pearce
2008-03-05 8:25 ` Imran M Yousuf
2008-03-05 8:33 ` Imran M Yousuf [this message]
2008-03-05 14:55 ` Noel Grandin
2008-03-05 16:37 ` Johannes Schindelin
2008-03-06 4:58 ` Shawn O. Pearce
2008-03-05 21:13 ` Robin Rosenberg
2008-03-06 5:08 ` Shawn O. Pearce
2008-03-06 5:19 ` Imran M Yousuf
2008-03-06 11:04 ` Johannes Schindelin
2008-03-06 20:48 ` Robin Rosenberg
2008-03-06 5:33 ` Imran M Yousuf
2008-03-06 20:47 ` Robin Rosenberg
2008-03-06 5:06 ` Christian Couder
2008-03-06 5:31 ` Christian Couder
2008-03-06 6:44 ` Shawn O. Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7bfdc29a0803050033y5aca6b93ma7791ebf070ea8da@mail.gmail.com \
--to=imyousuf@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jasampler@gmail.com \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).