Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Analyze your changeset in a branch before git push using SonarLint + Git hooks

Janos Gyerik
November 23, 2016

Analyze your changeset in a branch before git push using SonarLint + Git hooks

Janos Gyerik

November 23, 2016
Tweet

More Decks by Janos Gyerik

Other Decks in Technology

Transcript

  1. ANALYZE YOUR CHANGESET IN A BRANCH BEFORE GIT PUSH WITH

    SONARLINT + GIT HOOKS https://speakerdeck.com/janosgyerik/sonarlint-before-git-push
  2. You think you coded a great branch… You think “there

    should be no more issues”… … sorry bud, you thought wrong!
  3. Delay to generate comments git push fixes -> more delays

    -> -> more issues -> git push fixes ->
  4. Don’t get me wrong This is absolutely necessary But would

    you push a branch if you *knew* it has 10+ issues? (-> no)
  5. SonarLint can help, but you have to look! Sooner or

    later you cannot help and lose sight of the SonarLint view, and SonarLint just cannot force you to look, not all the time, that’s just the way it is
  6. $ git push origin HEAD info: source files to analyze:

    info: src/main/java/example/HelloWorld.java info: src/main/java/example/Two.java info: analyzing... ------------- SonarLint Report ------------- 3 issues (2 files analyzed) 2 major 1 info ------------------------------------------- INFO: SonarLint HTML Report generated: /Users/janos/dev/git/github/java-maven-simple/.sonarlint/ sonarlint-report.html fatal: hook abort: some analyses have failed error: failed to push some refs to '[email protected]:janosgyerik/java-maven-simple.git' (push rejected if issues exist)
  7. $ git push origin HEAD info: source files to analyze:

    info: src/main/java/example/HelloWorld.java info: src/main/java/example/Two.java info: analyzing... ------------- SonarLint Report ------------- No issues to display (2 files analyzed) ------------------------------------------- INFO: SonarLint HTML Report generated: /Users/janos/dev/git/github/java-maven-simple/.sonarlint/sonarlint- report.html Counting objects: 42, done. Delta compression using up to 8 threads. Compressing objects: 100% (24/24), done. Writing objects: 100% (42/42), 2.84 KiB | 0 bytes/s, done. Total 42 (delta 11), reused 0 (delta 0) remote: Resolving deltas: 100% (11/11), completed with 2 local objects. To [email protected]:janosgyerik/java-maven-simple.git * [new branch] HEAD -> demo (no issues -> push OK)