Jens Lehmann <[email protected]> writes:
> That's pretty cool! Even though diff options like --stat and --name-only
> still won't take into account what happened inside the submodule this
> approach makes it possible to see the diff recursively. Wouldn't it make
> sense add this script to contrib (after teaching it new and removed
> submodules and documenting its use in a few lines after the shebang)?
A few things somebody may want to work on while doing that "few
lines of documentation" I know about are:
* From the core side, pass options that are releavant when
generating patch (i.e. with p) in environment variables to the
external diff script;
* Not using "s/$1" and "m/$1" as prefix; instead, pass src/dst
prefix values (i.e. s/ and m/) from the core side in environment
variables, and make the external diff script itself aware of
possibly nested submodules, e.g.
SUBMODULE_PATH="${SUBMODULE_PATH}$1"
export SUBMODULE_PATH
exec git --no-pager diff -p \
--src-prefix="$SRC_PREFIX/$SUBMODULE_PATH" \
--dst-prefix="$DST_PREFIX/$SUBMODULE_PATH" "$3" "$6"
After people gain sufficient experience with it, as the next step,
we can think about how to handle --stat and other options when we
are run without -p (currently the attribute mechanism would not
trigger) and then we can call the result a native "diff that
recurses into submodules" that people can use without setting up the
attributes based mechanism.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html