On Thu, May 21, 2026 at 5:57 AM Nathan Hartman <[email protected]> wrote:
>
> DSahlberg wrote:
...
> > In fact, I'm also confused about the column width and truncation after 10 
> > characters: I thought it starts with some column width and if a line is 
> > encountered which has a longer user name that doesn't fit, then the column 
> > width is increased for that line and all subsequent lines. (The rationale 
> > was, it's ugly, but better to be accurate than pretty.) Has that changed 
> > sometime in the last few years?
>
> And I stand corrected; it is 'svn ls -v' (not 'svn blame') that
> sacrifices column alignment to show full author names. Notice how my
> long name (doh!) messes up the formatting here:
>
> $ svn ls -v https://svn.apache.org/repos/asf/subversion/trunk | head -10
> 1934444 ivan                  May 20 14:38 ./
> 1922149 dsahlberg         1417 Nov 27  2024 .asf.yaml
> 1922089 dsahlberg         1834 Nov 25  2024 .clang-format
> 1921436 rinrab            1002 Oct 20  2024 .editorconfig
> 1934358 ivan                   May 18 11:49 .github/
> 1659509 rhuijben          3091 Feb 13  2015 .ycm_extra_conf.py
> 1903577 hartmannathan           95 Aug 19  2022 BUGS
> 1933381 kotkov              382263 Apr 27 07:30 CHANGES
> 1934149 rinrab               33342 May 12 14:18 CMakeLists.txt
> 1934118 dsahlberg            14780 May 11 14:40 COMMITTERS
>
> Starting at my name, the author column grows wider by 4 for all
> subsequent lines. (Need fixed-width font to see it, or just take my
> word for it.)
>
> As Brane points out in that thread [2]:
>
> > This is by design, it was a change made in 1.12.
> >
> > https://subversion.apache.org/docs/release-notes/1.12.html#client-server-improvements
> >
> > Yes, we realize that this makes simple output parsing harder, but the
> > alternative -- truncating author names at 8 characters -- was considered
> > worse.
>
> In contrast, 'svn blame' truncates author names, which are
> right-justified in the column. See how my long name gets truncat
>
> $ svn blame -r0:1926362 CMakeLists.txt
> [...]
> 1926349     rinrab   endif()
> 1926344     rinrab endif()
> 1918878     rinrab
> 1926362 hartmannat # APR and APR-Util include directories must be
> available to all our sources,
> 1926360      brane # not just those that happen to link with one or
> the other of these libraries.
> 1926360      brane get_target_property(_apr_include external-apr
> INTERFACE_INCLUDE_DIRECTORIES)
> 1926360      brane get_target_property(_apu_include external-aprutil
> INTERFACE_INCLUDE_DIRECTORIES)
> [...]
>
> Column widths do not change.
>
> Not sure why I was mistaken about 'svn blame' acting like 'svn ls -v'.
> Maybe it was discussed and never implemented.

Wow, blast from the past. Those column width tweaks in blame output
were my very first patches for SVN, over 15 years ago:

- Aligning in case of high revision numbers (actually Julian Foad did
all the hard work there):
https://svn.apache.org/viewvc/?revision=955895&view=revision

- Truncating long author names (a patch of 3 characters):
https://svn.apache.org/viewvc/?revision=957874&view=revision

Actually, in the referenced discussion Brane suggested that blame
should truncate author names just like 'svn ls' does [1] :-). Seems
that has changed later for 'ls' then. Oh well ...

On rereading that old thread it's nice to see how friendly the
experienced devs were to a newbie like me, and how they gently reeled
me to make my first baby steps with this micro-bug :-).

[1] https://svn.haxx.se/dev/archive-2010-04/0448.shtml

-- 
Johan

Reply via email to