# [PATCH] Documentation/git-filter-branch: add a new commit-filter example

6 messages from 2008-02-23 to 2008-02-25. Participants: Miklos Vajna, Junio C Hamano, Johannes Schindelin.
Thread: https://gitlist.dev/t/12273

## Miklos Vajna, 2008-02-23 19:30

Subject: [PATCH] Documentation/git-filter-branch: add a new commit-filter example
Message-ID: <20080223193058.GE31441@genesis.frugalware.org>
URL: https://gitlist.dev/e/20080223193058.GE31441%40genesis.frugalware.org

```
There is a commit-filter example already which skips commits but there is no
example on how to edit commit messages.

One can figure out this example by carefully reading the git-filter-branch and
git-commit-tree documentation but I think it isn't trivial so this example is
helpful.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---

The lack of such an example was noticed by dvorak on IRC.

 Documentation/git-filter-branch.txt |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index e22dfa5..a035b9c 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -240,6 +240,12 @@ committed a merge between P1 and P2, it will be propagated properly
 and all children of the merge will become merge commits with P1,P2
 as their parents instead of the merge commit.
 
+To remove the 'git-svn-id' strings from commit messages in a repository created
+by git-svn:
+
+------------------------------------------------------------------------------
+git filter-branch --commit-filter 'sed "/^git-svn-id:/d" |git commit-tree "$@"'
+------------------------------------------------------------------------------
 
 To restrict rewriting to only part of the history, specify a revision
 range in addition to the new branch name.  The new branch name will
-- 
1.5.4.2

```

## Junio C Hamano, 2008-02-23 19:45

Subject: Re: [PATCH] Documentation/git-filter-branch: add a new commit-filter example
Message-ID: <7vejb3319j.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vejb3319j.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <20080223193058.GE31441@genesis.frugalware.org>

```
Miklos Vajna <vmiklos@frugalware.org> writes:

> There is a commit-filter example already which skips commits but there is no
> example on how to edit commit messages.
>
> One can figure out this example by carefully reading the git-filter-branch and
> git-commit-tree documentation but I think it isn't trivial so this example is
> helpful.
>
> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
> ---
>
> The lack of such an example was noticed by dvorak on IRC.
>
>  Documentation/git-filter-branch.txt |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
> index e22dfa5..a035b9c 100644
> --- a/Documentation/git-filter-branch.txt
> +++ b/Documentation/git-filter-branch.txt
> @@ -240,6 +240,12 @@ committed a merge between P1 and P2, it will be propagated properly
>  and all children of the merge will become merge commits with P1,P2
>  as their parents instead of the merge commit.
>  
> +To remove the 'git-svn-id' strings from commit messages in a repository created
> +by git-svn:

People who are not interested in git-svn at all may still want
to fix up their commit log messages, and I think starting a
paragraph with 'git-svn-blah' would risk them skipping it
without reading (I certainly would).  Probably we would want to
add a sentence before "To remove ...", like this:

	You can rewrite the commit log messages using `--commit-filter`.
	For example, `git-svn-id` strings in a repository created with
	`git-svn` can be cleaned up this way:

> +------------------------------------------------------------------------------
> +git filter-branch --commit-filter 'sed "/^git-svn-id:/d" |git commit-tree "$@"'
> +------------------------------------------------------------------------------

Please try to keep them a bit shorter for reviewing pleasure on
80-column terminals after your message was quoted once or
perhaps a few times.  The example is easier to read if you write
like this, I think:

----------------------------------------------------------------
git filter-branch --commit-filter '
	sed -e "/^git-svn-id:/d" | git commit-tree "$@"
'
----------------------------------------------------------------

I am not sure if git-svn people condone or encourage such
removals, though.

```

## Miklos Vajna, 2008-02-23 22:04

Subject: [PATCH] Documentation/git-filter-branch: add a new commit-filter example
Message-ID: <20080223220433.GG31441@genesis.frugalware.org>
URL: https://gitlist.dev/e/20080223220433.GG31441%40genesis.frugalware.org
In-Reply-To: <7vejb3319j.fsf@gitster.siamese.dyndns.org>

