]> source.dussan.org Git - jgit.git/commit
Add configuration parameter to enable built-in hooks/filters 84/71984/12
authorChristian Halstrick <christian.halstrick@sap.com>
Tue, 3 May 2016 11:41:39 +0000 (13:41 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Tue, 20 Sep 2016 08:06:13 +0000 (10:06 +0200)
commitb70f3a7457dd42b9bb2146bbe2eb3baf214bea28
treefdbfaec9cb755a667612a00d81e19f039e6b1be6
parentd97248467a95d26934ddeb8617c3bbf3f673f69d
Add configuration parameter to enable built-in hooks/filters

If the configuration parameter filter.<filterDriverName>.useJGitBuiltin
is set to true then for all corresponding filters JGit will try to
execute the built-in filter instead of the filter-command which is
defined in git configuration. It will fallback to the non-built-in
filters if no built-in filters are registered or if constructing them
leads to exceptions. If set to false JGit will not try to execute
built-in filters for the specified filter driver.

Example: The configuration contains the following lines

  [filter "lfs"]
    clean = git-lfs clean -- %f
    smudge = git-lfs smudge -- %f
    useJGitBuiltin = true

Addtionally the .gitattributes file in the root of the working tree
contains:

    *.bin filter=lfs

In this case when new content is added similar to "git add 1.bin" then
the following will happen:

  - jgit will check whether a built-in command factory was registered
    for the command "jgit://builtin/lfs/clean". If that is true the
    factory is used to create a built-in filter command and that
    command is used to filter the content
  - Otherwise jgit will call the external program "git lfs clean ..."
    to do the filtering

Change-Id: Idadb1db06b1e89e7031d7ed6319904973c367d38
org.eclipse.jgit/src/org/eclipse/jgit/attributes/FilterCommandRegistry.java
org.eclipse.jgit/src/org/eclipse/jgit/lib/Constants.java
org.eclipse.jgit/src/org/eclipse/jgit/treewalk/TreeWalk.java