[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] ikiwiki monotone support

From: Brian May
Subject: Re: [Monotone-devel] ikiwiki monotone support
Date: Thu, 21 Feb 2008 20:32:45 +1100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux)

>>>>> "William" == William Uther <address@hidden> writes:

    >> Why put the hook into _MTN/mergerc instead of _MTN/monotonerc?
    >> As such, the hook won't get used unless specified. From memory
    >> _MTN/monotonerc is read by default.

    William> Because the monotone stuff could specify the extra rc
    William> file when needed and it meant that it would not conflict
    William> with a user-added rc-file.

Ok, I can see the reason now.

It does mean though if I sync to that database outside of ikiwiki, I
have to manually add the _MTN/mergerc file, or the
note_netsync_revision_received hook won't take affect.

    William> ikiwiki is designed to have workspace based merges.
    William> Monotone didn't handle that when I wrote that stuff (at
    William> least not for conflicts), so I added an extra merge hook
    William> or two to handle that case.

    William> First, the code commits what the user wrote.  If this
    William> leads to multiple heads then the code tries to merge
    William> them.  At that point it uses an external merge-hook that
    William> always fails.  If the internal merge works then
    William> everything is fine.  If then the code detects that as a
    William> conflict.

    William> In the conflict case, the code tries the merge again with
    William> a second merge hook.  The second hook uses the diff-tools
    William> to insert standard conflict markers.  These conflict
    William> markers end up being committed which is not ideal, but
    William> c'est la vie.  The code then updates to the 'conflicted'
    William> revision, and tells ikiwiki to tell the user that the
    William> conflict occurred and so they should be bounced back to
    William> the editor.

I guess what you really need here is a "manual" merge method.

    William> Since I wrote that stuff, I believe that support has been
    William> added to the standard monotone hooks to do some of this.
    William> It may be that the rest could be added to monotone and
    William> the merge-rc-file could go away.

Hmm. Any references?
Brian May <address@hidden>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]