The EGIT Chronicles Issue Volume 1, Issue 1. (80 column edition)

[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