Johannes Schindelin wrote: > But hey, if other people agree with you, and this kind of thinking ends > up in Git proper, I can still resort to other DVCSes. BTW, the following is fairly ironic. (It was later rewritten in 813b473 to the current one-shot 'rev-list --parents' form.) commit 685ef546b62d063c72b401cd38b83a879301aac4 Author: Johannes Schindelin <Johannes.Schindelin@xxxxxx> Date: Fri Jun 8 01:30:35 2007 +0100 Teach filter-branch about subdirectory filtering With git-filter-branch --subdirectory-filter <subdirectory> you can get at the history, as seen by a certain subdirectory. The history of the rewritten branch will only contain commits that touched that subdirectory, and the subdirectory will be rewritten to be the new project root. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> diff --git a/git-filter-branch.sh b/git-filter-branch.sh [...snip...] @@ -224,7 +228,13 @@ set_ident () { # list all parent's object names for a given commit get_parents () { - git-rev-list -1 --parents "$1" | sed "s/^[0-9a-f]*//" + case "$filter_subdir" in + "") + git-rev-list -1 --parents "$1" + ;; + *) + git-rev-list -1 --parents "$1" -- "$filter_subdir" + esac | sed "s/^[0-9a-f]*//" } tempdir=.git-rewrite [...snip...] -- Thomas Rast trast@xxxxxxxxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.