Hi Tom, On Tue, 6 Oct 2020, Tom Clarkson via GitGitGadget wrote: > @@ -796,20 +810,60 @@ cmd_add_commit () { > } > > cmd_map () { > - oldrev="$1" > - newrev="$2" > > - if test -z "$oldrev" > + if test -z "$1" I'd like to keep the nice name. Maybe if it is `local`, there is no longer a need to replace `$oldrev` by `$1`? > then > die "You must provide a revision to map" > fi > > + oldrev=$(git rev-parse --revs-only "$1") || exit $? > + newrev= > + > + if test -n "$2" > + then > + newrev=$(git rev-parse --revs-only "$2") || exit $? > + fi > + Would it not make more sense to validate the parameters before calling `cmd_map`? In any case, this strikes me like a subject for another commit. Thanks, Dscho P.S.: I'll have to stop reviewing here for the moment, not sure whether I'll come back to it later today or maybe tomorrow. > cache_setup || exit $? > cache_set "$oldrev" "$newrev" > > say "Mapped $oldrev => $newrev" > } > > +cmd_ignore () { > + revs=$(git rev-parse $default --revs-only "$@") || exit $? > + ensure_single_rev $revs > + > + say "Ignoring $revs" > + > + cache_setup || exit $? > + > + git rev-list $revs | > + while read rev > + do > + cache_set "$rev" "" > + done > + > + echo "$revs" >>"$cachedir/processed" > +} > + > +cmd_use () { > + revs=$(git rev-parse $default --revs-only "$@") || exit $? > + ensure_single_rev $revs > + > + say "Using existing subtree $revs" > + > + cache_setup || exit $? > + > + git rev-list $revs | > + while read rev > + do > + cache_set "$rev" "$rev" > + done > + > + echo "$revs" >>"$cachedir/processed" > +} > + > cmd_split () { > debug "Splitting $dir..." > cache_setup || exit $? > @@ -827,7 +881,7 @@ cmd_split () { > done > fi > > - unrevs="$(find_existing_splits "$dir" "$revs")" > + unrevs="$(find_existing_splits "$dir" "$revs") $(exclude_processed_refs)" > > mainline="$(find_mainline_ref "$dir" "$revs")" > if test -n "$mainline" > -- > gitgitgadget > >