Hello Jim, Sorry for the delay. ;-)
* Jim Meyering wrote on Fri, Sep 22, 2006 at 06:29:03PM CEST: > Thanks for persevering :) Hehe. I see a chance to reconcile some stuff I've been solving locally or doing inefficiently. > Ralf Wildenhues <[EMAIL PROTECTED]> wrote: > > In a gnulib CVS checkout (with modifications), I get: > > > > $ vc-dwim ChangeLog > > | vc-dwim: ChangeLog: no unidiff output > > Does ChangeLog have changes, i.e., does "cvs diff ChangeLog" output > something? No, it did not have any changes. I was somehow under the impression that this would help me generate a ChangeLog entry for other files that I changed; upon second reading that seems not to be intended at all, so I guess the program worked as intended, just the message was a bit confusing. Maybe just not output anything at all in that case? While we're at this: how about if vc-dwim helped me generate a stub ChangeLog entry (with file names listed, maybe functions)? I don't know how others do this, but I think you don't want to know how I do it.[1] And going even further, there are some projects that use some of the newer version control systems but do not store their commit logs in a ChangeLog; for example, with svn I've grown accustomed to tracking my personal ChangeLog file with a script like the one very imperfect one below[2]. Maybe vc-dwim could do something like this for me in a vcs-agnostic manner? ;-) I haven't tested it with genuine changes yet. FWIW, it would be really nice to see the changes from 0.2.1 also in the hg tree (I prefer a vcs-ed upstream when providing feedback). Cheers, Ralf [1] Note I seem unable to teach my fingers the emacs way of life, and AFAIK vim does not have a generate-changelog-stub kind of function; maybe I should write one ... but also I only know of emacs functions that do so based on version control commits; too late for GNU projects. [2] #!/bin/sh set -ex LC_ALL=C export LC_ALL log=.up.log.$$ trap 'rm -f "$log"' 0 1 2 15 old_revision=`sed -n '/^r[0-9]*/ {s/r\([0-9]*\).*/\1/;p;q;}' ChangeLog || echo 0` svn up 2>&1 | tee "$log" new_revision=`sed -n '/^At revision /{s/[^0-9]* \([0-9]*\).*/\1/;p;q;} /^Updated to /{s/[^0-9]* \([0-9]*\).*/\1/;p;q;}' "$log"` if test "$old_revision" -ne "$new_revision"; then old_revision=`expr $old_revision + 1` (svn log -v -r HEAD:$old_revision; cat ChangeLog ) > ChangeLog.tmp mv -f ChangeLog.tmp ChangeLog fi