The EGIT Chronicles Issue Volume 1, Issue 1.

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

 



The Eclipse Git plugin closing in on a 0.3 version.

- Uses the repository format as real Git (config, refs, packed refs, loose and packed objects reflogs,
and info/alternates)
- Track, Untrack and update index
- Resource decorations
- Commit action with amend, signing. individual selection of files and reflog updates.
- Checkout other branches and tags, including dirty workdir as long as a twoway (trivial) merge is ok.
- Reset branch
- Graphical history view
- Compare versions using Eclipse own comparison tools
- Quick diff provider
- Windows compatility

So far the Eclipse plugin is pure Java, thus running on any Eclipse 3.2+ version using Java 5 (1.5.0_11+). 
It is not standalone in the sense that you can get by using only the Eclipse plugin. You need the real thing
for advanced operations like merge, but also for cloning/fetch/push and most non-basic Git operations. On
Windows either the msys or cygwin versions will do.

The reason Java 5 is required is that memory mapping requires the garbage collector to unmap memory, so
a really picky gc is required to find those regions. 1.5.0_11 seems to work 99,99% of the time but Java 6 is
recommended as it afaik does the gc properly. Versions prior to 1.5.0_11 simply does not work. The code
can be patched to use non-mmapped I/O but that is so slow you don't want to know about it., so forget
you heard about it.

As mentions, the plugin is pure Java, but I'm pretty sure there will be features that directly depends on having
a native Git installed. What features will suffer from that depends on who writes the code. So far we simply
depend on having native Git for operations like clone/push/fetch, merge. blame and everything else not yet
implemented. Complexity and performance are obvious concerns. 

Now re-implementing Git in Java because it is a much better language is *not* the driving force behind
reimplementing core parts of Git in Java. It is the fact that having multiple languages by itself causes problems
with building and distribution and the complexity of and performance loss from interfacing with native
code must be compared to the complexity of writing replacement code. The fun factor must also be taken
into account.

Manual testing is needed, especially on Windows, and we need more automatic test suites on the Eclipse side.
Feedback and patches welcome!

DO NOT use this version for production use nor without backups, or clones.

Sources can be found at http://repo.or.cz/w/egit.git and follow instructions in the INSTALL file.

Happy hacking!

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