git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Documentation/git-filter-branch: Move note about effect of removing commits

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 18, 2012, 18:27 UTC
Message-ID
<7vwqzrmbk1.fsf@alter.siamese.dyndns.org>
In-Reply-To
<m2627biaw3.fsf@igel.home>
Andreas Schwab <schwab@linux-m68k.org> writes:
Show 37 quoted lines
> The note that explains that changes introduced by removed commits are
> preserved should be placed directly after the paragraph that describes
> such commits removal.  Otherwise the reference to "the commits" appears
> out of context.
>
> Signed-off-by: Andreas Schwab <schwab@linux-m68k.org>
> ---
>  Documentation/git-filter-branch.txt | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/Documentation/git-filter-branch.txt b/Documentation/git-filter-branch.txt
> index 15e7ac8..6e2d9ea 100644
> --- a/Documentation/git-filter-branch.txt
> +++ b/Documentation/git-filter-branch.txt
> @@ -304,6 +304,11 @@ 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.
>  
> +*NOTE* the changes introduced by the commits, and which are not reverted
> +by subsequent commits, will still be in the rewritten branch. If you want
> +to throw out _changes_ together with the commits, you should use the
> +interactive mode of 'git rebase'.
> +
>  You can rewrite the commit log messages using `--msg-filter`.  For
>  example, 'git svn-id' strings in a repository created by 'git svn' can
>  be removed this way:
> @@ -329,11 +334,6 @@ git filter-branch --msg-filter '
>  ' HEAD~10..HEAD
>  --------------------------------------------------------
>  
> -*NOTE* the changes introduced by the commits, and which are not reverted
> -by subsequent commits, will still be in the rewritten branch. If you want
> -to throw out _changes_ together with the commits, you should use the
> -interactive mode of 'git rebase'.
> -
>  
>  Consider this history:

Yeah, makes sense. "Consider this history" that follows this post-context is about "To restrict rewriting to only part of the history, ..." so this section may need further line swapping, though. The the current text flows like this:

 * To remove commits, you can do this, and this even handles merges.
 * You can rewrite the log message with --msg-filter.
 * You can rewrite only part of the commit DAG with revision range.
 * You can add 'Acked-by' with --msg-filter.
 * Note that you may want to consider using "rebase -i" if you want
   to remove the changes.
 * Illustration of rewriting parts of commits.

but as you pointed out, "Note that" is better to be after "To remove commits". Also, "only part of the DAG with range" is better to be immediately before the illustration.

So something like this instead?
 Documentation/git-filter-branch.txt | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)
diff --git i/Documentation/git-filter-branch.txt w/Documentation/git-filter-branch.txt
index 15e7ac8..e2301f5 100644
--- i/Documentation/git-filter-branch.txt
+++ w/Documentation/git-filter-branch.txt
@@ -304,6 +304,11 @@ 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.
 
+*NOTE* the changes introduced by the commits, and which are not reverted
+by subsequent commits, will still be in the rewritten branch. If you want
+to throw out _changes_ together with the commits, you should use the
+interactive mode of 'git rebase'.
+
 You can rewrite the commit log messages using `--msg-filter`.  For
 example, 'git svn-id' strings in a repository created by 'git svn' can
 be removed this way:
@@ -314,11 +319,6 @@ git filter-branch --msg-filter '
 '
 -------------------------------------------------------
 
-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
-point to the top-most revision that a 'git rev-list' of this range
-will print.
-
 If you need to add 'Acked-by' lines to, say, the last 10 commits (none
 of which is a merge), use this command:
 
@@ -329,11 +329,10 @@ git filter-branch --msg-filter '
 ' HEAD~10..HEAD
 --------------------------------------------------------
 
-*NOTE* the changes introduced by the commits, and which are not reverted
-by subsequent commits, will still be in the rewritten branch. If you want
-to throw out _changes_ together with the commits, you should use the
-interactive mode of 'git rebase'.
-
+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
+point to the top-most revision that a 'git rev-list' of this range
+will print.
 
 Consider this history:
 
Previous: Andreas SchwabNext: Andreas Schwab
Message 2 of 4 in “Documentation/git-filter-branch: Move note about effect of removing commits”
  1. Documentation/git-filter-branch: Move note about effect of removing commitsAndreas Schwab, Sep 18, 2012
  2. Junio C HamanoSep 18, 2012
  3. Andreas SchwabSep 18, 2012
  4. Junio C HamanoSep 18, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.