From: Jakub Narebski <jnareb@gmail.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] Add git-filter-branch
Date: Sun, 3 Jun 2007 12:28:58 +0200 [thread overview]
Message-ID: <200706031228.58779.jnareb@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0706030147520.4046@racer.site>
On Sun, 3 Jun 2007, Johannes Schindelin wrote:
> On Sun, 3 Jun 2007, Jakub Narebski wrote:
>> Johannes Schindelin wrote:
>>
>>> This script is derived from Pasky's cg-admin-rewritehist.
>>>
>>> In fact, it _is_ the same script, minimally adapted to work without cogito.
>>> It _should_ be able to perform the same tasks, even if only relying on
>>> core-git programs.
>>>
>>> All the work is Pasky's, just the adaption is mine.
>>
>> I was thinking about rewriting cg-adin-rewritehist as git-rewritehist
>> using Perl (IIRC it needs bash, not only POSIX shell), and make it
>> use git-fast-import.
By the way, why did you change name to git-filter-branch, instead of
leaving it [almost] as is, i.e. git-rewritehist. Or if you wanted to
emphasize that it rewrites only one branch at a time, git-rewrite-branch?
Note that history (branch) gets rewritten also in absence of filters,
if there are any grafts in place. But I might be mistaken.
> First, it does not need Perl.
>
> Second, it does not even need bash.
If I remember correctly (but I can be wrong here) Pasky said that he had
to use arrays in cg-admin-rewritehist. Because introducing dependency on
bash would be bad, that was the cause of thought to rewrite it in Perl
(which we depend on anyway).
See below.
> At least that is what I tried to make sure. I replaced the only instance
> of a bashim I was aware, namely the arrayism of $unchanged. It can be a
> string just as well, as we are only storing object names in it.
I'm sorry, I haven't reviewed your patch carefully enough, it seems like.
If you can translate cg-admin-rewritehist to POSIX shell, more power
to you.
-- " --
Few notes of lesser importance (meaning they can go into subsequent
commits).
1. Documentation: Cogito had documentation together with the command
described, similarly to Perl POD, or LaTeX doc package + DocStrip,
etc. It has IIRC rules in Makefile to extract documentation.
In git we have documentation in separate files. The commands
themselves have only usage, and sometimes long usage embedded.
It would be nice of git-filter-branch / git-rewrite-branch also
followed this convention.
2. Using fast-import.
>> +# Note that since this operation is extensively I/O expensive, it might
>> +# be a good idea to do it off-disk, e.g. on tmpfs. Reportedly the speedup
>> +# is very noticeable.
Would it be possible to use git-fast-import to reduce I/O in this
command? Cogito didn't use it because it is quite new, but there
is no reason to not to use it now, I think.
--
Jakub Narebski
Poland
next prev parent reply other threads:[~2007-06-03 18:01 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-03 0:31 [PATCH] Add git-filter-branch Johannes Schindelin
2007-06-03 0:46 ` Jakub Narebski
2007-06-03 0:50 ` Johannes Schindelin
2007-06-03 10:28 ` Jakub Narebski [this message]
2007-06-03 18:36 ` Steven Grimm
2007-06-03 23:07 ` Johannes Schindelin
2007-06-05 10:18 ` Jonas Fonseca
2007-06-05 10:26 ` David Kastrup
2007-06-05 10:30 ` Junio C Hamano
2007-06-05 10:34 ` Jonas Fonseca
2007-06-05 13:55 ` Johannes Schindelin
2007-06-06 15:24 ` [PATCH] filter-branch: use $(($i+1)) instead of $((i+1)) Johannes Schindelin
2007-06-04 7:18 ` [PATCH] Add git-filter-branch Johannes Sixt
2007-06-04 7:59 ` Johannes Sixt
2007-06-04 16:11 ` Johannes Schindelin
2007-06-04 16:34 ` Johannes Sixt
2007-06-04 17:55 ` Johannes Schindelin
2007-06-05 7:01 ` Johannes Sixt
2007-06-05 15:58 ` Johannes Schindelin
2007-06-06 7:43 ` Johannes Sixt
2007-06-06 8:17 ` Junio C Hamano
2007-06-06 15:00 ` Johannes Schindelin
2007-06-06 15:22 ` Johannes Sixt
2007-06-06 17:59 ` Johannes Schindelin
2007-06-06 15:36 ` [PATCH] filter-branch: also don't fail in map() if a commit cannot be mapped Johannes Sixt
2007-06-06 17:50 ` Johannes Schindelin
2007-06-06 18:38 ` [PATCH v2] " Johannes Sixt
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=200706031228.58779.jnareb@gmail.com \
--to=jnareb@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
/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).