diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-06-03 01:31:28 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-06-02 20:04:04 -0700 |
commit | 6f6826c52bb751450e2bfa28f07c817dfa5802d6 (patch) | |
tree | 2522249ed3803835b87fce98ee5e7d978b32613c /t | |
parent | c94bf41c9a78dc1c084f2a2895f95b6b6d8f79b1 (diff) | |
download | git-6f6826c52bb751450e2bfa28f07c817dfa5802d6.tar.gz git-6f6826c52bb751450e2bfa28f07c817dfa5802d6.tar.xz |
Add git-filter-branch
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>
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 't')
-rwxr-xr-x | t/t7003-filter-branch.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/t/t7003-filter-branch.sh b/t/t7003-filter-branch.sh new file mode 100755 index 000000000..9a4dae44f --- /dev/null +++ b/t/t7003-filter-branch.sh @@ -0,0 +1,47 @@ +#!/bin/sh + +test_description='git-filter-branch' +. ./test-lib.sh + +make_commit () { + lower=$(echo $1 | tr A-Z a-z) + echo $lower > $lower + git add $lower + git commit -m $1 + git tag $1 +} + +test_expect_success 'setup' ' + make_commit A + make_commit B + git checkout -b branch B + make_commit D + make_commit E + git checkout master + make_commit C + git checkout branch + git merge C + git tag F + make_commit G + make_commit H +' + +H=$(git-rev-parse H) + +test_expect_success 'rewrite identically' ' + git-filter-branch H2 +' + +test_expect_success 'result is really identical' ' + test $H = $(git-rev-parse H2) +' + +test_expect_success 'rewrite, renaming a specific file' ' + git-filter-branch --tree-filter "mv d doh || :" H3 +' + +test_expect_success 'test that the file was renamed' ' + test d = $(git show H3:doh) +' + +test_done |