git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Schindelin <Johannes.Schindelin@gmx.de>
To: Mike Hommey <mh@glandium.org>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: git-filter-branch
Date: Thu, 9 Aug 2007 10:19:20 +0100 (BST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0708091018340.21857@racer.site> (raw)
In-Reply-To: <20070809091550.GB20321@glandium.org>

Hi,

On Thu, 9 Aug 2007, Mike Hommey wrote:

> On Thu, Aug 09, 2007 at 09:58:27AM +0100, Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > Hi,
> > 
> > On Thu, 9 Aug 2007, Mike Hommey wrote:
> > 
> > > What is supposed to be the usage() of git-fetch-branch ?
> > > 
> > > git-filter-branch itself says:
> > > git-filter-branch [-d TEMPDIR] [FILTERS] DESTBRANCH [REV-RANGE]
> > 
> > This is an unfortunate left-over.  The syntax described in the 
> > documentation should be right.
> > 
> > > while the documentation doesn't explicitely talk about DESTBRANCH,
> > > expect in the form of an hypothetical /newbranch/, that you obviously
> > > don't give to the command line.
> > 
> > Hmm.  I don't have time to look into this now, but the syntax is this:
> > 
> > 	git filter-branch [<options>] [--] [<rev-options>]
> > 
> > Those refs that you give in the <rev-options> are rewritten.  AFAIR the 
> > old values of the refs (if different) are written to refs/original/*.
> 
> In the description in the manpage:
>    Lets you rewrite git revision history by creating a new branch from
>    your current branch, applying custom filters on each revision.
>    (...)
>    The command takes the new branch name as a mandatory argument and the
>    filters as optional arguments
> 
> And in example:
>    Now, you will get the rewritten history saved in the branch newbranch
>    (your current branch is left untouched).
> 
> I must say this is a feature that would actually be nice to have...

To compare with the old one?  Use reflogs:

	git filter-branch --some-option master
	git diff master@{1}..master

> > > And whereas git-filter-branch itself says there is such an argument,
> > > it actually doesn't take it, and doesn't seem to be hardwired to create
> > > a new branch instead of overwriting the current one.
> > > 
> > > So what is git-filter-branch supposed to be doing ?
> > 
> > To rewrite refs.
> > 
> > > As a side note, if it ever happens that git-filter-branch can create a
> > > new branch, it might be nice to have each commit on the branch to have
> > > the original commit as parent, as well as its branch parent, so that
> > > they are seen as merges.
> > 
> > No, this will not happen.  Filter-branch is meant to clean up branches, so 
> > it will rewrite the commits.  However, you might be able to hack something 
> > in a parent filter.
> 
> That would need the commit id for the original commit being treated at the
> time, which I don't think is available in parent filters...

IIRC the "map" function will handle that.

Ciao,
Dscho

  reply	other threads:[~2007-08-09  9:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-09  6:34 git-filter-branch Mike Hommey
2007-08-09  8:58 ` git-filter-branch Johannes Schindelin
2007-08-09  9:15   ` git-filter-branch Mike Hommey
2007-08-09  9:19     ` Johannes Schindelin [this message]
2007-08-09  9:30       ` git-filter-branch Mike Hommey
2007-08-09  9:38         ` git-filter-branch Johannes Schindelin

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=Pine.LNX.4.64.0708091018340.21857@racer.site \
    --to=johannes.schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=mh@glandium.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).