author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | |
Fri, 31 Aug 2007 19:06:27 +0000 (20:06 +0100) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Sat, 1 Sep 2007 06:22:51 +0000 (23:22 -0700) | ||
commit | f95eef15f2f8a336b9a42749f5458c841a5a5d63 | |
tree | 623a5f9e4d1f99d4056b51e4b68e77e4641bcdef | tree | snapshot |
parent | 7e0f1704b837355d833d84d18a3811d145867b97 | commit | diff |
filter-branch: introduce convenience function "skip_commit"
With this function, a commit filter can leave out unwanted commits
(such as temporary commits). It does _not_ undo the changeset
corresponding to that commit, but it _skips_ the revision. IOW
no tree object is changed by this.
If you like to commit early and often, but want to filter out all
intermediate commits, marked by "@@@" in the commit message, you can
now do this with
git filter-branch --commit-filter '
if git cat-file commit $GIT_COMMIT | grep '@@@' > /dev/null;
then
skip_commit "$@";
else
git commit-tree "$@";
fi' newbranch
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
With this function, a commit filter can leave out unwanted commits
(such as temporary commits). It does _not_ undo the changeset
corresponding to that commit, but it _skips_ the revision. IOW
no tree object is changed by this.
If you like to commit early and often, but want to filter out all
intermediate commits, marked by "@@@" in the commit message, you can
now do this with
git filter-branch --commit-filter '
if git cat-file commit $GIT_COMMIT | grep '@@@' > /dev/null;
then
skip_commit "$@";
else
git commit-tree "$@";
fi' newbranch
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-filter-branch.txt | diff | blob | history | |
git-filter-branch.sh | diff | blob | history | |
t/t7003-filter-branch.sh | diff | blob | history |