From: Geert Bosch <bosch@adacore.com>
To: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Cc: Git Mailing List <git@vger.kernel.org>, Junio C Hamano <junkio@cox.net>
Subject: Re: RFC: New diff-delta.c implementation
Date: Sun, 23 Apr 2006 22:57:41 -0400 [thread overview]
Message-ID: <20060424025741.GA636@adacore.com> (raw)
In-Reply-To: <444A2334.3030501@lsrfire.ath.cx>
On Sat, Apr 22, 2006 at 02:36:04PM +0200, Rene Scharfe wrote:
> Could you please send your code inline, not as an attachment? And
> possibly as a patch with a Signed-off-by: tag (see
> Documentation/SubmittingPatches)?
For various reasons, mostly to do with managing and searching huge
mailboxes, I'm using Apple Mail. What sucks though is that automatic
line wrapping can't be turned off. This never got fixed, so it's useless
for posting inline patches. That said, I now leave a synchronized copy
of the git repository on my mailserver and use mutt for this reply.
Hopefully things will be better.
Note that I sent this code as a RFC, with explicit disclaimers about
style. So, I did not want to sign off on this code, since I pretty
much knew there would be some problems with the undocumented
("proprietary", according the libxdiff site) file format. In contrast
the GDIFF fileformat was documented very well, and I have a version
of this code that works flawlessly with that format.
> Regarding your FIXME comment about endianess: I think you are looking
> for htonl(). Use it to convert the values from host byte order to
> network byte order (= big endian) and you can get rid of those ugly
> branches.
Ah, I'll use that. It's of course a slight change that all processing
now is big-endian centric, but that might actually even result in
better code in this case. I'm just assuming any decent system has
some highly optimized macro for this and will never do a function call.
This is used in the most performance critical loops, and doing function
calls here will lead to horrendous performance.
>
> You can use "indent -npro -kr -i8 -ts8 -l80 -ss -ncs" to reformat your
> code into a similar style as used in the rest of git (settings taken
> from Lindent which is shipped with the Linux source).
Although I cringe at 8-space indenting, and find much of the GIT
code close to unreadable for lack of design-level comments, I'll
gladly reformat any code to conform to existing code standards.
Please let me know if you've got documentation on that, as it would
be helpful for me to know what the standard is. (No flame intended. :-)
>
> After converting to htonl() "make test" ran fine on my x86 box. Here is
> what I get when I try to repack the git repo, though:
>
> $ git repack -a -d
> Generating pack...
> Done counting 18985 objects.
> Deltifying 18985 objects.
> git-pack-objects: diff-delta.c:766: create_delta: Assertion `ptr -
> delta == (int)delta_size' failed.
>
> Please let me know if you need more details.
This was a result of incorrect calculation of the size of copy and
data commands. I fixed this in a follow-up patch sent to the list.
For any bug reports, they're easiest to fix if you can find a reproducer
using test-delta.
-Geert
next prev parent reply other threads:[~2006-04-24 2:57 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-21 21:16 RFC: New diff-delta.c implementation Geert Bosch
2006-04-22 3:19 ` Nicolas Pitre
2006-04-22 11:04 ` Geert Bosch
2006-04-22 11:13 ` Junio C Hamano
2006-04-22 12:35 ` Geert Bosch
2006-04-22 12:51 ` Nicolas Pitre
2006-04-22 13:39 ` Geert Bosch
2006-04-22 17:03 ` Junio C Hamano
2006-04-22 17:28 ` Geert Bosch
2006-04-22 17:57 ` Junio C Hamano
2006-04-22 12:45 ` Nicolas Pitre
2006-04-22 14:17 ` Geert Bosch
2006-04-22 17:29 ` Junio C Hamano
2006-04-22 19:58 ` Nicolas Pitre
2006-04-22 5:21 ` Davide Libenzi
2006-04-22 9:12 ` Geert Bosch
2006-04-22 12:36 ` Rene Scharfe
2006-04-24 2:57 ` Geert Bosch [this message]
2006-04-24 5:27 ` Nicolas Pitre
2006-04-24 15:19 ` Geert Bosch
2006-04-24 15:57 ` Nicolas Pitre
2006-04-24 16:31 ` Geert Bosch
2006-04-24 18:24 ` Geert Bosch
2006-04-24 18:27 ` Geert Bosch
2006-04-24 19:21 ` Rutger Nijlunsing
2006-04-24 20:37 ` Petr Baudis
2006-04-24 18:44 ` Geert Bosch
2006-04-25 18:22 ` Rene Scharfe
2006-04-22 20:36 ` Davide Libenzi
2006-04-23 2:31 ` Geert Bosch
2006-04-24 19:10 ` Davide Libenzi
2006-04-24 19:23 ` Geert Bosch
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=20060424025741.GA636@adacore.com \
--to=bosch@adacore.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=rene.scharfe@lsrfire.ath.cx \
/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 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).