gitignore: init
This commit is contained in:
parent
a29fddda2c
commit
824e5f02a1
46
krebs/5pkgs/simple/gitignore.nix
Normal file
46
krebs/5pkgs/simple/gitignore.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ pkgs }:
|
||||
|
||||
/* gitignore - Filter for intentionally untracked lines or blocks of code
|
||||
|
||||
This is a filter that allows specifying intentionally untracked lines and
|
||||
blocks of code that Git should ignore.
|
||||
|
||||
Example:
|
||||
|
||||
int main(void) {
|
||||
printf("I would never say derp.\n");
|
||||
//#gitignore-begin
|
||||
printf("DERP!\n");
|
||||
//#gitignore-end
|
||||
printf("DERP!\n"); //#gitignore
|
||||
return 0;
|
||||
}
|
||||
|
||||
Installation:
|
||||
|
||||
Define a filter, e.g. in ~/.config/git/config[1]:
|
||||
|
||||
[filter "gitignore"]
|
||||
clean = gitignore
|
||||
smudge = cat
|
||||
|
||||
Assing that filter to some paths, e.g. in ~/.config/git/attributes[2]:
|
||||
|
||||
*.hs filter=gitignore
|
||||
*.c filter=gitignore
|
||||
...
|
||||
|
||||
[1]: For more information about defining filters see git-config(1).
|
||||
[2]: For more information about assigning filters see gitattributes(5).
|
||||
*/
|
||||
|
||||
pkgs.execBin "gitignore" {
|
||||
filename = "${pkgs.gnused}/bin/sed";
|
||||
argv = [
|
||||
"gitignore"
|
||||
/* sed */ ''
|
||||
/#gitignore-begin/,/#gitignore-end/d
|
||||
/#gitignore/d
|
||||
''
|
||||
];
|
||||
}
|
Loading…
Reference in New Issue
Block a user