summaryrefslogtreecommitdiff
path: root/apply.c
AgeCommit message (Collapse)AuthorFilesLines
2005-05-31git-apply --stat: limit lines to 79 charactersLibravatar Linus Torvalds1-4/+9
It had already tried to do that, but with the independent rounding of the number of '+' and '-' characters, it would sometimes do 80-char lines after all.
2005-05-31git-apply: don't try to be clever about filenames and the indexLibravatar Linus Torvalds1-13/+5
It just causes things like "git-apply --stat" to parse traditional patch headers differently depending on what your index is, which is nasty.
2005-05-30[PATCH] Show dissimilarity index for D and N case.Libravatar Junio C Hamano1-0/+6
The way broken deletes and creates are shown in the -p (diff-patch) output format has become consistent with how rename/copy edits are shown. They will show "dissimilarity index" value, immediately following the "deleted file mode" and "new file mode" lines. The git-apply is taught to grok such an extended header. Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-05-26git-apply: add "--check" option to check that the diff makes senseLibravatar Linus Torvalds1-26/+96
It currently only verifies the index against the working directory, it doesn't actually verify the diff fragments themselves yet.
2005-05-26git-apply: when validating default names, check the final EOLN tooLibravatar Linus Torvalds1-1/+1
This means that filenames are totally unambiguous even if they have spaces or tabs in them.
2005-05-26git-apply: pick up default filenames from "diff --git" header lineLibravatar Linus Torvalds1-10/+72
Pure mode changes, and deletes or creates of empty files won't have this information anywhere else.
2005-05-26git-apply: make the diffstat output happen for "--stat" only.Libravatar Linus Torvalds1-28/+68
Slowly this is takign the form of a program that we'd actually use. Now "git-apply --stat" basically ends up being a perfectly useful diffstat.
2005-05-26git-apply: implement "diffstat" outputLibravatar Linus Torvalds1-15/+77
Hey, it's almost free by now, and it's a good way to see that we parse the patches correctly.
2005-05-26git-apply: parse the whole list of patches into memory firstLibravatar Linus Torvalds1-90/+146
Make it a clear two-phase thing: first a read-only parse of the patch itself (which is independent of any current index information), and then the second phase actually uses the patch. The second phase might not be a real apply, it could be just a diffstat, for example. Which is trivial to do once the patch is parsed.
2005-05-24[PATCH] Squelch compiler warningLibravatar Junio C Hamano1-1/+1
Not important but I am a bit annoyed by gcc complaining about the control falling out of the function without returning value. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-23git-apply: more consistency checks on gitdiff filenamesLibravatar Linus Torvalds1-4/+46
There's some duplication of filenames when doing filename operations (creates, deletes, renames and copies), and this makes us verify that the pathnames match when they should.
2005-05-23git-apply: start using the index file information.Libravatar Linus Torvalds1-19/+68
Right now we only use it to figure out what the filename might be when that is ambiguous, but we'll get there..
2005-05-23git-apply: if no input files specified, apply stdinLibravatar Linus Torvalds1-0/+5
This makes it act more like a traditional UNIX thing (eg "cat").
2005-05-23git-apply: unknown modes are zero, not -1Libravatar Linus Torvalds1-1/+1
2005-05-23git-apply: parse the diff headers (both traditional and new)Libravatar Linus Torvalds1-31/+217
.. and print out the information. This sets up all the pathname information, and whether it's a new file, deleted file, rename, copy or whatever. It's slowly getting to the point where it all comes together, and we can actually apply all the information that we've gathered.
2005-05-23git-apply: improve error detection and messagesLibravatar Linus Torvalds1-42/+74
In particular, give line numbers when detecting corrupt patches. This makes the tool a lot more friendly (indeed, much more so than regular "patch", I think).
2005-05-23git-apply: bad patch fragments are fatalLibravatar Linus Torvalds1-1/+1
Don't just stop at them and look for the next header. Die, die, die!
2005-05-23Start implementing "git-apply"Libravatar Linus Torvalds1-0/+317
This applies git patches (and old-style unified diffs) in the index, rather than doing it in the working directory. That allows for a lot more flexibility, and means that if a patch fails, we aren't going to mess up the working directory. NOTE! This is just the first cut at it, and right now it only parses the incoming patch, it doesn't actually apply it yet.