monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] How to apply "automate get_revision" data


From: Brian Downing
Subject: [Monotone-devel] How to apply "automate get_revision" data
Date: Sun, 11 Nov 2007 11:39:55 -0600
User-agent: Thunderbird 2.0.0.6 (X11/20071022)

I was wondering if there is a reliable way to apply the data from "automate get_revision" to transform one revision to the next. I'm toying with a monotone to git converter, which is pretty simple, but "automate get_manifest_of" is painfully, painfully slow. (Around 3/4 second for the OpenEmbedded repository on my machine.)

"automate get_revision" is pretty fast, but consider this example from the monotone repo:

:; mtn -d ../mtn.db automate get_revision 29eaea176b216d91ec7a3ff5bbb1fc7d7d1dcb31
    format_version "1"

    new_manifest [bf7fd7db9ea325d565f95e0dbc863cfb49ef5eb3]

    old_revision [496645dc1befbf3f09f49f90a08165f7da69cbe9]

    delete "unix"

    delete "unix/README"

    delete "unix/read_password.c"

    delete "win32"

    delete "win32/README"

    rename "win32/read_password.c"
        to "win32/read_password.c"

    add_dir "win32"

    add_file "tests/t_attributes.at"
     content [447247a465c30d4866860015fc552be664fdb963]

    ...

I have no idea what order to apply that information to get something sane. Certainly renaming a file (to itself?) after deleting the directory it lives in makes no sense to me. Trying a simple 1:1 mapping to git-fast-import seems doomed to fail, as the first "delete win32" blows the whole thing away, including "win32/read_password.c".

(I realize there is a mtn2git.py in the OE repository, and an OE Git mirror, but I'm mostly just having fun here.)

-bcd





reply via email to

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