You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
nit diff -H # 3-line context, stat summary, colored output
76
76
77
77
nit log -n 5 # limit to 5 commits
78
+
nit show --stat # compact file change summary
78
79
```
79
80
80
81
### Passthrough
@@ -87,9 +88,19 @@ nit push # -> git push
87
88
nit checkout -b foo # -> git checkout -b foo
88
89
```
89
90
91
+
Passthrough also kicks in for **unrecognized flags** on native commands. If you pass a flag nit doesn't handle, it delegates to git rather than silently ignoring it:
nit show --format=... # nit doesn't implement --format, passes to git
97
+
```
98
+
99
+
This makes `alias git=nit` safe. You never lose functionality - you just get optimized output for the flags nit knows about, and standard git behavior for everything else.
100
+
90
101
Passthrough uses `execvpe` - it replaces the nit process with git directly. No subprocess, no wrapper overhead. It's as if you typed `git` yourself.
91
102
92
-
This means you can `alias git=nit`and everything just works. As commands get optimized with native libgit2 implementations (prioritized by real-world usage frequency), the passthrough shrinks and nit gets faster - no config changes needed.
103
+
As commands and flags get optimized with native libgit2 implementations (prioritized by real-world usage frequency), the passthrough shrinks and nit gets faster - no config changes needed.
0 commit comments