Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
peff
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
10 ms
·
1.
▲
by
peff
2mo ago
If it's used for both, then you couldn't have "--" itself as a pathspec. In your first example, the current meaning is: a pathspec containing "rev", "--", and "pathspec".
2.
▲
by
peff
3y ago
This is the one I remember seeing as a kid: https://www.reddit.com/r/comicbookcollecting/comments/15vvfj...
3.
▲
by
peff
4y ago
On the page you linked, you can see that `ctype.h` reserves all prefixes of `is[a-z]` and `to[a-z]`, and `string.h` reserves `str[a-z]`. These come from the C standard (in C99, it's 7.26 "Future Library Directions"), though I
4.
▲
by
peff
5y ago
What do you want `blame --porcelain` to do that it doesn't? Using: git blame --line-porcelain "$1" -L "$2,"$2" | perl -MPOSIX=strftime -lne '/^author-time (\d+)/ and print strftime(&quo
5.
▲
by
peff
6y ago
Sounds neat, but I think your name runs afoul of Git's trademark; see https://git-scm.com/trademark
6.
▲
by
peff
6y ago
No, it's not the root cause, though it did exacerbate it. See the comment in https://news.ycombinator.com/item?id=22890633 .
7.
▲
by
peff
6y ago
The parser problem made it worse, but it was neither necessary nor sufficient for the vulnerability. We are fixing it, but decided to leave it out of the critical release path. See https://lore.kernel.org/git/2020041421
8.
▲
by
peff
6y ago
That was discussed before the fix, but it doesn't matter. The helper protocol specifies a raw newline as the delimiter, and both sides of the conversation parse on that.
9.
▲
by
peff
7y ago
The commit messages that add them to banned.h discuss alternatives, though most of the explanations are Git-specific and assume you'll look elsewhere to figure out how to actually use those alternatives.
10.
▲
by
peff
7y ago
Yes, you're right. Patches welcome. We do our development on a mailing list; see https://git-scm.com/docs/SubmittingPatches for details. However, if you're more comfortable using GitHub PRs, there's a ga
11.
▲
by
peff
7y ago
I see a lot of comments to the effect of "shouldn't XYZ also be banned". The answer is that we're not necessarily trying to be exhaustive. The point is to flag common errors before we even hit review, so we add new funct
12.
▲
by
peff
8y ago
> the .git/index file, which uses mmap, is synced incorrectly by file sync tools relying on mtime This part implies that the index file is written via mmap, but that's not true. It is fully rewritten to a new tempfile/lock
13.
▲
by
peff
8y ago
Perl has shipped with a `rename` utility for ages, that you can use like: rename 's/foo/bar/' *.ext Of course you have to know Perl...
14.
▲
by
peff
8y ago
This makes sense for some completions (e.g., vanilla lists of options). But often the completion depends on other context that the binary doesn't need to know about. For example, I complete `git grep` patterns based on ctags. There
15.
▲
by
peff
8y ago
I'm not sure how I feel about sticking so much complexity into the kernel, but one thing I would really enjoy is being able to use standard tools like `strace` on TLS-speaking processes. With user-space implementations, you only get to
16.
▲
by
peff
8y ago
I'm a GitHub employee and spend most of my time contributing to the Git project. I've always been very happy about how GitHub supported my participation in the community. Sometimes what I do is directly useful to GitHub, and somet
17.
▲
by
peff
8y ago
No problem! Thanks for all your work on this. I should have clarified above, too: there were folks from GitHub, Microsoft, and Google working on the various fixes.
18.
▲
by
peff
8y ago
A few important points that aren't mentioned in the post: - you have to tell git to use submodules for this to trigger (so `clone --recurse-submodules` or a manual `git submodule update --init`) - credit for discovery goes to Etienne S
19.
▲
by
peff
8y ago
Try the diff-highlight script which can be found at: https://github.com/git/git/tree/master/contrib/diff-highligh...
20.
▲
by
peff
8y ago
Er, sorry, I meant to say "...the new features in Git v2.17". I think that keeps it clear but without making it overtly look like a release announcement.
21.
▲
by
peff
8y ago
Try "Git 2.9 is out!": https://blog.bitbucket.org/2016/06/13/git-2-9/
22.
▲
by
peff
8y ago
Thanks for the feedback in this thread (I'm the author). The main goal _is_ to let people know about the new version, and about new features they can use (there are a ton of other new features and a lot of backend speedups and cleanups
23.
▲
Git 2.17 is now available
(blog.github.com)
3 points
by
peff
8y ago
|
0 comments
24.
▲
by
peff
9y ago
You should probably avoid `--color`, as it turns on color unconditionally, even if output is going to a file. In older versions of Git the %C color placeholders were unconditional anyway. In modern Git, they respect the normal auto-coloring
25.
▲
by
peff
9y ago
I think they meant to say "might do --decorate by default" (which Git does since v2.13.0).
26.
▲
by
peff
9y ago
Git assumes it can keep a small struct in memory for each file in the repository (not the file contents, but a fixed per-file size). This repository just has a very large number of files.
27.
▲
by
peff
9y ago
One downside of libraries like libssh is that they don't behave the same way as your regular ssh command. So thing you've configured like host aliases, proxy commands, etc, don't just work out of the box (and in some cases ma
28.
▲
by
peff
9y ago
Exactly. It's an option injection attack. There's no shell involved.
29.
▲
by
peff
9y ago
We discussed that, but it wasn't clear that doing so was portable. It works for OpenSSH. It doesn't for PuTTY. We don't know what other implementations people might have as `ssh` on their systems.
30.
▲
by
peff
9y ago
Git uses Myers diff, but recently added some heuristics to "shift" the hunks in semantically meaningful ways. See https://github.com/mhagger/diff-slider-tools for the experiments that led to this feature. It
More ›