git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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:25:43 +0600	[thread overview]
Message-ID: <7bfdc29a0803050025p45dfcea9q87a1107a8bed46a6@mail.gmail.com> (raw)
In-Reply-To: <20080305081523.GK8410@spearce.org>

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)?

>
>  > 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

  reply	other threads:[~2008-03-05  8:26 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 [this message]
2008-03-05  8:33           ` Imran M Yousuf
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=7bfdc29a0803050025p45dfcea9q87a1107a8bed46a6@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).