[svk-devel] [PATCH] Verbose commits (includes ? files in commit log)

Sartak sartak at gmail.com
Tue Jun 5 16:21:19 EDT 2007


On 6/5/07, Chia-Liang Kao <clkao at clkao.org> wrote:
> On 05/06/07, David Glasser <glasser at mit.edu> wrote:
> > On 6/5/07, Sartak <sartak at gmail.com> wrote:
> > > I just finished writing a new option for svk commit, verbose, which
> > > will include ? files (aka unversioned files) in the commit log. It
> > > also has tests.
> > >
> > > The commit handler totally ignores these ? files. Maybe in the future
> > > I'll try making it so if you manually change the ? to A, it'll
> > > transparently do an svk add for that file. We'll see!
> >
> > Interesting feature!
> >
> > I'm not sure verbose is the most natural name though, since that might
> > go for more traditional "extra output" later if we come up with a
> > use... how about --show-ignores or something?  (One of these days
> > somebody will write the "default flags for svk commands" feature... I
> > think there was a patch for this a while back?)
>
> I think perhaps this can even be the default behaviour, and also it's
> arguably backward compatible.  What do people think?

Here are my thoughts (which you, cl, already know, but for the sake of
everyone else):

Originally I had the commit buffer look like this:

=== Targets to commit (you may delete items from it) ===
M   /home/sartak/svk/playground/mastermind.pl

=== Unversioned files ===
?   aaa

but that turned out to be a little too difficult to handle with the
current code. It was also suggested that they should just be mixed in
with the actual commit targets, which I thought would be too confusing
for people who had just upgraded (since the header does say "Targets
to commit".. "if I don't remove this ? aaa" will it be added and
committed?"). So I compromised by mixing them in only if the user
specifically requested it, since presumably they know what they're
doing. :)

Another possibility is just having an empty line between the commit
targets and unversioned files:

=== Targets to commit (you may delete items from it) ===
M   /home/sartak/svk/playground/mastermind.pl

?   aaa

which requires no code changes (except to make it the default
behavior, as opposed to requiring -v). The commit handler already
ignores empty lines. But this may still be too subtle.

So in summary the options are:
1. leave the behavior as I wrote it
2. get rid of the -v flag and include unversioned files by default
3. add an empty line between commit targets and unversioned files
4. add a second header between commit targets and unversioned files

I'll be happy no matter which way we go on this. #1 is less useful
since people specifically have to remember to include -v (there isn't
a "default switches" config anywhere is there?). #2 doesn't sit right
with me.

My vote is #4.

Shawn M Moore


More information about the svk-devel mailing list