All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Jeff King <peff@peff.net>
Cc: Avery Pennarun <apenwarr@gmail.com>,
	Peter Karlsson <peter@softwolves.pp.se>,
	git@vger.kernel.org
Subject: Re: Git on Windows, CRLF issues
Date: Wed, 23 Apr 2008 11:13:27 +0100 (BST)	[thread overview]
Message-ID: <alpine.DEB.1.00.0804231110080.4181@eeepc-johanness> (raw)
In-Reply-To: <20080423080826.GA11935@sigill.intra.peff.net>

Hi,

On Wed, 23 Apr 2008, Jeff King wrote:

> On Tue, Apr 22, 2008 at 12:51:14PM -0400, Avery Pennarun wrote:
> 
> > Do you think git would benefit from having a generalized version of 
> > this script?  Basically, the user provides a "munge" script on the 
> > command line, and there's a git-filter-branch mode for auto-munging 
> > (with a cache) every file in every checkin.  Even if it's *only* ever 
> > used for CRLF, I can imagine this being useful to a lot of people.
> 
> It was easy enough to work up the patch below, which allows
> 
>   git filter-branch --blob-filter 'tr a-z A-Z'
> 
> However, it's _still_ horribly slow.

You create a quite huge blob-cache, so you are pretty heavy on disk-I/O.  
Have you tried (as suggested in the man page) to run this on a huge RAM 
disk?  That should blow you away.

> Shell script is nice and flexible, but running a tight loop like this is 
> just painful. I suspect filter-branch in something like perl would be a 
> lot faster and just as flexible (you could even do it in C, but you'd 
> probably have to invent a little domain-specific scripting language).

I hoped that the rewrite-commits attempt was more than just that: an 
attempt.  So there is a point you could start from, doing things in C.

But I doubt that you get any joy: either your language is too limited, or 
you will get the same problems (fork() overhead) again.

> Anyway, here is the patch. I don't know if it is even worth applying, 
> since it is still painfully slow.

I like your patch:

Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Ciao,
Dscho

  reply	other threads:[~2008-04-23 10:14 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-21 19:48 Git on Windows, CRLF issues Peter Karlsson
2008-04-21 20:07 ` Johannes Schindelin
2008-04-21 21:53   ` Avery Pennarun
2008-04-22  2:39     ` Jeff King
2008-04-22 16:51       ` Avery Pennarun
2008-04-23  7:11         ` Peter Karlsson
2008-04-23  8:10           ` Jeff King
2008-04-23 13:47             ` Peter Karlsson
2008-04-23 14:24               ` Johan Herland
2008-04-23 15:12               ` Johannes Sixt
2008-04-23  8:08         ` Jeff King
2008-04-23 10:13           ` Johannes Schindelin [this message]
2008-04-23 10:58             ` Jeff King
2008-04-23 10:58           ` Johannes Sixt
2008-04-23 11:04             ` Jeff King
2008-04-23 11:46               ` Johannes Sixt
2008-04-23 21:47                 ` Jeff King
2008-04-23 23:01                   ` Junio C Hamano
2008-04-23 23:04                     ` Avery Pennarun
2008-04-24  8:11                       ` Johannes Schindelin
2008-04-24 16:56                         ` Avery Pennarun
2008-04-24  1:37                     ` Jeff King
2008-04-23 20:02             ` Avery Pennarun
2008-04-24  6:25               ` Johannes Sixt
2008-04-22  6:41     ` Johannes Sixt
2008-04-21 21:51 ` Jakub Narebski
2008-04-22  6:52   ` Peter Karlsson
2008-04-22  9:04     ` Johannes Sixt
2008-04-22  6:31 ` Johannes Sixt
2008-04-22  8:42   ` Peter Karlsson

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=alpine.DEB.1.00.0804231110080.4181@eeepc-johanness \
    --to=johannes.schindelin@gmx.de \
    --cc=apenwarr@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=peter@softwolves.pp.se \
    /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.