* [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
@ 2007-01-22 20:29 Peter Eriksen
2007-01-22 20:56 ` Simon 'corecode' Schubert
0 siblings, 1 reply; 7+ messages in thread
From: Peter Eriksen @ 2007-01-22 20:29 UTC (permalink / raw)
To: git
We used to call find_pack_entry() twice from read_sha1_file() in order
to avoid printing an error message, when the object did not exist. This
is fixed by moving the call to error() to the only place it really
could be called.
Signed-off-by: Peter Eriksen <s022018@student.dtu.dk>
---
sha1_file.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/sha1_file.c b/sha1_file.c
index 3025440..43ff402 100644
--- a/sha1_file.c
+++ b/sha1_file.c
@@ -1469,21 +1469,20 @@ static void *read_packed_sha1(const unsigned char *sha1, char *type, unsigned lo
{
struct pack_entry e;
- if (!find_pack_entry(sha1, &e, NULL)) {
- error("cannot read sha1_file for %s", sha1_to_hex(sha1));
+ if (!find_pack_entry(sha1, &e, NULL))
return NULL;
- }
- return unpack_entry(e.p, e.offset, type, size);
+ else
+ return unpack_entry(e.p, e.offset, type, size);
}
void * read_sha1_file(const unsigned char *sha1, char *type, unsigned long *size)
{
unsigned long mapsize;
void *map, *buf;
- struct pack_entry e;
- if (find_pack_entry(sha1, &e, NULL))
- return read_packed_sha1(sha1, type, size);
+ buf = read_packed_sha1(sha1, type, size);
+ if (buf)
+ return buf;
map = map_sha1_file(sha1, &mapsize);
if (map) {
buf = unpack_sha1_file(map, mapsize, type, size);
@@ -1491,9 +1490,7 @@ void * read_sha1_file(const unsigned char *sha1, char *type, unsigned long *size
return buf;
}
reprepare_packed_git();
- if (find_pack_entry(sha1, &e, NULL))
- return read_packed_sha1(sha1, type, size);
- return NULL;
+ return read_packed_sha1(sha1, type, size);
}
void *read_object_with_reference(const unsigned char *sha1,
@@ -1781,6 +1778,8 @@ static void *repack_object(const unsigned char *sha1, unsigned long *objsize)
/* need to unpack and recompress it by itself */
unpacked = read_packed_sha1(sha1, type, &len);
+ if (!unpacked)
+ error("cannot read sha1_file for %s", sha1_to_hex(sha1));
hdrlen = sprintf(hdr, "%s %lu", type, len) + 1;
--
1.5.0.rc1.gdf1b-dirty
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
2007-01-22 20:29 [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry() Peter Eriksen
@ 2007-01-22 20:56 ` Simon 'corecode' Schubert
2007-01-22 21:07 ` Shawn O. Pearce
2007-01-23 0:25 ` Linus Torvalds
0 siblings, 2 replies; 7+ messages in thread
From: Simon 'corecode' Schubert @ 2007-01-22 20:56 UTC (permalink / raw)
To: Peter Eriksen; +Cc: git
[-- Attachment #1: Type: text/plain, Size: 817 bytes --]
Peter Eriksen wrote:
> We used to call find_pack_entry() twice from read_sha1_file() in order
> to avoid printing an error message, when the object did not exist. This
> is fixed by moving the call to error() to the only place it really
> could be called.
>
> Signed-off-by: Peter Eriksen <s022018@student.dtu.dk>
I noticed this originally, Peter was so kind to come up with a patch. Reviewed and found +1, so:
Signed-off-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
cheers
simon
--
Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ /
Party Enjoy Relax | http://dragonflybsd.org Against HTML \
Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 252 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
2007-01-22 20:56 ` Simon 'corecode' Schubert
@ 2007-01-22 21:07 ` Shawn O. Pearce
2007-01-23 0:25 ` Linus Torvalds
1 sibling, 0 replies; 7+ messages in thread
From: Shawn O. Pearce @ 2007-01-22 21:07 UTC (permalink / raw)
To: Simon 'corecode' Schubert; +Cc: Peter Eriksen, git
Simon 'corecode' Schubert <corecode@fs.ei.tum.de> wrote:
> Peter Eriksen wrote:
> >We used to call find_pack_entry() twice from read_sha1_file() in order
> >to avoid printing an error message, when the object did not exist. This
> >is fixed by moving the call to error() to the only place it really
> >could be called.
> >
> >Signed-off-by: Peter Eriksen <s022018@student.dtu.dk>
>
> I noticed this originally, Peter was so kind to come up with a patch.
> Reviewed and found +1, so:
>
> Signed-off-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
Wow. That's ugly. Thanks for finding and patching it.
--
Shawn.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
2007-01-22 20:56 ` Simon 'corecode' Schubert
2007-01-22 21:07 ` Shawn O. Pearce
@ 2007-01-23 0:25 ` Linus Torvalds
2007-01-23 0:39 ` Jakub Narebski
2007-01-23 2:10 ` Morten Welinder
1 sibling, 2 replies; 7+ messages in thread
From: Linus Torvalds @ 2007-01-23 0:25 UTC (permalink / raw)
To: Simon 'corecode' Schubert; +Cc: Peter Eriksen, git
On Mon, 22 Jan 2007, Simon 'corecode' Schubert wrote:
>
> --
> Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\
> Work - Mac +++ space for low NOW!1 +++ Campaign \ /
> Party Enjoy Relax | http://dragonflybsd.org Against HTML \
> Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
Whee. It's been a long time since I saw ascii barfics and posted them to
alt.fan.warlord, and I doubt the newsgroup even exists any more, but I
have to commend you for getting a tab-damaged ascii barfic even without
using any TAB characters!
I assume there are three '$$$' characters missing in your banner
advertizing space. Maybe an Euro character? The joys of tab-damage just
expands in the modern world of new character sets..
For extra points, please add ascii runes and/or big ascii swords to your
signature, to make it truly old-time warlord material.
Linus "nostalgic for afw" Torvalds
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
2007-01-23 0:25 ` Linus Torvalds
@ 2007-01-23 0:39 ` Jakub Narebski
2007-01-23 2:10 ` Morten Welinder
1 sibling, 0 replies; 7+ messages in thread
From: Jakub Narebski @ 2007-01-23 0:39 UTC (permalink / raw)
To: git
Linus Torvalds wrote:
> I assume there are three '$$$' characters missing in your banner
> advertizing space. Maybe an Euro character? The joys of tab-damage just
> expands in the modern world of new character sets..
I see three euro characters there. I don't know why unknown character
didn't got replaced by ? or something like that....
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
2007-01-23 0:25 ` Linus Torvalds
2007-01-23 0:39 ` Jakub Narebski
@ 2007-01-23 2:10 ` Morten Welinder
2007-01-23 3:17 ` Linus Torvalds
1 sibling, 1 reply; 7+ messages in thread
From: Morten Welinder @ 2007-01-23 2:10 UTC (permalink / raw)
To: Linus Torvalds; +Cc: git
> Linus "nostalgic for afw" Torvalds
>From the "nostalgic" department we also have this. I have no idea if it
will survive today's mailing lists. In any case, a fixed-width font is your
friend. (And I sadly note that linux.cs.helsinki.fi is nowadays refusing
finger connections.)
Morten
(who lost the original attribution -- sorry. I certainly didn't make
it myself.)
_,-/"---,
;""""""""""; _/;; "" <@`---v
; ::::: :: "\ _/ ;; " _.../
;" ;; ;;; \___/:: ;;,'""""
;" ;;;;. ;; ;;; ::/
,/ / ;; ;;;______;;; ;;; ::,/
/;;V_;; ;;; \ /
| :/ / ,/ \_ "")/
| | / /"""= \;;\""=
; ;{::""""""= \"""=
;"""";
\/"""
THAT's a weasel, folks!
Linux 2.0
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry().
2007-01-23 2:10 ` Morten Welinder
@ 2007-01-23 3:17 ` Linus Torvalds
0 siblings, 0 replies; 7+ messages in thread
From: Linus Torvalds @ 2007-01-23 3:17 UTC (permalink / raw)
To: Morten Welinder; +Cc: git
On Mon, 22 Jan 2007, Morten Welinder wrote:
>
> (And I sadly note that linux.cs.helsinki.fi is nowadays refusing finger
> connections.)
I think the ascii barfics went away even before I left University due to a
dead harddisk, and me being too lazy to re-create my changing fingerd and
all the cruddy ascii art.
I think Helsinki University ended up having a simple finger service for a
while to return the versioning thing (just because it was in too many
FAQ's to drop entirely), but I don't think the great artwork was ever
recreated..
(In all honesty, I don't think it ever really had more than a couple of
pictures - the weasel, the sleeping cat, and some random other ones.
"Great art" it was not..)
Linus
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-01-23 3:18 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-22 20:29 [PATCH] sha1_file.c: Avoid multiple calls to find_pack_entry() Peter Eriksen
2007-01-22 20:56 ` Simon 'corecode' Schubert
2007-01-22 21:07 ` Shawn O. Pearce
2007-01-23 0:25 ` Linus Torvalds
2007-01-23 0:39 ` Jakub Narebski
2007-01-23 2:10 ` Morten Welinder
2007-01-23 3:17 ` Linus Torvalds
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 NNTP newsgroup(s).