Cool new stuff in JGit and EGitEclipse Democamp Munich, Jun 12 2013Matthias Sohn (SAP)matthias.sohnn@sap.com,@masohn
AgendaServing Git Repositories with JGitJGit daemonGitBlitGerritThe race - how to serve faster ?Other new stuff
Serving Git Repositories with JGit
Serving Git Repositories with JGitJGit daemon$ jgit daemon . --export-all --port 19418Exporting /home/user/git/.Listening ...
Serving Git Repositories with JGitJGit daemonGitBlitDownload and configure GitBlit GOInitialize certs$ java -jar authority...
GitBlit - Git serverGitBlit is a Git server based on JGithttp://gitblit.com/• http daemon using JGit’s GitServlet• nice UI...
Serving Git Repositories with JGitJGit daemonGitBlitGerritInitialize and configure$ java –jar gerrit.war init -d gerrit_si...
Code Review with Git and GerritGerrit is a Code Review system based on JGithttp://code.google.com/p/gerrit/Serves as a Git...
Code Review with Git and Gerrit
Serving fasterClone and Fetch PerformanceTypically dominated by "Counting: ..." phaseCost is linear with complexity and ag...
Bitmap structure- Assign bits by order of objects in pack file- Objects to send = want AND_NOT have- Bitmaps are compressi...
The Race - serving fasterRun JGit’s GC to create bitmap index$ jgit --git-dir . debug-gc using JGit CLI$ ssh -p 29418 loca...
Recursive Merge- Can merge more complex version graphs- e.g. criss-cross merges- is now the default like in native gitmast...
Other new EGit stuffRename detection in history view and commiteditor
Other new EGit stuffReset toexpressione.g. commit-id,HEAD^ ...
Other new EGit stuffClean untrackedresources
Other new EGit stuff1-clickCommit & Pushin Commit Dialogand Staging View
Other new EGit stuff3 way merge inmerge tool
Questions ?
Nächste SlideShare
Wird geladen in …5
×

Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12

1.317 Aufrufe
1.132 Aufrufe

Veröffentlicht am

Presentation shown at Eclipse Democamp Munich 2013-06-12

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.317
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
15
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • Show the gitblit UIRepositoriesUsers/TeamsPermissionsSearch
  • Show the UI- Do a comment
  • Show the UI- Do a comment
  • Maybe
  • Maybe
  • DemoExplain daemonsStart themStart cgit cloneStart jgit cloneExplain that „receiving objects“ and „resolving deltas“ is bound by network and client side processing
  • Cool new stuff in JGit and EGit - Eclipse Democamp Munich 2013-06-12

    1. 1. Cool new stuff in JGit and EGitEclipse Democamp Munich, Jun 12 2013Matthias Sohn (SAP)matthias.sohnn@sap.com,@masohn
    2. 2. AgendaServing Git Repositories with JGitJGit daemonGitBlitGerritThe race - how to serve faster ?Other new stuff
    3. 3. Serving Git Repositories with JGit
    4. 4. Serving Git Repositories with JGitJGit daemon$ jgit daemon . --export-all --port 19418Exporting /home/user/git/.Listening on 0.0.0.0/0.0.0.0:19418$ git clone git://localhost:19418/test.git
    5. 5. Serving Git Repositories with JGitJGit daemonGitBlitDownload and configure GitBlit GOInitialize certs$ java -jar authority.jar --baseFolder dataStart server$ java -jar gitblit.jar --baseFolder data
    6. 6. GitBlit - Git serverGitBlit is a Git server based on JGithttp://gitblit.com/• http daemon using JGit’s GitServlet• nice UI• user management• simple access control• Lucene based searchNext GitBlit version 1.3 will use JGit 3.0 Demo
    7. 7. Serving Git Repositories with JGitJGit daemonGitBlitGerritInitialize and configure$ java –jar gerrit.war init -d gerrit_siteStart server$ ./gerrit_site/bin/gerrit.sh start
    8. 8. Code Review with Git and GerritGerrit is a Code Review system based on JGithttp://code.google.com/p/gerrit/Serves as a Git server• http and ssh daemon• access control• customizable code review workflow• plugins (also GitBlit)Gerrit 2.6 uses JGit 3.0 Demo
    9. 9. Code Review with Git and Gerrit
    10. 10. Serving fasterClone and Fetch PerformanceTypically dominated by "Counting: ..." phaseCost is linear with complexity and age of repositoryLinux kernel: 2.9M objects, 100% server CPU60s counting timeJGit Bitmap IndexesPre-computed reachability data for commits in a pack fileLinux kernel bitmap data: 2.9 MiB (for 559 MiB pack, 78 MiB idx)<80ms counting timeignored by native gitships in JGit 3.0 and Gerrit Code Review 2.6
    11. 11. Bitmap structure- Assign bits by order of objects in pack file- Objects to send = want AND_NOT have- Bitmaps are compressible- EWAH bitmap, variant of RLEDaniel Lemire, Owen Kaser, Kamel Aouiche,Sorting improves word-aligned bitmap indexes,Data & Knowledge Engineering, Volume 69, Issue 1, 2010
    12. 12. The Race - serving fasterRun JGit’s GC to create bitmap index$ jgit --git-dir . debug-gc using JGit CLI$ ssh -p 29418 localhost gerrit gc linux using Gerrit CLIRace against native git daemonwhich does not (yet) understand bitmap index Demo
    13. 13. Recursive Merge- Can merge more complex version graphs- e.g. criss-cross merges- is now the default like in native gitmaster fix12 common base versionsHow to merge branch fix1 ?
    14. 14. Other new EGit stuffRename detection in history view and commiteditor
    15. 15. Other new EGit stuffReset toexpressione.g. commit-id,HEAD^ ...
    16. 16. Other new EGit stuffClean untrackedresources
    17. 17. Other new EGit stuff1-clickCommit & Pushin Commit Dialogand Staging View
    18. 18. Other new EGit stuff3 way merge inmerge tool
    19. 19. Questions ?

    ×