Details

    • Number of attachments :
      0

      Description

      Every time a project is analyzed blame information loaded from SCM for all files, but I believe that we can load this information only for changed files and this should improve performance.

      Following algorithm can be implemented :

      1. Use TimeMachine to determine what was analysed previously
      2. Use SCM ChangeLogCommand to determine list and number of added/modified files. This is also allows to compute new metric - number of commits (see SONARPLUGINS-348). There are also following problems with ChangeLogCommand :
        • it returns list of files, but location are relative to repository root (tested on svn and git)
        • svnjava provider implements it only for date range
        • for svn it may return files not in current module
      3. Use SCM BlameCommand to determine authors of each added/modified files and TimeMachine for unchanged files

        Issue Links

          Activity

          Hide
          Evgeny Mandrikov added a comment - - edited

          Initial implementation added in r2933. First tests showed significant gain in performance at least for SVN.

          Show
          Evgeny Mandrikov added a comment - - edited Initial implementation added in r2933 . First tests showed significant gain in performance at least for SVN.
          Hide
          Evgeny Mandrikov added a comment - - edited

          Now it works for GIT after hacks in r2951 and r2953.

          Show
          Evgeny Mandrikov added a comment - - edited Now it works for GIT after hacks in r2951 and r2953 .

            People

            • Assignee:
              Evgeny Mandrikov
              Reporter:
              Evgeny Mandrikov
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: