# # # patch "NEWS" # from [1e87b8d8f8d9e3829f5b4da06365855ff42e70c9] # to [9ffccb0de7d0575dd3dc5c35b7f9058ed9de0e8b] # # patch "UPGRADE" # from [807ca2751910f5496e94b82c78c64412911b3ab9] # to [1ad00a312e8b35f2f3b65836a79c426c4e1c4963] # ============================================================ --- NEWS 1e87b8d8f8d9e3829f5b4da06365855ff42e70c9 +++ NEWS 9ffccb0de7d0575dd3dc5c35b7f9058ed9de0e8b @@ -1,3 +1,59 @@ +Sun Jan 8 01:08:56 PST 2006 + + 0.26pre1 release. + + This release includes massive changes compared to 0.25; the + core versioning code has all been replaced with a completely + different mechanism. If you have been following the + development list for the last few months, you may have heard + about "rosters" -- this is the name for the new core data + structure we use. While the code is completely different, the + user experience should not be very different. You will never + see a roster, unless you are debugging monotone itself; + everything still revolves around revisions, manifests, and + certs. + + While this new code has extensive tests, it has never been + used for real work. The purpose of this release is to make a + version available for the monotone developers to begin using + for day-to-day work, to shake out bugs. + + Let's say that again in caps: THIS CODE IS PROBABLY BUGGY, DO + NOT USE IT UNLESS YOU WANT TO BE A DAREDEVIL. + + Data formats and the netsync protocol have changed in + incompatible ways. Migration to 0.26pre1 or later is + irreversible and requires a flag day for your project. See + UPGRADE for details. + + Testing of this version on real databases is a good idea, and + we'd very much appreciate hearing about your experiences. + + Some of the many changes: + - New textual format for revisions and manifests. They remain + conceptually the same, but have been tweaked -- manifests + now use the same "basic_io" format as everything else in + monotone, and contain entries for directories, revisions + record file adds slightly differently and record directory + adds for the first time, etc. + - Directories are now first class. To get rid of a directory + you must remove it; to create a directory, you must add it. + You can add an empty directory. + - Attrs are now first class. The .mt-attrs file is gone; + attributes are now stored directly in the manifest. + - New merge algorithm, based on "multi-*-merge". + - And, more aggressive (and less buggy) merge + ancestor selection code + - Netsync's core has been largely rewritten. Code is now much + clearer and reliable (though functionally very similar). + - 100% fewer change_set.cc related bugs. 100% more roster.cc + related bugs. But, the idea of touching roster.cc does not + terrify people. + - Example: if anyone wants to implement merge into + working directory (the interface to merging that most + systems use), this was previously prohibitively + complicated, but is now quite a straightforward task. + Thu Dec 29 23:10:03 PST 2005 0.25 release. ============================================================ --- UPGRADE 807ca2751910f5496e94b82c78c64412911b3ab9 +++ UPGRADE 1ad00a312e8b35f2f3b65836a79c426c4e1c4963 @@ -1,7 +1,34 @@ -upgrading monotone to 0.25 -========================== +upgrading monotone to 0.26pre1 +============================== if you are upgrading from: + - 0.25 or earlier: we have modified the textual format of revisions + and manifests. Your project must rebuild its history; this is + irreversible and creates a flag day. You should probably do some + test migrations locally first to make sure everything seems to be + working, before running your real migration. To run the real + migration: + 1) get everyone to commit and push their changes to the server; + local dbs and working copies will be broken by this + migration. + 2) shut down the server + 3) make a backup copy of the server db + 4) run 'monotone db migrate --db server.db' + 5) run 'monotone db rosterify --db server.db' + 6) do whatever tests you like to make sure things look reasonable + 7) start up the server + 8) tell everyone to do a new pull into a fresh database, using + the new version of monotone. + This migration is "best effort"; bugs in rename handling in the + old code mean that some histories contain bogosities that cannot + be migrated. However, it makes an effort to preserve everything + it can (including renames), and does guarantee that at each + entry in the history graph, the tree layout and file contents are + entirely preserved. + + We tentatively hope that this is the last time we will have to + change the revision/manifest formats and have a flag day of this + magnitude; but only experience will let us know for certain. - 0.23 or earlier: keys are now stored in ~/.monotone/keys (Unix, OS X), or %APPDATA%\Monotone\keys (Windows). You must run 'db migrate' against each of your databases; this will automatically