From: Johannes Sixt <J.Sixt@eudaptics.com>
To: git@vger.kernel.org
Subject: Re: [PATCH] Add git-filter-branch
Date: Mon, 04 Jun 2007 09:18:50 +0200 [thread overview]
Message-ID: <4663BCDA.F1BADDD8@eudaptics.com> (raw)
In-Reply-To: Pine.LNX.4.64.0706030129110.4046@racer.site
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.
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Hopefully-signed-off-by: Petr "cogito master" Baudis <pasky@suse.cz>
If you hadn't done that, I'd done it sooner or later. Thanks!
> + -r)
> + unchanged="$(get_parents "$OPTARG") $unchanged"
> + ;;
> + -k)
> + unchanged="$(git-rev-parse "$OPTARG"^{commit}) $unchanged"
> + ;;
These two (-r and -k) together with...
> +# seed with identity mappings for the parents where we start off
> +for commit in $unchanged; do
> + echo $commit > ../map/$commit
> +done
... this and ...
> + if [ -r "../map/$parent" ]; then
> + for reparent in $(cat "../map/$parent"); do
> + parentstr="$parentstr -p $reparent"
> + done
> + else
> + die "assertion failed: parent $parent for commit $commit not found in rewritten ones"
... this, means that any simple command like
git filter-branch -k orgin/master origin/next new-next
of your git.git clone will fail with the "assertion failed". (I haven't
tried your script, yet, but cg-admin-rewritehist fails.)
I propose that you just get rid of the "seed" stance and don't fail if a
commit cannot be mapped - just use it unchanged (don't forget to adjust
the map() function, too). Then you can get rid of -r and use -k to
specify everything you want under "--not" in the rev-list.
-- Hannes
next prev parent reply other threads:[~2007-06-04 7:18 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
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 ` Johannes Sixt [this message]
2007-06-04 7:59 ` [PATCH] Add git-filter-branch 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=4663BCDA.F1BADDD8@eudaptics.com \
--to=j.sixt@eudaptics.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.