Re: GSoC 2008 - Mentors Wanted!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 5, 2008 at 2:25 PM, Imran M Yousuf <imyousuf@xxxxxxxxx> wrote:
>
> On Wed, Mar 5, 2008 at 2:15 PM, Shawn O. Pearce <spearce@xxxxxxxxxxx> wrote:
>  > Imran M Yousuf <imyousuf@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxxxxxxx
>  Mobile: +880-1711402557
>



-- 
Imran M Yousuf
Entrepreneur & Software Engineer
Smart IT Engineering
Dhaka, Bangladesh
Email: imran@xxxxxxxxxxxxxxxxxxxxxx
Mobile: +880-1711402557
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux