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

Derek Atkins warlord at MIT.EDU
Fri Jan 19 13:36:40 EST 2007


"Alexandru Popescu" <the.mindstorm.mailinglist at gmail.com> writes:

> 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.

Yeah, I saw some of this in 1.8 and even in 1.99_0x.  But I haven't
seen it yet in 2.0, at least from 2.0-releng branch as of a couple
days ago.

I recommend you update SVK and try again.

-derek

> ./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
>>
> _______________________________________________
> 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


More information about the svk-devel mailing list