This is what I ended up with:
#!/bin/sh
old_manifest=$1
new_manifest=$2
[ -z "$3" ] && diff_cmd="git --no-pager log --pretty=oneline --abbrev-commit"
xmlstarlet sel -t -m "//project" -v "@name" -o " " -v "@path" -o " " -v "@revision" -n $old_manifest |
while read name path old_rev; do
new_rev=$(xmlstarlet sel -t -m "//project[@path='$path']" -v "@revision" $new_manifest)
dir=$PWD
cd $path
$diff_cmd $old_rev...$new_rev | while read line; do
echo -n "$name: "
echo $line
done
cd $dir
done
On Thursday, March 14, 2013 11:31:19 AM UTC-5,
msm...@mcclintock.net wrote:
Hello,
Is there a way to create a change log between two manifest files (or between two branches in your manifest repo) in a standard way with repo? I realize I could write a fairly simple script to do this, but I'd like to adopt a more standard method if possible. E.g.
$ repo changelog manifestA.xml manifestB.xml
[compenentA] this changed
[componentB] that changed
[componentC] foo
or
$ repo changelog manifestA.xml manifestB.xml
warning: manifest files are not explict SHAs, using branches instead
[...]
-M