threads / patch / 12273

patchDocumentation/git-filter-branch: add a new commit-filter example

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

## tl;dr

6 messages between Feb 23, 2008 and Feb 25, 2008. Diffs are folded; open one to read it.

replies: 5people: 3as markdown or json

Miklos Vajna· Feb 23, 2008, 19:30 UTC · lore

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(-)
Show changes to Documentation/git-filter-branch.txt +6 −0
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· Feb 23, 2008, 19:45 UTC · re: Miklos Vajna · lore

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

Miklos Vajna <vmiklos@frugalware.org> writes:
Show 25 quoted lines
> 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· Feb 23, 2008, 22:04 UTC · re: Junio C Hamano · lore

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:

Show 9 quoted lines
> 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 :)
Show 17 quoted lines
>
> > +------------------------------------------------------------------------------
> > +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(-)
Show changes to Documentation/git-filter-branch.txt +9 −0
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· Feb 24, 2008, 10:53 UTC · re: Miklos Vajna · lore

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

Hi,
On Sat, 23 Feb 2008, Miklos Vajna wrote:
Show 5 quoted lines
> +-------------------------------------------------------
> +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· Feb 24, 2008, 17:58 UTC · re: Johannes Schindelin · lore

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

Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 9 quoted lines
> 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· Feb 25, 2008, 14:43 UTC · re: Junio C Hamano · lore

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

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(-)
Show changes to Documentation/git-filter-branch.txt +9 −0
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

← back to recent threads