On Freitag, 31. Dezember 2010, Thomas Rast wrote: > In some cases, like the sub/super-project filtering attempted in this > series, it may be necessary to carry over the mappings from one or > more filter-branch run to another. > > As the first part to this, make a --dump-map option that dumps a flat > text file with lines of the form > > $sha1 $(map $sha1) Despite the alternative implementation that I suggest below, the commit message (and also the documentation to be written) should state the output format in this way. > @@ -194,6 +195,16 @@ do > --original) > orig_namespace=$(expr "$OPTARG/" : '\(.*[^/]\)/*$')/ > ;; > + --dump-map) > + case "$OPTARG" in > + /*) Please use if is_absolute_path "$OPTARG" then ... > +# At this point the mappings are stable so we can dump them if > +# requested > + > +if test -n "$dump_map"; then > + ( cd "$workdir"/../map/; ls ) | > + while read sha1; do > + echo $sha1 $(map $sha1) There must be a more efficient way than to spawn an additional process for each mapped SHA1. Since this excercises only one branch in the map() function anyway, how about this: ( cd "$workdir"/../map/ && ls -1 ) | while read sha1; do read mapped << $sha1 && echo $sha1 $mapped done > "$dump_map" Though, there is some mechanism that maps one SHA1s to more than one, and my approach might not cover that case. > + done > "$dump_map" -- Hannes -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html