* Flag empty patches as errors
@ 2005-10-01 6:25 Linus Torvalds
2005-10-01 7:15 ` Junio C Hamano
2005-10-01 9:02 ` Packing on kernel.org Martin Coxall
0 siblings, 2 replies; 4+ messages in thread
From: Linus Torvalds @ 2005-10-01 6:25 UTC (permalink / raw
To: Junio C Hamano, Git Mailing List
A patch that contains no actual diff, and that doesn't change any
meta-data is bad. It shouldn't be a patch at all, and git-apply shouldn't
just accept it.
This caused a corrupted patch to be silently applied as an empty change in
the kernel, because the corruption ended up making the patch look empty.
An example of such a patch is one that contains the patch header, but
where the initial fragment header (the "@@ -nr,.." line) is missing,
causing us to not parse any fragments.
The real "patch" program will also flag such patches as bad, with the
message
patch: **** Only garbage was found in the patch input.
and we should do likewise.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
---
diff --git a/apply.c b/apply.c
--- a/apply.c
+++ b/apply.c
@@ -723,6 +723,16 @@ static int parse_single_patch(char *line
return offset;
}
+static inline int metadata_changes(struct patch *patch)
+{
+ return patch->is_rename > 0 ||
+ patch->is_copy > 0 ||
+ patch->is_new > 0 ||
+ patch->is_delete ||
+ (patch->old_mode && patch->new_mode &&
+ patch->old_mode != patch->new_mode);
+}
+
static int parse_chunk(char *buffer, unsigned long size, struct patch *patch)
{
int hdrsize, patchsize;
@@ -733,6 +743,9 @@ static int parse_chunk(char *buffer, uns
patchsize = parse_single_patch(buffer + offset + hdrsize, size - offset - hdrsize, patch);
+ if (!patchsize && !metadata_changes(patch))
+ die("patch with only garbage at line %d", linenr);
+
return offset + hdrsize + patchsize;
}
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Flag empty patches as errors
2005-10-01 6:25 Flag empty patches as errors Linus Torvalds
@ 2005-10-01 7:15 ` Junio C Hamano
2005-10-01 9:02 ` Packing on kernel.org Martin Coxall
1 sibling, 0 replies; 4+ messages in thread
From: Junio C Hamano @ 2005-10-01 7:15 UTC (permalink / raw
To: Linus Torvalds; +Cc: git
Thanks. Applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Packing on kernel.org
2005-10-01 6:25 Flag empty patches as errors Linus Torvalds
2005-10-01 7:15 ` Junio C Hamano
@ 2005-10-01 9:02 ` Martin Coxall
2005-10-01 14:21 ` H. Peter Anvin
1 sibling, 1 reply; 4+ messages in thread
From: Martin Coxall @ 2005-10-01 9:02 UTC (permalink / raw
To: Git Mailing List
Was there an cron process or kernel.org that should be repacking the
public repositories periodically?
The git/cogito/sparse/linux-2.6 repositories all now have several
thousand unpacked objects a piece, and it takes so long to do an http
clone it's not even funny.
Martin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Packing on kernel.org
2005-10-01 9:02 ` Packing on kernel.org Martin Coxall
@ 2005-10-01 14:21 ` H. Peter Anvin
0 siblings, 0 replies; 4+ messages in thread
From: H. Peter Anvin @ 2005-10-01 14:21 UTC (permalink / raw
To: Martin Coxall; +Cc: Git Mailing List, users
Martin Coxall wrote:
> Was there an cron process or kernel.org that should be repacking the
> public repositories periodically?
No, too many people complained.
> The git/cogito/sparse/linux-2.6 repositories all now have several
> thousand unpacked objects a piece, and it takes so long to do an http
> clone it's not even funny.
HARP: Please pack your repositories periodically. PLEASE. It matters
especially now when kernel.org is down one server.
If your username is high on this list, it's imperative that you pack
your trees:
brodo 197469
wim 184343
marcelo 68442
jgarzik 59860
lm 39680
mpm 38995
pavel 37624
lenb 36406
hch 34037
davem 27671
jejb 23553
willy 21626
pasky 17019
sfrench 15912
smurf 15236
acme 12504
torvalds 8834
aegl 7369
ericvh 6750
roland 6296
airlied 6053
chrisw 5619
axboe 5221
dwmw2 4101
gregkh 3659
dtor 3537
hpa 3350
paulus 2074
perex 1999
bart 1955
cvaroqui 1537
kay 1250
junio 1119
sam 1073
kkeil 1050
-hpa
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-10-01 14:22 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-01 6:25 Flag empty patches as errors Linus Torvalds
2005-10-01 7:15 ` Junio C Hamano
2005-10-01 9:02 ` Packing on kernel.org Martin Coxall
2005-10-01 14:21 ` H. Peter Anvin
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).