我需要查看在两个流之间添加或删除了哪些文件。最明显的方式是" git lsfiles"在每个流中。除了这不是GIT,我没有看到类似的命令。所以今天:
for f in $(find * -type f);do
accurev stat "$f"
done | \
fgrep -v '(external)' | \
awk '{print $1}' > .list
如果有更好的方法,那么应该清楚易懂:
http://www.accurev.com/download/docs/5.7.0_books/AccuRev_5_7_User_CLI.pdf
但事实并非如此。救命?谢谢。
答案 0 :(得分:0)
如果要查看两个流之间的差异,请运行以下命令:accurev diff -a -v“Stream1”-V“Stream2”
答案 1 :(得分:0)
由于已经回答了命令行问题,以下是如何通过AccuRev GUI执行相同的操作。
选择其他动态流,工作区或快照。
您将看到两个选项之间不同的文件列表,是的,您可以在动态流,工作区和快照之间进行混合匹配。
然后,您可以选择任何文件并选择"显示差异"看两个文件之间的差异。
答案 2 :(得分:0)
由于这两个答案都没有解决这个问题,我最终制定了一个脚本来完成真正需要的工作。 " accurev lsfiles"非常需要。
#! /bin/bash
declare -r progpid=$$
declare -r progdir=$(cd $(dirname $0) >/dev/null && pwd)
declare -r prog=$(basename $0)
declare -r program="$progdir/$prog"
declare -r usage_text=' [ <directory> ... ]
If no directory is specified, "." is assumed'
die() {
echo "$prog error: $*"
exec 1>/dev/null 2>&1
kill -9 $progpid
exit 1
} 1>&2
usage() {
test $# -gt 0 && {
exec 1>&2
echo "$prog usage error: $*"
}
printf "USAGE: $prog %s\n" "$usage_text"
exit $#
}
init() {
shift_ct=$#
tmpd=$(mktemp -d ${TMPDIR:-/tmp}/ls-XXXXXX)
test -d "$tmpd" || die "mktemp -d does not work"
exec 4> ${tmpd}/files
trap "rm -rf '$tmpd'" EXIT
prune_pat=
while :
do
test $# -eq 0 && break
test -f "$1" && break
[[ "$1" =~ -.* ]] || break
case "X$1" in
X-p )
prune_pat+="${2}|"
shift 2 || usage "missing arg for '-p' option"
;;
X-p* )
prune_pat+="${1#-p}"
shift
;;
X-x* )
set -x
tput reset 1>&2
PS4='>${FUNCNAME:-lsf}> '
shift
;;
X-* )
usage "unknown option: $1"
;;
* )
break
;;
esac
done
(( shift_ct -= $# ))
test ${#prune_pat} -gt 0 && \
prune_pat='(^|/)('${prune_pat%|}')$'
}
chkdir() {
declare list=$(exec 2> /dev/null
for f in "$@"
do ls -d ${f}/* ${f}/.*
done | \
grep -v -E '.*/\.\.*$' )
for f in $(accurev stat ${list} | \
grep -v -F '(external)' | \
awk '{print $1}' | \
sed 's@^/*\./@@')
do
test ${#prune_pat} -gt 0 && [[ $f =~ ${prune_pat} ]] && continue
if test -d "$f"
then chkdir "$f"
elif test -f "$f" -o -L "$f"
then echo "$f" 1>&4
fi
done
}
init ${1+"$@"}
(( shift_ct > 0 )) && shift ${shift_ct}
test $# -eq 0 && set -- .
chkdir "$@"
exec 4>&-
sort -u ${tmpd}/files
它有点过分,但我总是使用样板来制作脚本。