```
There is a commit-filter example already which skips commits but there is no
example on how to edit commit messages.

One can figure out this example by carefully reading the git-filter-branch and
git-commit-tree documentation but I think it isn't trivial so this example is
helpful.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---

On Sat, Feb 23, 2008 at 11:45:28AM -0800, Junio C Hamano
<gitster@pobox.com> wrote:
> People who are not interested in git-svn at all may still want
> to fix up their commit log messages, and I think starting a
> paragraph with 'git-svn-blah' would risk them skipping it
> without reading (I certainly would).  Probably we would want to
> add a sentence before "To remove ...", like this:
>
>       You can rewrite the commit log messages using `--commit-filter`.
>       For example, `git-svn-id` strings in a repository created with
>       `git-svn` can be cleaned up this way:

second try follows :)

>
> > +------------------------------------------------------------------------------
> > +git filter-branch --commit-filter 'sed "/^git-svn-id:/d" |git
> > commit-tree "$@"'
> > +------------------------------------------------------------------------------
>
> Please try to keep them a bit shorter for reviewing pleasure on
> 80-column terminals after your message was quoted once or
> perhaps a few times.  The example is easier to read if you write
> like this, I think:
>
> ----------------------------------------------------------------
> git filter-branch --commit-filter '
>       sed -e "/^git-svn-id:/d" | git commit-tree "$@"
> '
> ----------------------------------------------------------------
>

ok. i used 72 in my mails and 80 in the code, but now i'm using 72 in
the code as well.

> I am not sure if git-svn people condone or encourage such
> removals, though.

i think it's only useful if you use git-svn for an svn -> git
conversion, provided that the project switches to git (there will be no
more svn commits and noone wants to push back git commits to svn).

 Documentation/git-filter-branch.txt |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index e22dfa5..367064b 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -240,6 +240,15 @@ committed a merge between P1 and P2, it will be propagated properly
 and all children of the merge will become merge commits with P1,P2
 as their parents instead of the merge commit.
 
+You can rewrite the commit log messages using `--commit-filter`.  For
+example, `git-svn-id` strings in a repository created by `git-svn` can
+be removed this way:
+
+-------------------------------------------------------
+git filter-branch --commit-filter '
+	sed -e "/^git-svn-id:/d" | git commit-tree "$@"
+'
+-------------------------------------------------------
 
 To restrict rewriting to only part of the history, specify a revision
 range in addition to the new branch name.  The new branch name will
-- 
1.5.4.2

```

## Johannes Schindelin, 2008-02-24 10:53

Subject: Re: [PATCH] Documentation/git-filter-branch: add a new commit-filter example
Message-ID: <alpine.DEB.1.00.0802241151390.6881@eeepc-johanness>
URL: https://gitlist.dev/e/alpine.DEB.1.00.0802241151390.6881%40eeepc-johanness
In-Reply-To: <20080223220433.GG31441@genesis.frugalware.org>

```
Hi,

On Sat, 23 Feb 2008, Miklos Vajna wrote:

> +-------------------------------------------------------
> +git filter-branch --commit-filter '
> +	sed -e "/^git-svn-id:/d" | git commit-tree "$@"
> +'
> +-------------------------------------------------------

And there I thought that was the job of --msg-filter ;-)

Ciao,
Dscho

```

## Junio C Hamano, 2008-02-24 17:58

Subject: Re: [PATCH] Documentation/git-filter-branch: add a new commit-filter example
Message-ID: <7v7iguxmlq.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v7iguxmlq.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <alpine.DEB.1.00.0802241151390.6881@eeepc-johanness>

```
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:

> On Sat, 23 Feb 2008, Miklos Vajna wrote:
>
>> +-------------------------------------------------------
>> +git filter-branch --commit-filter '
>> +	sed -e "/^git-svn-id:/d" | git commit-tree "$@"
>> +'
>> +-------------------------------------------------------
>
> And there I thought that was the job of --msg-filter ;-)

Ahhhhhhh, that was the little voice that kept telling me there
is something wrong with the patch...

```

## Miklos Vajna, 2008-02-25 14:43

Subject: [PATCH] Documentation/git-filter-branch: add a new msg-filter example
Message-ID: <20080225144353.GT31441@genesis.frugalware.org>
URL: https://gitlist.dev/e/20080225144353.GT31441%40genesis.frugalware.org
In-Reply-To: <7v7iguxmlq.fsf@gitster.siamese.dyndns.org>

```
There were no example on how to edit commit messages, so add an msg-filter
example.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---

On Sun, Feb 24, 2008 at 09:58:41AM -0800, Junio C Hamano <gitster@pobox.com> wrote:
> Ahhhhhhh, that was the little voice that kept telling me there
> is something wrong with the patch...

uh-oh. third try :)

 Documentation/git-filter-branch.txt |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
index e22dfa5..1948f6f 100644
--- a/Documentation/git-filter-branch.txt
+++ b/Documentation/git-filter-branch.txt
@@ -240,6 +240,15 @@ committed a merge between P1 and P2, it will be propagated properly
 and all children of the merge will become merge commits with P1,P2
 as their parents instead of the merge commit.
 
+You can rewrite the commit log messages using `--message-filter`.  For
+example, `git-svn-id` strings in a repository created by `git-svn` can
+be removed this way:
+
+-------------------------------------------------------
+git filter-branch --message-filter '
+	sed -e "/^git-svn-id:/d"
+'
+-------------------------------------------------------
 
 To restrict rewriting to only part of the history, specify a revision
 range in addition to the new branch name.  The new branch name will
-- 
1.5.4.3

```
