[svk-devel] Empty commit messages when smerg-ing or push-ing

Alexandru Popescu the.mindstorm.mailinglist at gmail.com
Fri Jan 19 11:19:53 EST 2007


On 1/19/07, Derek Atkins <warlord at mit.edu> wrote:
> What version of SVK?
>

I think I've seen something similar on 1.08, but I am not sure I have
understood all details of the OP.

./alex
--
.w( the_mindstorm )p.

> -derek
>
> "Paul Cochrane" <paultcochrane at gmail.com> writes:
>
> > Hi all,
> >
> > I've got a continuation of the problem I was having earlier when I
> > enquired about editing of svk commit logs.  The situation is this:
> > I'm helping out on the Parrot project and recently (within the last
> > month) a pre-commit check was put on the svn repository to look for
> > empty commit messages.  What this then showed up is that whenever I do
> > a 'svk smerge' or 'svk push' that sometimes svk tries to do a commit
> > upstream (often changing files that I've not changed or committed to
> > the local svk repository) which generates an empty commit message and
> > hence the merge back to the repo fails.  To get around this I try to
> > use 'svk merge -c <failing_svk_revision_number> //parrot/local
> > //parrot/remote -m "empty message"' so make the merge pass, however,
> > this has had the effect (twice now) of reverting files in the parrot
> > svn repository which I haven't touched!  svk also managed to re-commit
> > some other files that I'd already pushed upstream, and managed *not*
> > to merge my most recent local commit.  I'd like to know why this is
> > happening and how to fix the problem so that I can continue to use svk
> > to help rather than hinder the project.  Here follows the most recent
> > example:
> >
> > I made sure everything was up to date:
> >
> > cochrane at avon parrot $ svk up -sm
> > Syncing https://svn.perl.org/parrot/trunk
> > Auto-merging (25316, 25316) /parrot/remote to /parrot/local (base
> > /parrot/remote:25316).
> > Empty merge.
> > Syncing //parrot/local(/parrot/local) in
> > /home/cochrane/sourceforge/parrot to 25317.
> >
> > then committed my most recent change:
> >
> > cochrane at avon parrot $ svk commit languages/lua/t/shootout.t
> > Waiting for editor...
> > Committed revision 25318.
> >
> > then tried pusing my most recent change (I'm pretty sure there was
> > only this one, but it's a while since I've done a commit to parrot;
> > hence why I'm pretty sure).
> >
> > cochrane at avon parrot $ svk push
> > Auto-merging (24966, 25318) /parrot/local to /parrot/remote (base
> > /parrot/remote:25316).
> > ===> Auto-merging (24966, 24973) /parrot/local to /parrot/remote (base
> > /parrot/remote:24972).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   lib/Parrot/Distribution.pm
> > g   t/codingstd/c_indent.t
> >    languages/bc - skipped
> >    languages/bc/docs/parrot_bc.pod - skipped
> > Empty merge.
> > ===> Auto-merging (24973, 24982) /parrot/local to /parrot/remote (base
> > /parrot/remote:24972).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   docs/dev/nanoparrot.c
> > g   lib/Parrot/Distribution.pm
> > g   t/codingstd/c_indent.t
> >    languages/bc - skipped
> >    languages/bc/docs/parrot_bc.pod - skipped
> > Empty merge.
> > ===> Auto-merging (24982, 24983) /parrot/local to /parrot/remote (base
> > /parrot/remote:24972).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   docs/dev/nanoparrot.c
> > g   lib/Parrot/Distribution.pm
> > g   compilers/bcg/src/bcg_logger.h
> > g   compilers/bcg/src/bcg_utils.h
> > g   t/codingstd/c_indent.t
> >    languages/bc - skipped
> >    languages/bc/docs/parrot_bc.pod - skipped
> > Empty merge.
> > ===> Auto-merging (24983, 24984) /parrot/local to /parrot/remote (base
> > /parrot/remote:24972).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   docs/dev/nanoparrot.c
> > g   lib/Parrot/Distribution.pm
> > g   compilers/bcg/src/bcg_logger.h
> > g   compilers/bcg/src/bcg_utils.h
> > g   t/codingstd/c_indent.t
> > g   config/gen/platform/openbsd/math.c
> > g   config/gen/platform/solaris/math.c
> >    languages/bc - skipped
> >    languages/bc/docs/parrot_bc.pod - skipped
> > Empty merge.
> > ===> Auto-merging (24984, 24985) /parrot/local to /parrot/remote (base
> > /parrot/remote:24972).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   docs/dev/nanoparrot.c
> > g   lib/Parrot/Distribution.pm
> > g   include/parrot/smallobject.h
> > g   include/parrot/atomic/gcc_x86.h
> > G   include/parrot/thr_windows.h
> > g   include/parrot/exec.h
> > g   include/parrot/thread.h
> > g   compilers/bcg/src/bcg_logger.h
> > g   compilers/bcg/src/bcg_utils.h
> > g   t/codingstd/c_indent.t
> > g   config/gen/platform/openbsd/math.c
> > g   config/gen/platform/solaris/math.c
> >    languages/bc - skipped
> >    languages/bc/docs/parrot_bc.pod - skipped
> > New merge ticket: 2d5eba5e-1c16-0410-82ce-edad0cc2a1fc:/parrot/local:24985
> > Merge back committed as revision 16703.
> > Syncing https://svn.perl.org/parrot/trunk
> > Retrieving log information from 16703 to 16703
> > Committed revision 25319 from revision 16703.
> > ===> Auto-merging (24985, 24986) /parrot/local to /parrot/remote (base
> > /parrot/local:24985).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   languages/cola/cola.h
> > New merge ticket: 2d5eba5e-1c16-0410-82ce-edad0cc2a1fc:/parrot/local:24986
> > Merge back committed as revision 16704.
> > Syncing https://svn.perl.org/parrot/trunk
> > Retrieving log information from 16704 to 16704
> > Committed revision 25320 from revision 16704.
> > ===> Auto-merging (24986, 24987) /parrot/local to /parrot/remote (base
> > /parrot/local:24986).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   src/jit/arm/exec_dep.h
> > g   src/jit/arm/jit_emit.h
> > g   src/jit/ppc/exec_dep.h
> > g   src/jit/ppc/jit_emit.h
> > g   src/jit/skeleton/jit_emit.h
> > g   src/jit/alpha/jit_emit.h
> > g   src/jit/hppa/jit_emit.h
> > g   src/jit/mips/jit_emit.h
> > g   src/jit/i386/jit_emit.h
> > g   src/jit_debug_xcoff.c
> > g   src/io/io_unix.c
> > g   src/jit_debug.c
> > New merge ticket: 2d5eba5e-1c16-0410-82ce-edad0cc2a1fc:/parrot/local:24987
> > Merge back committed as revision 16705.
> > Syncing https://svn.perl.org/parrot/trunk
> > Retrieving log information from 16705 to 16705
> > Committed revision 25321 from revision 16705.
> > ===> Auto-merging (24987, 24993) /parrot/local to /parrot/remote (base
> > /parrot/remote:24992).
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > g   src/jit/arm/exec_dep.h
> > g   src/jit/arm/jit_emit.h
> > g   src/jit/ppc/exec_dep.h
> > g   src/jit/ppc/jit_emit.h
> > g   src/jit/skeleton/jit_emit.h
> > g   src/jit/alpha/jit_emit.h
> > g   src/jit/hppa/jit_emit.h
> > g   src/jit/mips/jit_emit.h
> > g   src/jit/i386/jit_emit.h
> > g   src/jit_debug_xcoff.c
> > g   src/io/io_unix.c
> > g   src/jit_debug.c
> > g   docs/dev/nanoparrot.c
> > g   include/parrot/smallobject.h
> > g   include/parrot/atomic/gcc_x86.h
> > G   include/parrot/thr_windows.h
> > g   include/parrot/exec.h
> > g   include/parrot/thread.h
> > g   compilers/bcg/src/bcg_logger.h
> > g   compilers/bcg/src/bcg_utils.h
> > g   config/gen/platform/openbsd/math.c
> > g   config/gen/platform/solaris/math.c
> >    languages/bc - skipped
> >    languages/bc/docs/parrot_bc.pod - skipped
> > g   languages/cola/cola.h
> > New merge ticket: 2d5eba5e-1c16-0410-82ce-edad0cc2a1fc:/parrot/local:24993
> > A repository hook failed: MERGE request failed on '/parrot/trunk':
> > 'pre-commit' hook failed with error output:
> >
> > ***  Commit message is empty  ***
> >
> >
> > Nothing seems to be getting updated here.  Anyway, to make svk be able
> > to commit the local revision 24993 I use:
> >
> > cochrane at avon parrot $ svk merge -c 24993 -m "Non-empty svk merge
> > message" //parrot/local //parrot/remote
> > Merging back to mirror source https://svn.perl.org/parrot/trunk.
> > Conflict found in runtime/parrot/library/PGE/Util.pir:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] t
> > G   runtime/parrot/library/PGE/Util.pir
> > G   src/string.c
> > Conflict found in compilers/tge/TGE/Compiler.pir:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] t
> > G   compilers/tge/TGE/Compiler.pir
> > g   compilers/tge/tgc.pir
> > g   compilers/pge/PGE/Match.pir
> > Conflict found in languages/tcl/t/cmd_binary.t:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] e
> > Waiting for editor...
> > Conflict found in languages/tcl/t/cmd_binary.t:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] t
> > G   languages/tcl/t/cmd_binary.t
> > G   languages/tcl/config/makefiles/root.in
> > Conflict found in languages/tcl/lib/skipped_tests.tcl:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] t
> > G   languages/tcl/lib/skipped_tests.tcl
> > Conflict found in languages/tcl/src/binary.c:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] e
> > Waiting for editor...
> > Conflict found in languages/tcl/src/binary.c:
> > e)dit, d)iff, m)erge, s)kip, t)heirs, y)ours, h)elp? [e] t
> > G   languages/tcl/src/binary.c
> > Merge back committed as revision 16706.
> > Syncing https://svn.perl.org/parrot/trunk
> > Retrieving log information from 16706 to 16706
> > Committed revision 25322 from revision 16706.
> >
> > Which causes conflicts on files I've not edited (in some cases,
> > ever!).  I then just use the 'theirs' option so that the version in
> > the remote repository is used, however, this causes the files with the
> > 'theirs' changes to be reverted, as I then do a svk up -sm and get:
> >
> > cochrane at avon parrot $ svk up -sm
> > Syncing https://svn.perl.org/parrot/trunk
> > Auto-merging (25316, 25322) /parrot/remote to /parrot/local (base
> > /parrot/remote:25316).
> > U   runtime/parrot/library/PGE/Util.pir
> > U   compilers/tge/TGE/Compiler.pir
> > U   languages/tcl/t/cmd_binary.t
> > U   languages/tcl/lib/skipped_tests.tcl
> > U   languages/tcl/src/binary.c
> > New merge ticket: d31e2699-5ff4-0310-a27c-f18f2fbe73fe:/trunk:16706
> > Committed revision 25323.
> > Syncing //parrot/local(/parrot/local) in
> > /home/cochrane/sourceforge/parrot to 25323.
> > U   runtime/parrot/library/PGE/Util.pir
> > U   compilers/tge/TGE/Compiler.pir
> > U   languages/tcl/t/cmd_binary.t
> > U   languages/tcl/lib/skipped_tests.tcl
> > U   languages/tcl/src/binary.c
> >
> >
> > The last 5 updated files then had to be reverted using my svn working directory.
> >
> > The fact that I managed to revert files (again; this is the second
> > time) in the parrot svn repository has annoyed several people, and I'm
> > trying my hardest *not* to!
> >
> > My normal svk work cycle goes as follows:
> >
> > svk up -sm
> > ... edit some files ...
> > svk commit <files>
> > svk push  (was svk smerge -Il --verbatim //parrot/local //parrot/remote)
> >
> > What have I been doing wrong?  *Am* I doing anything wrong?  Do I need
> > to remove my parrot local mirror and working copy and start all over?
> > (I've done this once before, which was a painful experience and hasn't
> > seemed to have helped me).
> >
> > Please, any advice would be greatly appreciated so that I can keep
> > using svk (my most useful software development tool) and keep helping
> > out in a fun project without screwing up other people's hard work.
> >
> > Thanks heaps in advance,
> >
> > Paul
> > _______________________________________________
> > svk-devel mailing list
> > svk-devel at bestpractical.com
> > http://lists.bestpractical.com/cgi-bin/mailman/listinfo/svk-devel
> >
> >
>
> --
>        Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
>        Member, MIT Student Information Processing Board  (SIPB)
>        URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
>        warlord at MIT.EDU                        PGP key available
> _______________________________________________
> svk-devel mailing list
> svk-devel at bestpractical.com
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/svk-devel
>


More information about the svk-devel mailing list