On 7. 6. 25 12:19, Yasuhito FUTATSUKI wrote:
Hello,
On 2025/06/07 18:09, Daniel Sahlberg wrote:
lör 7 juni 2025 kl. 10:46 skrev Michael Osipov<micha...@apache.org>:
Folks,
using
svn, Version 1.14.5 (r1922182)
übersetzt am Apr 6 2025, um 14:15:38 auf amd64-portbld-freebsd13.4
with config
$ cat /usr/local/etc/subversion/config
[helpers]
diff-cmd = colordiff
Consider the following status:
$ svn st --ignore-externals Bastille/templates/
poudriere/options/general/ | grep -v X
M
Bastille/templates/cafe-custom-uis/software-install-config-ports/var/db/ports
M
Bastille/templates/indocs/software-install-config-ports/var/db/ports
D poudriere/options/general/devel_apache-ant
D poudriere/options/general/devel_protobuf-c
D poudriere/options/general/emulators_linux_base-c7
D poudriere/options/general/emulators_linux_base-rl9
D poudriere/options/general/security_py-gssapi
Properties and content have been modified. colordiff should now colorize
output for all items.
Running "svn diff Bastille/templates/ poudriere/options/general/" does no
colorize diff on properties. See
https://people.freebsd.org/~michaelo/subversion/svn-propdiff-nocolor.png
Let me know what you think,
Is colordiff this program:
https://www.colordiff.org
In that case you should probably work with them to improve their parsing, I
don’t think there is anything we can do on our side since it isn’t
Subversion colouring the output.
The problem is that property diff never use external diff program.
with dummy diff program bin/show_args.sh:
[[[
#!/bin/sh
n=0
while [ $n -le $# ] ; do
echo \$$n = \'`eval 'echo $'${n}`\'
n=$((${n}+1))
done
]]]
sample result of content diff:
[[[
$ svn diff -c 2236 --diff-cmd=bin/show_args.shfile:///var/db/svn/sysadmin/
Index: vendor/FreeBSD/releng/14.0/etc/periodic/daily/480.leapfile-ntpd
===================================================================
$0 = 'bin/show_args.sh'
$1 = '-u'
$2 = '-L'
$3 = 'vendor/FreeBSD/releng/14.0/etc/periodic/daily/480.leapfile-ntpd (revision
2235)'
$4 = '-L'
$5 = 'vendor/FreeBSD/releng/14.0/etc/periodic/daily/480.leapfile-ntpd (revision
2236)'
$6 = '/tmp/svn-TANZb0'
$7 = '/tmp/svn-LMvZZl'
]]]
sample result of property diff:
[[[
$ svn diff -c 2237 --diff-cmd=bin/show_args.shfile:///var/db/svn/sysadmin/
Index: vendor/FreeBSD/releng/14.0/root
===================================================================
--- vendor/FreeBSD/releng/14.0/root (revision 2236)
+++ vendor/FreeBSD/releng/14.0/root (revision 2237)
Property changes on: vendor/FreeBSD/releng/14.0/root
___________________________________________________________________
Added:svn:ignore
## -0,0 +1,10 ##
+.bundle
+.cargo
+.config
+.history
+.lesshst
+.local
+.lsof_*
+.mysql_history
+.pgsql_history
+.python_history
]]]
That's not so much a problem than the simple fact that there are not
many external tools that know how to handle Subversion's properties.
Colordiff doesn't for example. So if we somehow sent properties to an
external diff, just for starters, the diffs wouldn't be formatted correctly.
-- Brane