28
Git Mission to Mars News from JGit and EGit Matthias Sohn (SAP) Maximilian Kögel (EclipseSource) EclipseCon NA 2015

Git missiontomars 2015-03-10

  • Upload
    msohn

  • View
    480

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Git missiontomars 2015-03-10

Git Mission to MarsNews from JGit and EGitMatthias Sohn (SAP)

Maximilian Kögel (EclipseSource)

EclipseCon NA 2015

Page 2: Git missiontomars 2015-03-10

JGit / EGit 3.3Mar 2014

JGit EGit

symlinks on Java 7

support Apache HttpClient

basic symlink support

squash commits in history

Page 3: Git missiontomars 2015-03-10

Symlinks on Java 7

$ cd b

$ ln -s ../a a

$ ls –l

-rw-r--r-- B.txt

lrwxr-xr-x a -> ../a

Page 4: Git missiontomars 2015-03-10

Squash commits in history view

Page 5: Git missiontomars 2015-03-10

JGit / EGit 3.4June 2014 (Luna)

JGit EGit

new layout of commit

graph

kerberos authentication

archive command

edit / reword commit in

history

init in non-empty

directory

warn on checkout if

launch is running

Page 6: Git missiontomars 2015-03-10

New layout of commit graph

JGit

gitk

Page 7: Git missiontomars 2015-03-10

ArchiveCommand:

Creating source archives

Page 8: Git missiontomars 2015-03-10

Multi revert

Modify history

Page 9: Git missiontomars 2015-03-10

Warn on checkout if launch is running

Page 10: Git missiontomars 2015-03-10

JGit / EGit 3.5Sept 2014

JGit EGit

support .netrc

rebase --preserve-merges

cherry-pick --no-commit

improved interactive rebase

new stash menu

stash viewer

improved push wizards

team menu on working set

repo menu on resource

new logo

Page 11: Git missiontomars 2015-03-10

Improved

interactive rebase

Page 12: Git missiontomars 2015-03-10

Stash support

Page 13: Git missiontomars 2015-03-10

Team menu on working set

Page 14: Git missiontomars 2015-03-10

Repository menu on resource

Page 15: Git missiontomars 2015-03-10

JGit / EGit 3.6

JGit EGit

new ignore implementation

improved submodule

support

aggressive gc

security fixes

symlink support

checkout ours/theirs

Dec 2014

Page 16: Git missiontomars 2015-03-10

New ignore implementation

Much faster

** pattern:

a/**/b matches "a/b", "a/x/b", "a/x/y/b“

! to negate rules defined earlier:

.a ignore .a files

!lib.a but do track lib.a

Page 17: Git missiontomars 2015-03-10

Improved submodule support

Submodules nested

under .git

Staging View for submodules

(in separate projects)

Page 18: Git missiontomars 2015-03-10

Checkout ours/theirs

Available on conflicting files

Page 19: Git missiontomars 2015-03-10

JGit / EGit 3.7

JGit EGit

basics for gitattributes

basics for hook support

logging via slf4j

auto-configure Gerrit

performance improvements

Feb 2015

Page 20: Git missiontomars 2015-03-10

Auto-configure code review

when cloning from Gerrit

Page 21: Git missiontomars 2015-03-10

in progress for 4.0

JGit EGit

hooks

git attributes

move to Java 7

Enable try-with-resource

(Autoclosable)

model merge

Oomph setup of dev

workspace

Page 22: Git missiontomars 2015-03-10

Working with Models in EGit

Page 23: Git missiontomars 2015-03-10

Eclipse Team

Eclipse Team

EGit Subversive Eclipse CVS

Page 24: Git missiontomars 2015-03-10

Eclipse Team Logical Model Support

Eclipse Team

EGit

Logical model

ext. point

Logical model

merger ext. point

Page 25: Git missiontomars 2015-03-10

Eclipse Team Logical Model Support

Eclipse Team

EGit

Logical model

ext. point

Logical model

merger ext. point

Provider

(EMF Compare)

Page 26: Git missiontomars 2015-03-10

Demohttp://collaborative-modeling.org

Page 27: Git missiontomars 2015-03-10

Questions ??

Page 28: Git missiontomars 2015-03-10

Fixing Git vulnerability

On case-sensitive filesystem prepare a commit containing:

.GiT/config

GIT~1/refs/heads/master

.g\u200cit/config

On checkout this could modify files under .git

on some platforms ☹

.Git matches .git on case-insensitive

filesystem

GIT~1 matches .git on Windows (short-name)

.g\u200cit matches .git on HFS+ (ignored unicode chars)

Fixed in 3.4.2, 3.5.3 and 3.6.0+