From: "René Scharfe" <rene.scharfe@lsrfire.ath.cx>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH 1/5] archive-tar: turn write_tar_entry into blob-writing only
Date: Tue, 01 May 2012 00:11:45 +0200 [thread overview]
Message-ID: <4F9F0E21.3080407@lsrfire.ath.cx> (raw)
In-Reply-To: <7vr4v5f5n2.fsf@alter.siamese.dyndns.org>
Am 30.04.2012 20:15, schrieb Junio C Hamano:
> Nguyễn Thái Ngọc Duy<pclouds@gmail.com> writes:
>
>> Before this patch write_tar_entry() can:
>>
>> - write global header
>> by write_global_extended_header() calling write_tar_entry with
>> with both sha1 and path == NULL
>>
>> - write extended header for symlinks, by write_tar_entry() calling
>> itself with sha1 != NULL and path == NULL
>>
>> - write a normal blob. In this case both sha1 and path are valid.
>>
>> After this patch, the first two call sites are modified to write the
>> header without calling write_tar_entry(). The function is now for
>> writing blobs only.
>
> Nice.
>
> I am kind of surprised how hacky the original code that switched on !sha1
> and !path was, especially given that it came from René at ae64bbc
> (tar-tree: Introduce write_entry(), 2006-03-25) --- it even claims that
> these are "reasonable" magic values ;-).
Yeah, and there are still opportunities for cleanup. Can't say what I
was thinking back then, but a few cleanup attempts since then invariably
made the code even more ugly, so I never sent them.
René
next prev parent reply other threads:[~2012-04-30 22:11 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-30 4:57 [PATCH 0/5] Large file support for git-archive Nguyễn Thái Ngọc Duy
2012-04-30 4:57 ` [PATCH 1/5] archive-tar: turn write_tar_entry into blob-writing only Nguyễn Thái Ngọc Duy
2012-04-30 18:15 ` Junio C Hamano
2012-04-30 22:11 ` René Scharfe [this message]
2012-04-30 4:57 ` [PATCH 2/5] archive-tar: unindent write_tar_entry by one level Nguyễn Thái Ngọc Duy
2012-04-30 4:57 ` [PATCH 3/5] archive: delegate blob reading to backend Nguyễn Thái Ngọc Duy
2012-04-30 21:07 ` René Scharfe
2012-04-30 4:57 ` [PATCH 4/5] archive-tar: stream large blobs to tar file Nguyễn Thái Ngọc Duy
2012-04-30 19:01 ` Junio C Hamano
2012-04-30 21:08 ` René Scharfe
2012-04-30 21:36 ` Junio C Hamano
2012-04-30 22:12 ` René Scharfe
2012-04-30 4:57 ` [PATCH 5/5] archive-zip: stream large blobs into zip file Nguyễn Thái Ngọc Duy
2012-04-30 19:12 ` Junio C Hamano
2012-04-30 22:54 ` René Scharfe
2012-04-30 22:11 ` [PATCH 5a/5] streaming: void pointer instead of char pointer René Scharfe
2012-04-30 22:12 ` [PATCH 6a/5] archive-zip: remove uncompressed_size René Scharfe
2012-04-30 22:12 ` [PATCH 7a/5] archive-zip: factor out helpers for writing sizes and CRC René Scharfe
2012-04-30 22:12 ` [PATCH 8a/5] archive-zip: streaming for stored files René Scharfe
2012-04-30 22:12 ` [PATCH 9a/5] archive-zip: streaming for deflated files René Scharfe
2012-04-30 19:15 ` [PATCH 0/5] Large file support for git-archive Junio C Hamano
2012-04-30 21:07 ` René Scharfe
2012-05-01 10:19 ` Nguyen Thai Ngoc Duy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F9F0E21.3080407@lsrfire.ath.cx \
--to=rene.scharfe@lsrfire.ath.cx \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.