Index: ossp-pkg/svs/ChangeLog RCS File: /v/ossp/cvs/ossp-pkg/svs/ChangeLog,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/svs/ChangeLog,v' 2>/dev/null --- ChangeLog 2004/12/17 09:52:08 1.3 +++ ChangeLog 2005/01/13 11:12:58 1.4 @@ -10,6 +10,16 @@ Changes between 1.0.0 and 1.0.1 (14-Dec-2004 to 16-Dec-2004): + *) Add a convenient "svs status" command which output a "cvs update" + style list of files and their status (modification or conflict). + [Ralf S. Engelschall] + + *) Remove *.rej files on "svs vi" if a modification was done. + [Ralf S. Engelschall] + + *) Fix "make uninstall" procedure. + [Ralf S. Engelschall] + *) When editing a file look for corresponding .rej file and if found and the editor is Vim, open both files. [Ralf S. Engelschall] Index: ossp-pkg/svs/Makefile.in RCS File: /v/ossp/cvs/ossp-pkg/svs/Makefile.in,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/svs/Makefile.in,v' 2>/dev/null --- Makefile.in 2004/12/14 19:18:37 1.1 +++ Makefile.in 2005/01/13 11:12:58 1.2 @@ -67,9 +67,10 @@ # perform uninstallation procedure uninstall: - -$(RM) $(DESTDIR)$(mandir)/bin/svs + -$(RM) $(DESTDIR)$(bindir)/svs -$(RM) $(DESTDIR)$(mandir)/man1/svs.1 -$(RMDIR) $(DESTDIR)$(mandir)/man1 >/dev/null 2>&1 || $(TRUE) + -$(RMDIR) $(DESTDIR)$(mandir) >/dev/null 2>&1 || $(TRUE) -$(RMDIR) $(DESTDIR)$(bindir) >/dev/null 2>&1 || $(TRUE) -$(RMDIR) $(DESTDIR)$(prefix) >/dev/null 2>&1 || $(TRUE) Index: ossp-pkg/svs/svs.pod RCS File: /v/ossp/cvs/ossp-pkg/svs/svs.pod,v rcsdiff -q -kk '-r1.1' '-r1.2' -u '/v/ossp/cvs/ossp-pkg/svs/svs.pod,v' 2>/dev/null --- svs.pod 2004/12/14 19:18:37 1.1 +++ svs.pod 2005/01/13 11:12:58 1.2 @@ -43,9 +43,11 @@ =item B vi I [...] -=item B diff I|I [...] +=item B diff [I|I [...]] + +=item B backout [I|I [...]] -=item B backout I|I [...] +=item B status [I|I [...]] =back @@ -118,6 +120,12 @@ This backouts all changes made to files where an IC<.orig> exists. The IC<.orig> files are removed, too. +=item B status [I|I [...]] + +This shows a short status of files I where an IC<.orig> or IC<.rej> file exists. +A prefix of "C" indicates a modification (a IC<.orig> exists). +A prefix of "C" indicates a conflict (a IC<.rej> exists). + =back =head1 HISTORY Index: ossp-pkg/svs/svs.sh RCS File: /v/ossp/cvs/ossp-pkg/svs/svs.sh,v rcsdiff -q -kk '-r1.3' '-r1.4' -u '/v/ossp/cvs/ossp-pkg/svs/svs.sh,v' 2>/dev/null --- svs.sh 2004/12/17 09:52:08 1.3 +++ svs.sh 2005/01/13 11:12:58 1.4 @@ -33,6 +33,7 @@ echo "Usage: svs vi [...]" echo "Usage: svs diff [| [...]]" echo "Usage: svs backout [| [...]]" + echo "Usage: svs status [| [...]]" exit 1 fi @@ -74,6 +75,9 @@ rm -f $file.orig else echo "svs: changes made (preserving original)" + if [ -f $file.rej ]; then + rm -f $file.rej + fi fi done ;; @@ -177,6 +181,42 @@ fi done ;; + + s|st|sta|stat|statu|status ) + ## + ## CHANGE STATUS + ## + + # determine file list + if [ $# -eq 0 ]; then + set -- . + fi + files="" + for file in "$@"; do + if [ -d $file ]; then + for f in `find $file -type f \( -name "*.orig" -or -name "*.rej" \) -print | sort`; do + files="$files $f" + done + elif [ -f $file ]; then + files="$files $file" + else + echo "svs:ERROR: \"$file\" neither regular file nor directory" 1>&2 + exit 1 + fi + done + + # show status on files + for file in $files; do + file=`echo "$file" | sed -e 's;^\./;;' -e 's;/\./;/;g' -e 's;\([^/][^/]*\)/\.\.;;g' -e 's;//*;/;g'` + prefix="?" + case "$file" in + *.orig ) prefix="M" ;; + *.rej ) prefix="C" ;; + esac + echo "$prefix $file" + done + ;; + * ) echo "svs:ERROR: invalid command \"$cmd\"" 1>&2 exit 1