# # # patch "wiki/AutomateVersions.mdwn" # from [74914913239f9821d71fa06cbeaaf92fca73b2b5] # to [a93ee787c4b84fdd2c20956d49f46882fc743907] # # patch "wiki/BuildingOnMac.mdwn" # from [b1c75da47e68e1f3d729d575931d4ee58e8e3cc3] # to [71088dbe84d0c3322a515f5f15ffcc191e7bb73e] # # patch "wiki/BuildingOnSolaris.mdwn" # from [d3a7cd3c30de67800a3bbb73d51bf7fb209d9a33] # to [d4c7a0a5034510bf782252e7e4d4d69482528d61] # # patch "wiki/BuildingViaPkgsrc.mdwn" # from [09aceaa531044dd52a1adc275f210a978a090bee] # to [579b34dc0daa65483f3b54c039193432ade73ddd] # # patch "wiki/CarrotAndStick.mdwn" # from [53b48bbf0ff9b0cce1935886dfcb4373eff46806] # to [9527245ec14284df791406b136f5079bd29673c9] # # patch "wiki/CaseInsensitiveFilesystems.mdwn" # from [f7991cfdc16726e3afb215f17923aa325000647e] # to [bd8916f43ca6e124bcf0ea3468806f0519b98add] # # patch "wiki/ChangeLog.mdwn" # from [013e254dd7aab96ece36aed1a2ddf0422daa3d5d] # to [215eb2e42385d367ebaf2f453de2bd3f92173cff] # # patch "wiki/CvsImport.mdwn" # from [0fd765c1b1c8fef2aaa756bea0ca92654589b7e2] # to [ac2a4623a55991e3b8e6aa47799ae707cfb218a8] # # patch "wiki/DeltaStorageStrategies/ShootOut.mdwn" # from [34eb102fc8fae2a285b3b7a899657bcd9e400692] # to [a5382988c320cceac94e32ec3d03f4f036f8b8ba] # # patch "wiki/DeltaStorageStrategies.mdwn" # from [0e6d7661ce4f1550e505800881d13e1aa9255458] # to [c26eaa90d7afa2472b6857116907ca3c3b18186e] # # patch "wiki/EssentialMonotone.mdwn" # from [e6b9eb111aebcb39fb5a0111b3011120fb665b40] # to [cd9964973864ddd67c969a320601807cd56259ed] # # patch "wiki/Feature/AccessControl.mdwn" # from [ce765dadf16f3f289013364296c458f780d80842] # to [4d45bc9dc38d5f72ed1a34db16baecd0d7902094] # # patch "wiki/Feature/AtomicCommit.mdwn" # from [b60b0f4396e38379669fbf28e7afa7bda66b919d] # to [931fa961b4ff99b0e040665e4766358522ec39b5] # # patch "wiki/Feature/BuildIntegration.mdwn" # from [df1aa7108c3171250f2c26b93c44c065f398328e] # to [4cc083459da70fd8f60ef8668113e5d1af25c312] # # patch "wiki/Feature/CVSExport.mdwn" # from [263ee61e4e5850d950e452fd0e945a238aa303a3] # to [0a2891d1e9cd7c95fbfa7e7d1dad9570a773ccba] # # patch "wiki/Feature/CVSImport.mdwn" # from [3918a32c2a0d0a0e6ee61766fe568231f4ad6e7a] # to [ba114c25876e6393d28abaaef4433034f8faf3e4] # # patch "wiki/Feature/CommitMail.mdwn" # from [6f022b6df0bbb7539f15ca92d4b83bfee9e28389] # to [6d24f9e7202317d6dd8fa815e024966365f70249] # # patch "wiki/Feature/CompactRepository.mdwn" # from [4f9dec3eaa6f043834b2894b2f39ca3f43b28af1] # to [fed9016ef83f1a00d4ce457f54abf96df05d86f1] # # patch "wiki/Feature/EmbeddedIDs.mdwn" # from [133b885055fd20a8090803a8af78c2497887fa24] # to [177242cf3738ba55028598af7152c34a967a33c4] # # patch "wiki/Feature/Fast.mdwn" # from [1202f67dd88b05c01830361f836ad19fc31348b6] # to [ddcb4d51b220c531393bb031fbbfd540e929a4bd] # # patch "wiki/Feature/LightweightBranches.mdwn" # from [6548744d5457524369f3b4269cb9e50f69b113c3] # to [406bb0c7b73e8335f2fca66ce19559d1d14e04e5] # # patch "wiki/Feature/LogReview.mdwn" # from [bf45c413651b740077dd0ce15e6f2c65998c10e1] # to [7e6481c206deb686215e60266230876b4e1b2e62] # # patch "wiki/Feature/LogTemplates.mdwn" # from [e49772610a2eee73cb83fc48be2f16919c502870] # to [2e08b86269e695fb2938a5347848168eb936cc0e] # # patch "wiki/Feature/MIMEtypes.mdwn" # from [630e06a0031bf117bed7ecf7acd022dc5bf32875] # to [796de7a26cf1de3623a1e00922f05bb76e509860] # # patch "wiki/Feature/Merging.mdwn" # from [1e2fe4a02b799e4102e725d57a7dc2716b9f769e] # to [a9c00ee1a15a8b69b24cd74a8590e536c995e9be] # # patch "wiki/Feature/Mirroring.mdwn" # from [663bac30e2cb2e50c5938c4cf8f1f180d0b94e99] # to [795ed9caf0afb2a877a776a566bc65c86fd6fabb] # # patch "wiki/Feature/NetworkSecurity.mdwn" # from [f104906c3fd3a3877c872960b2df159f18eaa36b] # to [81cd9fdddc114662bfa0ec168cd8c6a7530e3fa0] # # patch "wiki/Feature/Obliterate.mdwn" # from [548b109b7674a5be39d9968307a7571dea0a6faf] # to [9f4267c3df1ba481f2977b566a94f15b87bab672] # # patch "wiki/Feature/Offline.mdwn" # from [e260803c1fd9d6fe94088ae359b34c0f89d2a74c] # to [cb8ab48f39d73d6626e8ebaafcc0cfe4b93565e3] # # patch "wiki/Feature/Portable.mdwn" # from [26e5b90b2cb1866fcc1e6eaefd8a9640b5020f69] # to [b811d4a356fca829c4a34ab62c9a6a73d2cc384c] # # patch "wiki/Feature/Rename.mdwn" # from [7642fb448c2851e1ceecc1dc79a6bdbb1a8201d4] # to [498796ae0f829849057409af410a7785470fb8c2] # # patch "wiki/Feature/RobustRepository.mdwn" # from [9a8058a7311047eea8fc6cf35b2a923f92af6def] # to [55e136d38ac8cc906b26a6a7b82d335dbeb74f04] # # patch "wiki/Feature/SignedRevisions.mdwn" # from [6c2b475d731077742cee25a4bb7efae9ae59f9a3] # to [1c89aa374755dc8372ae9978000e2f4c4db99894] # # patch "wiki/Feature/Symlinks.mdwn" # from [56d7f1fc8d03eebc195f142123ea59dcc0673186] # to [6b73259880642c4ac87a5a2f2cd5ff482cbcf885] # # patch "wiki/Feature/VendorBranches.mdwn" # from [88b88491410894791d57801704c841d47401a172] # to [7b0fbad78e99c31fdb6fc51975afeeede667da57] # # patch "wiki/Feature/WebInterface.mdwn" # from [da974f53c08df447b41655b2cca9acf8e0c25a3e] # to [ccdff67bed480b2517261a16cf085221ff00b81c] # # patch "wiki/FrontPage.mdwn" # from [2929bb2938a9c8f6f5af7d90f4b9cabd9f59eb46] # to [ad6106db355268aca31d777a0f47185937f77d79] # # patch "wiki/FutureCryptography.mdwn" # from [8d42bf2a6a5074e49e01c565cfba99ad994e4112] # to [6688192080db144f2b46722e211aee21d6805c87] # # patch "wiki/Glossary.mdwn" # from [4e0a90d9c32cc11d84d16b60613aad9bbf04a23b] # to [800d6ddeaf839227fab2a187f78bf05caed572af] # # patch "wiki/HistoryBlueSky.mdwn" # from [47b6a874555022540a5920becbdfdc87bf9d90e5] # to [a30f71e21b78ba477f75634e2d1183034a96e513] # # patch "wiki/Hosting.mdwn" # from [7ac4d7f71cca1275b33c306276f101dae9df0727] # to [ae183084b630edcef9f6daa79badf8a04e751e09] # # patch "wiki/I18nL10n.mdwn" # from [c22d1c94f226185f34d371fe2b092a77aea81968] # to [30e4803eef22dc37238fb1be077a867e0db70229] # # patch "wiki/InterfacesFrontendsAndTools.mdwn" # from [4d69b63b1c0872ac3304e0fe30c1ccd05e8b2506] # to [e2e5d0f4966e49589fc43f84711b5c140e21997f] # # patch "wiki/LineEndingMunging.mdwn" # from [740f1fe9b3bebc25b26bf1efdf38d3fa6741e651] # to [0e365a92a60443c2f536f45dda152542472ecd8c] # # patch "wiki/MonotoneOnDebian.mdwn" # from [3b525146728a643011530bdfa9a07fdf26a30160] # to [316868563d1e66015b5332bc11cfc6572bc89204] # # patch "wiki/MtnSummit/2007/Ideas.mdwn" # from [e20faa55f79b7bc856bff2caae779b4fab215c50] # to [bb1082cd76eed8d9e6ed961a2f2b86635ff25dff] # # patch "wiki/MtnSummit/2007/InterestAndDates.mdwn" # from [7e3576c1f5f3bf4c7d4fe235c3b901d2c341058a] # to [ba8392f8568eff44ebe2e339a1d3657306d9bf10] # # patch "wiki/MtnSummit/2007/LogisticsNA.mdwn" # from [c5f13e1df620ff4241a90591a531911499bf2212] # to [1dc7bdeaabdb456345be6b9209483d4f2798874f] # # patch "wiki/MtnSummit/2007.mdwn" # from [3ee9164be0d5af36f5df3dd16c698f2c08e40826] # to [3293ca8c3863a9749d42ffc902c9f4fdc2f46d86] # # patch "wiki/MtnSummit/2008.mdwn" # from [790d0e6815b7fe90e66270f95348fc72e9e9d661] # to [af9ede5d3a97c7d3120ada5adc603c281e231a09] # # patch "wiki/NonMergeConflicts.mdwn" # from [22a27b12d0f4a4287726ba57a5b5ce5c885cca2e] # to [4a80a8af4461f7a28082d2f60ed0e20306f5a396] # # patch "wiki/PartialPull.mdwn" # from [966928a1f7025a4cfbdb3a6d37c536d6589405a9] # to [05eb4c87cd5a4f5c4995cfc289931eeab668d34c] # # patch "wiki/People/JustinPatrin.mdwn" # from [d250a004ac797807a6692f6d49198774bd80dddf] # to [6dda38f33652fce1df493e5d5e8cbf09a1bd0ec5] # # patch "wiki/People/ThomasKeller.mdwn" # from [ee4decb4a0e784bec0b577d123f9c145ba68e272] # to [ccbcae38dcea9390e12b36078fee495dfc974078] # # patch "wiki/People.mdwn" # from [0a29361a5def863731a53a1f2fb1a235f3258975] # to [7532b4a7cd175c62165268a2adcf8be9783cf315] # # patch "wiki/PerformanceWork/SQLiteAnalyzeDiscussion.mdwn" # from [70ea089d45d79bf1d3fc7a542e8da2c3c2754895] # to [744ebc57a02409038d0d79cbf1e77f38532c8f24] # # patch "wiki/ProjectsUsingMonotone.mdwn" # from [bb688fc4ba153655c2b6be7dfbca57e60b4c3cdd] # to [7052e24826408e7c768a53d87d8313a2de1a0f03] # # patch "wiki/QuickieTasks.mdwn" # from [ff377ef329b32d3fbd1a0406888bd633660cc457] # to [dc73681afa314c4b03661db51fe13c8d99c7e1a1] # # patch "wiki/ReleaseBranchPattern.mdwn" # from [a3bf6d339d341bf5bfe0adfb21ddc1b814f2202a] # to [106f65ca6e1015c801912df7abfd294c00217b4a] # # patch "wiki/RostersTodo/MarkAndMergeTests.mdwn" # from [6c653a33ad97cc84b93f2379b97fdb0bc69d0f4a] # to [9cc3e5847ee8db38a7b772aa542e0d1934b6382c] # # patch "wiki/RostersTodo.mdwn" # from [9e9e957eb72542a15ec0d89364cf7c0194c76e20] # to [bedeefc2da76f173cbbdc00bff1e4c46a5f7c79e] # # patch "wiki/SummerOfCode/2006.mdwn" # from [3ff74bae21f5e67242ea3077d5287c07fb790cd2] # to [4599cae36f7d4b0b686b0e354e36482adb9a90ad] # # patch "wiki/SummerOfCode/2007/Ideas.mdwn" # from [cd80484957d2ebcb4130381dc11620ad5b4fa6ad] # to [b9d4f9c5bac4ca68e2512bf000ecf7f10b902bb8] # # patch "wiki/Testimonials.mdwn" # from [3317c70514cfc0ec3e49ffe168533e813dd5aae3] # to [9dfd1492338cfeb6ae268de8dde2a3cd02bc509c] # # patch "wiki/moin2mdwn.sed" # from [b1552b53e20ff73abdb132a72cfac0be4184b96b] # to [09bfd21ee9df68408ec377c6e8578c34b51b3d3d] # ============================================================ --- wiki/AutomateVersions.mdwn 74914913239f9821d71fa06cbeaaf92fca73b2b5 +++ wiki/AutomateVersions.mdwn a93ee787c4b84fdd2c20956d49f46882fc743907 @@ -63,4 +63,4 @@ A = Addition, B = Backwards-compatible c A = Addition, B = Backwards-compatible change, C = Backwards-incompatible change +If you like to get more information about certain command / format changes, please consult [monotone's Automation documentation](http://monotone.ca/docs/Automation.html). -If you like to get more information about certain command / format changes, please consult [http://monotone.ca/docs/Automation.html monotone's Automation documentation]. ============================================================ --- wiki/BuildingOnMac.mdwn b1c75da47e68e1f3d729d575931d4ee58e8e3cc3 +++ wiki/BuildingOnMac.mdwn 71088dbe84d0c3322a515f5f15ffcc191e7bb73e @@ -6,7 +6,7 @@ Monotone's makefile has to be generated Monotone's makefile has to be generated using special GNU tools. Tiger (OS/X 10.4) does not have the required versions of these tools in the standard installation, though XCode 2.4.1 comes with an adequate version of the C++ compiler itself (older XCode versions have been known to be buggy). -One way to get and build the latest versions of GNU tools is to get them from the [http://www.macports.org/ MacPorts (previously known as Darwin Ports)] project. Install the porting application from http://svn.macports.org/repository/macports/downloads/ and it will put a program called "port" into your */opt/local/bin* directory. When you run this program as an administrator, it installs and builds the latest versions of GNU tools into that same directory. +One way to get and build the latest versions of GNU tools is to get them from the [MacPorts (previously known as Darwin Ports)](http://www.macports.org/) project. Install the porting application from http://svn.macports.org/repository/macports/downloads/ and it will put a program called "port" into your */opt/local/bin* directory. When you run this program as an administrator, it installs and builds the latest versions of GNU tools into that same directory. (if */opt/local/bin* is not in your path, you can add it in a terminal shell by typing *PATH=/opt/local/bin:$PATH*) @@ -44,7 +44,7 @@ This will take a while to download. Onc # Using Xcode -The GNU tools do not have an option to generate a .xcodeproj alongside your makefile (the way [http://doc.trolltech.com/4.0/qmake-manual.html Qmake] can). If you're just building, stick with the command line. But if you're going to be doing editing, building, and debugging, you'll probably want to use Xcode, so: +The GNU tools do not have an option to generate a .xcodeproj alongside your makefile (the way [Qmake](http://doc.trolltech.com/4.0/qmake-manual.html) can). If you're just building, stick with the command line. But if you're going to be doing editing, building, and debugging, you'll probably want to use Xcode, so: * create a fresh project * add a new "External Target" and make sure it points to /usr/bin/make @@ -65,7 +65,7 @@ It shouldn't say "" for the add # Things to look out for -* As of 2006-01-22, boost from darwinports is not linked with the correct install_name [http://bugzilla.opendarwin.org/show_bug.cgi?id=5533 (darwinports bug 5533)]. Linking statically should still work, or compile it yourself +* As of 2006-01-22, boost from darwinports is not linked with the correct install_name [(darwinports bug 5533)](http://bugzilla.opendarwin.org/show_bug.cgi?id=5533). Linking statically should still work, or compile it yourself * If you are linking to boost statically and ./configure can't see the libs, try running *ranlib *.a* on the Boost library files to update the archive indexes. ============================================================ --- wiki/BuildingOnSolaris.mdwn d3a7cd3c30de67800a3bbb73d51bf7fb209d9a33 +++ wiki/BuildingOnSolaris.mdwn d4c7a0a5034510bf782252e7e4d4d69482528d61 @@ -7,13 +7,13 @@ If you have some guidelines for gcc, ple # Sun Studio build ## Compiler -The official build environment on Solaris is Sun Studio 10 and 11, of which the latter can be got at no charge on [http://developers.sun.com/prodtech/cc/products/get.html Sun's Website] (not free software). -You'll also need all [http://developers.sun.com/prodtech/cc/downloads/patches/ss11_patches.html available patches] for the compiler for your platform. +The official build environment on Solaris is Sun Studio 10 and 11, of which the latter can be got at no charge on [Sun's Website](http://developers.sun.com/prodtech/cc/products/get.html) (not free software). +You'll also need all [available patches](http://developers.sun.com/prodtech/cc/downloads/patches/ss11_patches.html) for the compiler for your platform. ## Boost If you use Boost 1.34 and Studio 11 with latest patches or Studio 12, no patches are necessary anymore! -For older versions of Boost, you need [http://blogs.sun.com/roller/page/sga some patches] to the boost source itself, as its knowledge of sun studio's features is rather limited. You'll find the patches, as well as build instructions on the right pane on the site. [http://blogs.sun.com/roller/resources/sga/boost_1_32_0.patch Base patch] [http://blogs.sun.com/sga/resource/operations_posix_windows.cpp Additional patch to avoid segfaults in operations on large trees] +For older versions of Boost, you need [some patches](http://blogs.sun.com/roller/page/sga) to the boost source itself, as its knowledge of sun studio's features is rather limited. You'll find the patches, as well as build instructions on the right pane on the site. [http://blogs.sun.com/roller/resources/sga/boost_1_32_0.patch Base patch] [http://blogs.sun.com/sga/resource/operations_posix_windows.cpp Additional patch to avoid segfaults in operations on large trees] ## Compiling You'll need `CXXFLAGS=-library=stlport4 -features=tmplife -features=tmplrefstatic`. Adding `-Qoption ccfe -complextmplexp` might help in case of problems, but the documentation warns that it might produce wrong name mangling (I use it for the packages without any issues, though --PatrickGeorgi). ============================================================ --- wiki/BuildingViaPkgsrc.mdwn 09aceaa531044dd52a1adc275f210a978a090bee +++ wiki/BuildingViaPkgsrc.mdwn 579b34dc0daa65483f3b54c039193432ade73ddd @@ -1,10 +1,10 @@ You can build monotone from source yours [[!tag migration-auto]] You can build monotone from source yourself on a number of platforms, and several pages in the wiki describe the process in some detail for various platforms. Monotone itself is pretty easy to compile, most of the detail on these pages deals with getting the various dependencies (like boost) installed first. You might like to try using pkgsrc to take care of all of these steps for you. # About pkgsrc -The [http://www.netbsd.org/Documentation/software/packages.html pkgsrc framework] supports building third-party application software packages on a large number of platforms. It is the default package management system for [http://www.netbsd.org NetBSD] and [http://www.dragonflybsd.org DragonFlyBSD], and supports many [http://www.netbsd.org/Documentation/software/packages.html#platforms other platforms] as well, including Linux, Solaris, Irix and other Unix variants, and Interix (Microsoft Windows Services for Unix). +The [pkgsrc framework](http://www.netbsd.org/Documentation/software/packages.html) supports building third-party application software packages on a large number of platforms. It is the default package management system for [http://www.netbsd.org NetBSD] and [http://www.dragonflybsd.org DragonFlyBSD], and supports many [http://www.netbsd.org/Documentation/software/packages.html#platforms other platforms] as well, including Linux, Solaris, Irix and other Unix variants, and Interix (Microsoft Windows Services for Unix). If you're having trouble getting monotone for your particular system, either from the binaries provided by the monotone project, or from your platform's default packaging system if it has one, pkgsrc may well help. It might help with a lot of other tools as well! @@ -18,20 +18,20 @@ On other systems, pkgsrc needs to be boo On other systems, pkgsrc needs to be bootstrapped. This process creates the tools used by the pkgsrc infrastructure to build and manage installed packages on your system. Unless you're already on a system very similar to NetBSD, one of these tools is likely to be the NetBSD make, which will be installed as `bmake` to keep it distinct from whatever make variant your platform has by default. On most platforms, you need to use `bmake` when working with pkgsrc Makefiles and packages. -Bootstrapping [http://www.netbsd.org/Documentation/pkgsrc/platforms.html pkgsrc on other platforms] is described in detail in [http://www.netbsd.org/Documentation/pkgsrc/ the pkgsrc guide]. Bootstrapping can be done from source from within a pkgsrc source tree, or using a prebuilt [http://www.netbsd.org/Documentation/software/packages.html#binarydist binary kit]. +Bootstrapping [pkgsrc on other platforms](http://www.netbsd.org/Documentation/pkgsrc/platforms.html) is described in detail in [http://www.netbsd.org/Documentation/pkgsrc/ the pkgsrc guide]. Bootstrapping can be done from source from within a pkgsrc source tree, or using a prebuilt [http://www.netbsd.org/Documentation/software/packages.html#binarydist binary kit]. -After bootstrapping, there are some basic [http://www.netbsd.org/Documentation/pkgsrc/configuring.html configuration ] steps to do (though mostly the defaults will be fine), and then you can use pkgsrc to build and install thousands of useful third-party applications and tools. +After bootstrapping, there are some basic [configuration ](http://www.netbsd.org/Documentation/pkgsrc/configuring.html) steps to do (though mostly the defaults will be fine), and then you can use pkgsrc to build and install thousands of useful third-party applications and tools. # Building monotone -Once you have pkgsrc set up, installing [http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/monotone/README.html the monotone pkg] and its dependencies is easy: +Once you have pkgsrc set up, installing [the monotone pkg](http://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/monotone/README.html) and its dependencies is easy: # cd /usr/pkgsrc/devel/monotone # bmake install There are also packages for many other InterfacesFrontendsAndTools that work with monotone. -NetBSD is known for its broad portability, and strives for the same principle in pkgsrc. However, not all packages build on all platforms (though a surprising and ever-increasing number do), almost always because of underlying portability problems in the third-party software packages and dependencies themselves. Regular *bulk builds* of all packages are done on a number of platforms to catch such problems, but you may be unlucky. If you find a platform where the monotone package doesn't build, please submit a [http://www.netbsd.org/Misc/send-pr.html#submitting bug report] in the pkg category. +NetBSD is known for its broad portability, and strives for the same principle in pkgsrc. However, not all packages build on all platforms (though a surprising and ever-increasing number do), almost always because of underlying portability problems in the third-party software packages and dependencies themselves. Regular *bulk builds* of all packages are done on a number of platforms to catch such problems, but you may be unlucky. If you find a platform where the monotone package doesn't build, please submit a [bug report](http://www.netbsd.org/Misc/send-pr.html#submitting) in the pkg category. # using pkg_chk +Rather than adding and updating packages individually, the [pkg_chk](http://pkgsrc.se/pkgtools/pkg_chk) utility can be used to remember which packages you want installed and keep them up to date. -Rather than adding and updating packages individually, the [http://pkgsrc.se/pkgtools/pkg_chk pkg_chk] utility can be used to remember which packages you want installed and keep them up to date. ============================================================ --- wiki/CarrotAndStick.mdwn 53b48bbf0ff9b0cce1935886dfcb4373eff46806 +++ wiki/CarrotAndStick.mdwn 9527245ec14284df791406b136f5079bd29673c9 @@ -35,7 +35,7 @@ The goal being to have it be as discover # Getting the feedback -It is most convenient if the user does not have to do anything tricky to send feedback. Sending email is kind of hard. Perhaps we could use a HTTP(S) POST? (The [http://www.cs.wisc.edu/cbi/ CBI] folks get away with doing this after every program run. There are some sneaky bits too, like the response to the POST can tell the program to switch to a different URL, or shut down posting altogether -- useful if you want to stop receiving information, ever!) Probably we shouldn't do it every program run. Possibly we should do it after any of the direct feedback commands, and have a command that just sends feedback without prompting for a complaint. It might make sense, if the user has enabled this, to just automatically do the POST whenever our local buffer gets large enough... but if the network is down, this could cause monotone itself to misbehave in a user-visible way, which is bad for a pure feedback mechanism. +It is most convenient if the user does not have to do anything tricky to send feedback. Sending email is kind of hard. Perhaps we could use a HTTP(S) POST? (The [CBI](http://www.cs.wisc.edu/cbi/) folks get away with doing this after every program run. There are some sneaky bits too, like the response to the POST can tell the program to switch to a different URL, or shut down posting altogether -- useful if you want to stop receiving information, ever!) Probably we shouldn't do it every program run. Possibly we should do it after any of the direct feedback commands, and have a command that just sends feedback without prompting for a complaint. It might make sense, if the user has enabled this, to just automatically do the POST whenever our local buffer gets large enough... but if the network is down, this could cause monotone itself to misbehave in a user-visible way, which is bad for a pure feedback mechanism. # Testing ============================================================ --- wiki/CaseInsensitiveFilesystems.mdwn f7991cfdc16726e3afb215f17923aa325000647e +++ wiki/CaseInsensitiveFilesystems.mdwn bd8916f43ca6e124bcf0ea3468806f0519b98add @@ -9,7 +9,7 @@ Discussion: irc logger missed it, but, i * NB: this means that MergeViaWorkingDir needs to account for conflicts involving both versioned and unversioned files. And whatever code detects clobbering of unversioned files needs to figure out whether the file is in fact versioned, just under a different name. * NB: this means we need to be able to handle n-way file name conflicts in the MergeViewWorkingDir machinery. * A user on win32 or osx can do things like: "add Potato.c pOtato.c poTato.c potAto.c potaTo.c potatO.c" and have monotone cheerfully add 6 files. (I assume, have not tested this.) This will not corrupt history (except that they then will not be able to check their tree out unless they switch to a case sensitive filesystem, see previous), but it is certainly surprising and unhelpful. - * Proposed solution: One option is to find out whether the filesystem is case-insensitive (I think the only portable way may be to write out a file to MT/ and then try reading it again using a differently capitalized name?), and then write a chunk of code to make sure added files don't match each other, even with case-folded. This requires that we know the case-folding rules, which in this i18n world is really dubious (e.g., HFS+'s [http://developer.apple.com/technotes/tn/tn1150.html#UnicodeSubtleties rules] are guided by unicode but only fully specified by HFS+ itself). For another option, see below. + * Proposed solution: One option is to find out whether the filesystem is case-insensitive (I think the only portable way may be to write out a file to MT/ and then try reading it again using a differently capitalized name?), and then write a chunk of code to make sure added files don't match each other, even with case-folded. This requires that we know the case-folding rules, which in this i18n world is really dubious (e.g., HFS+'s [rules](http://developer.apple.com/technotes/tn/tn1150.html#UnicodeSubtleties) are guided by unicode but only fully specified by HFS+ itself). For another option, see below. * "monotone add potato.c" when the file on disk is named Potato.c --> should make sure that this ends up adding Potato.c, not potato.c. (This might solve previous automatically.) * More generally, users of these filesystems expect not to have to be careful about case when specifying commands. So, for instance, "monotone revert potato.c" -> "error: no such file" -- "but it's right there! stupid program". This applies to all commands that take filename arguments -- all restrictions, etc. * Proposed solution: ? ============================================================ --- wiki/ChangeLog.mdwn 013e254dd7aab96ece36aed1a2ddf0422daa3d5d +++ wiki/ChangeLog.mdwn 215eb2e42385d367ebaf2f453de2bd3f92173cff @@ -1,6 +1,6 @@ [[!tag migration-auto]] -This is a first little piece of emacs-code, to achieve the task of writing log messages to `_MTN/log` instead of `ChangeLog` if appropriate. (Note that [http://download.gna.org/dvc/ DVC] already includes a similar feature, bound to C-x V a by default.) +This is a first little piece of emacs-code, to achieve the task of writing log messages to `_MTN/log` instead of `ChangeLog` if appropriate. (Note that [DVC](http://download.gna.org/dvc/) already includes a similar feature, bound to C-x V a by default.) Look at the source for a way to use it. From now on use `mtn-add-change-log-entry` instead of `add-change-log-entry`. `mtn-add-change-log-entry` will try do the right thing. ============================================================ --- wiki/CvsImport.mdwn 0fd765c1b1c8fef2aaa756bea0ca92654589b7e2 +++ wiki/CvsImport.mdwn ac2a4623a55991e3b8e6aa47799ae707cfb218a8 @@ -1,8 +1,8 @@ [[!tag migration-auto]] # Importing CVS repositories with Graph Based Algorithms -The cvs2svn people, mainly Michael Haggerty have come up with a new algorithm (see his [http://cvs2svn.tigris.org/servlets/ReadMsg?list=dev&msgNo=1451 mail]) for cvs2svn 2.0, which is based on [http://en.wikipedia.org/wiki/Graph_theory GraphTheory]. In the branch net.venge.monotone.cvsimport-branch-reconstruction, MarkusSchiltknecht maintains an implementation in C++, with some monotone specific modifications. +The cvs2svn people, mainly Michael Haggerty have come up with a new algorithm (see his [mail](http://cvs2svn.tigris.org/servlets/ReadMsg?list=dev&msgNo=1451)) for cvs2svn 2.0, which is based on [http://en.wikipedia.org/wiki/Graph_theory GraphTheory]. In the branch net.venge.monotone.cvsimport-branch-reconstruction, MarkusSchiltknecht maintains an implementation in C++, with some monotone specific modifications. ## Overview @@ -67,12 +67,12 @@ Involving cycles with branch starts: Involving cycles with branch starts: - * [http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.all.1.png all the graph before modifications] - * [http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.splitter.2.png all first cycle encountered] - * [http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.no-weak.3.png all no more cycles, w/o weak deps] - * [http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.splitter.4.png all streamlining 1] - * [http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.splitter.5.png all streamlining 2] - * [http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.all.6.png final graph, importable by monotone] + * [all the graph before modifications](http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.all.1.png) + * [all first cycle encountered](http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.splitter.2.png) + * [all no more cycles, w/o weak deps](http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.no-weak.3.png) + * [all streamlining 1](http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.splitter.4.png) + * [all streamlining 2](http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.splitter.5.png) + * [final graph, importable by monotone](http://www.bluegap.ch/samples/importing_cvs_cycle_splitter3/cvs_graph.all.6.png) ## Real World test repositories, and how they are currently failing ============================================================ --- wiki/DeltaStorageStrategies/ShootOut.mdwn 34eb102fc8fae2a285b3b7a899657bcd9e400692 +++ wiki/DeltaStorageStrategies/ShootOut.mdwn a5382988c320cceac94e32ec3d03f4f036f8b8ba @@ -13,7 +13,7 @@ All candidates should run with blob supp * against-base * linear forward chaining * linear forward chaining with skips or breaks - * classic [http://www.selenic.com/mercurial/wiki/index.cgi/Design#head-ef542bce2b68f24d275e7908636317491f678648 revlogs] ("classic" in that cmason is doing [http://thread.gmane.org/gmane.comp.version-control.mercurial.devel/5407 a bunch of playing around] with different sorts of revlogs right now too; not in the sense that we use *exactly* this design, since for the prototype at least we're doing a few tricks differently) + * classic [revlogs](http://www.selenic.com/mercurial/wiki/index.cgi/Design#head-ef542bce2b68f24d275e7908636317491f678648) ("classic" in that cmason is doing [http://thread.gmane.org/gmane.comp.version-control.mercurial.devel/5407 a bunch of playing around] with different sorts of revlogs right now too; not in the sense that we use *exactly* this design, since for the prototype at least we're doing a few tricks differently) A big question is how much tuning should be done on these. The goal is to get an idea of how the technique would perform in a "proper implementation", but without spending ages of time super-optimizing each possibility before we even know if it's worth it or not. So we should do the things that would seem to make a qualitative difference. E.g., it's probably worth making sure that netsync is smart enough to avoid reconstructing versions when actually unnecessary. ============================================================ --- wiki/DeltaStorageStrategies.mdwn 0e6d7661ce4f1550e505800881d13e1aa9255458 +++ wiki/DeltaStorageStrategies.mdwn c26eaa90d7afa2472b6857116907ca3c3b18186e @@ -8,7 +8,7 @@ Here are some of the known ways one *cou * forwards linear-chained deltas with occasional full-text breaks * forwards deterministic skip-deltas (like svn) * forwards/backwards randomized skip-deltas (like classical skip-lists) - * single base plus many deltas against it -- i.e., store a->b->c->d as (a, a->b, a->c, a->d), creating a new base as deltas grow. these pretty much have to be forwards deltas. (D. Richard Hipp, "XDFS-f" in [http://xmailserver.org/xdfs.pdf Josh MacDonald's masters thesis] (who cites Burns and Long)) + * single base plus many deltas against it -- i.e., store a->b->c->d as (a, a->b, a->c, a->d), creating a new base as deltas grow. these pretty much have to be forwards deltas. (D. Richard Hipp, "XDFS-f" in [Josh MacDonald's masters thesis](http://xmailserver.org/xdfs.pdf) (who cites Burns and Long)) * whatever it is git uses to find similar items -- sorting by size or something? * tree-structured storage -- using the inexplicably-not-well-known trick for storing strings as trees, one can share subtrees. Josh cites EXODUS and SDS2 (see 2.2 of the thesis) as using this trick, and there are some other interesting cites in the same section. * several of these mechanisms can be applied either to a forced-linear history (like hg uses), or allowing forks (and merges?) to appear in the reconstruction graph. Josh actually claims that that forced-linear time ordering gave him smaller deltas than RCS-style-topology branched deltas, on his test case (FreeBSD CVS history -- I guess they must have a lot of bug-fixes applied to multiple branches or the like?). @@ -20,7 +20,7 @@ Josh also reminds us that it's possible Josh also reminds us that it's possible to use extent-style tricks to efficiently combine (and maybe even invert?) delta chains, which can be useful if you have some deltas on disk and you want some different deltas to send over the network or whatever. -[http://www.almaden.ibm.com/projects/data/storagesystems/iopads97.pdf Efficient Distributed Backup with Delta Compression (Burns & Long, 1997)] has some analysis of forward vs reverse vs against-base delta performance. +[Efficient Distributed Backup with Delta Compression (Burns & Long, 1997)](http://www.almaden.ibm.com/projects/data/storagesystems/iopads97.pdf) has some analysis of forward vs reverse vs against-base delta performance. Chaining, skip-deltas, and against-base all seem to be special cases of some more general family of algorithms -- they're all trying to pick some rule that will balance compression against reconstruction cost. Surely none of these particular three points are at the global optimum of the fitness function for this class? And I observe that the competing variables we want to optimize for are simple to measure as we go on the actual data we're trying to store... (i.e., we can in principle calculate how many seeks, how many bytes, etc., we are using, and make decisions based on that.) @@ -48,7 +48,7 @@ To counteract increased netsync traffic To counteract increased netsync traffic using against-base deltas, applying zlib to the entire stream (rather than per-packet) seems to make against-base deltas comparable to linear deltas. (I think this requires the assumption that we send related deltas together at netsync time, i.e. sort by file.) -See the au.asn.ucc.matt.monotone.test-deltas branch in the main venge.net repository for a test script and [http://matt.ucc.asn.au/monotone/delta-screenshot.txt sample output]. +See the au.asn.ucc.matt.monotone.test-deltas branch in the main venge.net repository for a test script and [sample output](http://matt.ucc.asn.au/monotone/delta-screenshot.txt). ## Size comparison for against-base deltas ============================================================ --- wiki/EssentialMonotone.mdwn e6b9eb111aebcb39fb5a0111b3011120fb665b40 +++ wiki/EssentialMonotone.mdwn cd9964973864ddd67c969a320601807cd56259ed @@ -14,7 +14,7 @@ For read-only/"anonymous" tracking of an `mtn pull && monotone up`: pull latest source and update working copy - See [http://venge.net/monotone/self-hosting.html Self Hosting] for further details on doing this for monotone itself. + See [Self Hosting](http://venge.net/monotone/self-hosting.html) for further details on doing this for monotone itself. For contributing: ============================================================ --- wiki/Feature/AccessControl.mdwn ce765dadf16f3f289013364296c458f780d80842 +++ wiki/Feature/AccessControl.mdwn 4d45bc9dc38d5f72ed1a34db16baecd0d7902094 @@ -24,8 +24,8 @@ Manual and Tutorial Sections: Manual and Tutorial Sections: * TrustFoundations and UsingCerts - * [http://venge.net/monotone/monotone.html#Hooks Trust Evaluation Hooks] - * [http://venge.net/monotone/monotone.html#Hooks Netsync Permission Hooks] + * [Trust Evaluation Hooks](http://venge.net/monotone/monotone.html#Hooks) + * [Netsync Permission Hooks](http://venge.net/monotone/monotone.html#Hooks) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureACL](http://wikitest.freebsd.org/VCSFeatureACL) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureACL VCSFeatureACL] ============================================================ --- wiki/Feature/AtomicCommit.mdwn b60b0f4396e38379669fbf28e7afa7bda66b919d +++ wiki/Feature/AtomicCommit.mdwn 931fa961b4ff99b0e040665e4766358522ec39b5 @@ -21,8 +21,8 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Dealing-with-a-Fork Dealing with a Fork] + * [Dealing with a Fork](http://venge.net/monotone/monotone.html#Dealing-with-a-Fork) * CommitEarlyCommitOften Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureAtomicCommit](http://wikitest.freebsd.org/VCSFeatureAtomicCommit) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureAtomicCommit VCSFeatureAtomicCommit] ============================================================ --- wiki/Feature/BuildIntegration.mdwn df1aa7108c3171250f2c26b93c44c065f398328e +++ wiki/Feature/BuildIntegration.mdwn 4cc083459da70fd8f60ef8668113e5d1af25c312 @@ -16,7 +16,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Quality-Assurance Quality Assurance] + * [Quality Assurance](http://venge.net/monotone/monotone.html#Quality-Assurance) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureTinderbox](http://wikitest.freebsd.org/VCSFeatureTinderbox) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureTinderbox VCSFeatureTinderbox] ============================================================ --- wiki/Feature/CVSExport.mdwn 263ee61e4e5850d950e452fd0e945a238aa303a3 +++ wiki/Feature/CVSExport.mdwn 0a2891d1e9cd7c95fbfa7e7d1dad9570a773ccba @@ -17,4 +17,4 @@ Features and Requirements in other evalu # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureCVSExport](http://wikitest.freebsd.org/VCSFeatureCVSExport) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureCVSExport VCSFeatureCVSExport] ============================================================ --- wiki/Feature/CVSImport.mdwn 3918a32c2a0d0a0e6ee61766fe568231f4ad6e7a +++ wiki/Feature/CVSImport.mdwn ba114c25876e6393d28abaaef4433034f8faf3e4 @@ -22,7 +22,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Importing-from-CVS Importing from CVS] + * [Importing from CVS](http://venge.net/monotone/monotone.html#Importing-from-CVS) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureCVSImport](http://wikitest.freebsd.org/VCSFeatureCVSImport) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureCVSImport VCSFeatureCVSImport] ============================================================ --- wiki/Feature/CommitMail.mdwn 6f022b6df0bbb7539f15ca92d4b83bfee9e28389 +++ wiki/Feature/CommitMail.mdwn 6d24f9e7202317d6dd8fa815e024966365f70249 @@ -10,12 +10,12 @@ Monotone supports this and many similar Monotone supports this and many similar kinds of actions and triggers via hooks. -There is a hook that can be invoked on commit, but this will run on the individual developer's machine where the commit is done offline. It would be more usual to generate these messages instead when the committed revisions arrive via netsync at a convenient public server (see MasterRepository) with the appropriate email infrastructure. Monotone also includes a hook implementation for emitting events to [http://cia.navi.cx/stats/project/monotone CIA], from where the notifications can also be sent to IRC channels and RSS feeds. +There is a hook that can be invoked on commit, but this will run on the individual developer's machine where the commit is done offline. It would be more usual to generate these messages instead when the committed revisions arrive via netsync at a convenient public server (see MasterRepository) with the appropriate email infrastructure. Monotone also includes a hook implementation for emitting events to [CIA](http://cia.navi.cx/stats/project/monotone), from where the notifications can also be sent to IRC channels and RSS feeds. # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Hooks Event Notification Hooks] + * [Event Notification Hooks](http://venge.net/monotone/monotone.html#Hooks) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureCommitMail](http://wikitest.freebsd.org/VCSFeatureCommitMail) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureCommitMail VCSFeatureCommitMail] ============================================================ --- wiki/Feature/CompactRepository.mdwn 4f9dec3eaa6f043834b2894b2f39ca3f43b28af1 +++ wiki/Feature/CompactRepository.mdwn fed9016ef83f1a00d4ce457f54abf96df05d86f1 @@ -10,7 +10,7 @@ Monotone compresses file and delta stora Monotone compresses file and delta storage with gzip before writing to the database. For typical source file content and large projects with long histories, the resulting database file is usually similar or smaller than the corresponding CVS `,v` files. Storage size has not been a particularly strong development focus, and some information is stored uncompressed for fast indexing and searching. Further efforts at more compact storage forms could be made, but are not considered particularly important for size results alone at this stage given the already good results - such changes may happen in the course of making performance or other improvements as well. -Monotone's storage format is also very convenient: it is a single [http://www.sqlite.org SQLite] database file (by convention with a `.mtn` extension). There are no trees of history files consuming inodes in hidden/dot directories scattered throughout the workspace. One database can be shared between many workspaces on the same machine, so there is no need to duplicate the history storage when working on several independent changes or along several different branches, each in their own workspace. Each workspace has a single `_MTN` metadata directory at the root, with a handful of small files, one of which includes a reference to the database to use for operations within the workspace. +Monotone's storage format is also very convenient: it is a single [SQLite](http://www.sqlite.org) database file (by convention with a `.mtn` extension). There are no trees of history files consuming inodes in hidden/dot directories scattered throughout the workspace. One database can be shared between many workspaces on the same machine, so there is no need to duplicate the history storage when working on several independent changes or along several different branches, each in their own workspace. Each workspace has a single `_MTN` metadata directory at the root, with a handful of small files, one of which includes a reference to the database to use for operations within the workspace. A number of useful and important operations can be performed on the database file without *any* workspace, so long as arguments normally inherited from the workspace are provided explicitly: network `sync` operations, branching and merging, diffs between revisions, log review, and others. @@ -35,7 +35,7 @@ Manual and Tutorial Sections: Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Database Database Commands] + * [Database Commands](http://venge.net/monotone/monotone.html#Database) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureGoodRepositoryFormat](http://wikitest.freebsd.org/VCSFeatureGoodRepositoryFormat) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureGoodRepositoryFormat VCSFeatureGoodRepositoryFormat] ============================================================ --- wiki/Feature/EmbeddedIDs.mdwn 133b885055fd20a8090803a8af78c2497887fa24 +++ wiki/Feature/EmbeddedIDs.mdwn 177242cf3738ba55028598af7152c34a967a33c4 @@ -17,4 +17,4 @@ Features and Requirements in other evalu # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureDollarFreeBSD](http://wikitest.freebsd.org/VCSFeatureDollarFreeBSD) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureDollarFreeBSD VCSFeatureDollarFreeBSD] ============================================================ --- wiki/Feature/Fast.mdwn 1202f67dd88b05c01830361f836ad19fc31348b6 +++ wiki/Feature/Fast.mdwn ddcb4d51b220c531393bb031fbbfd540e929a4bd @@ -24,7 +24,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Inodeprints Inodeprints] + * [Inodeprints](http://venge.net/monotone/monotone.html#Inodeprints) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureFast](http://wikitest.freebsd.org/VCSFeatureFast) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureFast VCSFeatureFast] ============================================================ --- wiki/Feature/LightweightBranches.mdwn 6548744d5457524369f3b4269cb9e50f69b113c3 +++ wiki/Feature/LightweightBranches.mdwn 406bb0c7b73e8335f2fca66ce19559d1d14e04e5 @@ -23,7 +23,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Branching-and-Merging Branching and Merging] + * [Branching and Merging](http://venge.net/monotone/monotone.html#Branching-and-Merging) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureBranch](http://wikitest.freebsd.org/VCSFeatureBranch) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureBranch VCSFeatureBranch] ============================================================ --- wiki/Feature/LogReview.mdwn bf45c413651b740077dd0ce15e6f2c65998c10e1 +++ wiki/Feature/LogReview.mdwn 7e6481c206deb686215e60266230876b4e1b2e62 @@ -19,7 +19,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Hooks ValidationHooks] + * [ValidationHooks](http://venge.net/monotone/monotone.html#Hooks) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureLogReview](http://wikitest.freebsd.org/VCSFeatureLogReview). Note that the example given talks about "approved by: re" messages. While these might be appropriate in logs too, monotone has much more extensive and flexible mechanisms to handle approval of revisions for particular purposes and branches. See TrustFoundations and FeatureAccessControl. - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureLogReview VCSFeatureLogReview]. Note that the example given talks about "approved by: re" messages. While these might be appropriate in logs too, monotone has much more extensive and flexible mechanisms to handle approval of revisions for particular purposes and branches. See TrustFoundations and FeatureAccessControl. ============================================================ --- wiki/Feature/LogTemplates.mdwn e49772610a2eee73cb83fc48be2f16919c502870 +++ wiki/Feature/LogTemplates.mdwn 2e08b86269e695fb2938a5347848168eb936cc0e @@ -15,4 +15,4 @@ Features and Requirements in other evalu # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureLogTemplates](http://wikitest.freebsd.org/VCSFeatureLogTemplates) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureLogTemplates VCSFeatureLogTemplates] ============================================================ --- wiki/Feature/MIMEtypes.mdwn 630e06a0031bf117bed7ecf7acd022dc5bf32875 +++ wiki/Feature/MIMEtypes.mdwn 796de7a26cf1de3623a1e00922f05bb76e509860 @@ -18,8 +18,8 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#File-Attributes File Attributes] - * [http://venge.net/monotone/monotone.html#Hooks Hooks: Attribute Handling] + * [File Attributes](http://venge.net/monotone/monotone.html#File-Attributes) + * [Hooks: Attribute Handling](http://venge.net/monotone/monotone.html#Hooks) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureMIMEType](http://wikitest.freebsd.org/VCSFeatureMIMEType) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureMIMEType VCSFeatureMIMEType] ============================================================ --- wiki/Feature/Merging.mdwn 1e2fe4a02b799e4102e725d57a7dc2716b9f769e +++ wiki/Feature/Merging.mdwn a9c00ee1a15a8b69b24cd74a8590e536c995e9be @@ -31,8 +31,8 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Branching-and-Merging Branching and Merging] + * [Branching and Merging](http://venge.net/monotone/monotone.html#Branching-and-Merging) * DaggyFixes and ZipperMerge Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureMerging](http://wikitest.freebsd.org/VCSFeatureMerging) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureMerging VCSFeatureMerging] ============================================================ --- wiki/Feature/Mirroring.mdwn 663bac30e2cb2e50c5938c4cf8f1f180d0b94e99 +++ wiki/Feature/Mirroring.mdwn 795ed9caf0afb2a877a776a566bc65c86fd6fabb @@ -27,7 +27,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Network-Service-Revisited Network Service Revisited] + * [Network Service Revisited](http://venge.net/monotone/monotone.html#Network-Service-Revisited) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureMirroring](http://wikitest.freebsd.org/VCSFeatureMirroring) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureMirroring VCSFeatureMirroring] ============================================================ --- wiki/Feature/NetworkSecurity.mdwn f104906c3fd3a3877c872960b2df159f18eaa36b +++ wiki/Feature/NetworkSecurity.mdwn 81cd9fdddc114662bfa0ec168cd8c6a7530e3fa0 @@ -21,7 +21,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Basic-Network-Service Basic Network Service] + * [Basic Network Service](http://venge.net/monotone/monotone.html#Basic-Network-Service) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureNetworkSecure](http://wikitest.freebsd.org/VCSFeatureNetworkSecure) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureNetworkSecure VCSFeatureNetworkSecure] ============================================================ --- wiki/Feature/Obliterate.mdwn 548b109b7674a5be39d9968307a7571dea0a6faf +++ wiki/Feature/Obliterate.mdwn 9f4267c3df1ba481f2977b566a94f15b87bab672 @@ -32,4 +32,4 @@ Features and Requirements in other evalu # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureObliterate](http://wikitest.freebsd.org/VCSFeatureObliterate) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureObliterate VCSFeatureObliterate] ============================================================ --- wiki/Feature/Offline.mdwn e260803c1fd9d6fe94088ae359b34c0f89d2a74c +++ wiki/Feature/Offline.mdwn cb8ab48f39d73d6626e8ebaafcc0cfe4b93565e3 @@ -27,7 +27,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Storage-and-workflow Storage and workflow] + * [Storage and workflow](http://venge.net/monotone/monotone.html#Storage-and-workflow) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureOffline](http://wikitest.freebsd.org/VCSFeatureOffline) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureOffline VCSFeatureOffline] ============================================================ --- wiki/Feature/Portable.mdwn 26e5b90b2cb1866fcc1e6eaefd8a9640b5020f69 +++ wiki/Feature/Portable.mdwn b811d4a356fca829c4a34ab62c9a6a73d2cc384c @@ -14,4 +14,4 @@ Features and Requirements in other evalu Features and Requirements in other evaluations: + * FreeBSD [VCSFeaturePortable](http://wikitest.freebsd.org/VCSFeaturePortable) - * FreeBSD [http://wikitest.freebsd.org/VCSFeaturePortable VCSFeaturePortable] ============================================================ --- wiki/Feature/Rename.mdwn 7642fb448c2851e1ceecc1dc79a6bdbb1a8201d4 +++ wiki/Feature/Rename.mdwn 498796ae0f829849057409af410a7785470fb8c2 @@ -22,7 +22,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#SectionName Manual Section Name] + * [Manual Section Name](http://venge.net/monotone/monotone.html#SectionName) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureRename](http://wikitest.freebsd.org/VCSFeatureRename) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureRename VCSFeatureRename] ============================================================ --- wiki/Feature/RobustRepository.mdwn 9a8058a7311047eea8fc6cf35b2a923f92af6def +++ wiki/Feature/RobustRepository.mdwn 55e136d38ac8cc906b26a6a7b82d335dbeb74f04 @@ -8,7 +8,7 @@ The repository storage format should be # Supported -Monotone's repository is stored in an ACID-compliant [http://www.sqlite.org SQLite] database file. All monotone operations that write to the database occur inside transactions, and so either happen completely or not at all. This includes not only normal VCS operations, but also administrative actions such as database schema upgrades that may occur from time to time as monotone develops. +Monotone's repository is stored in an ACID-compliant [SQLite](http://www.sqlite.org) database file. All monotone operations that write to the database occur inside transactions, and so either happen completely or not at all. This includes not only normal VCS operations, but also administrative actions such as database schema upgrades that may occur from time to time as monotone develops. Monotone is almost fanatically pedantic and paranoid about internal consistency checking, and has a strict policy of failing early. If any problems are detected during an operation, monotone will abort rather than risking committing bad information to the database. This is a very particular kind of robustness that favours historical integrity over user perceptions where abrupt errors are triggered. These events are generally fairly rare, and always of interest to the developers, even if it means that a more user-friendly error message needs to be emitted. @@ -25,7 +25,7 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Database Database Commands] + * [Database Commands](http://venge.net/monotone/monotone.html#Database) Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureGoodRepositoryFormat](http://wikitest.freebsd.org/VCSFeatureGoodRepositoryFormat) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureGoodRepositoryFormat VCSFeatureGoodRepositoryFormat] ============================================================ --- wiki/Feature/SignedRevisions.mdwn 6c2b475d731077742cee25a4bb7efae9ae59f9a3 +++ wiki/Feature/SignedRevisions.mdwn 1c89aa374755dc8372ae9978000e2f4c4db99894 @@ -21,8 +21,8 @@ Manual and Tutorial Sections: # Further Reference Manual and Tutorial Sections: - * [http://venge.net/monotone/monotone.html#Certificates Certificates] + * [Certificates](http://venge.net/monotone/monotone.html#Certificates) * TrustFoundations and UsingCerts Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureSign](http://wikitest.freebsd.org/VCSFeatureSign) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureSign VCSFeatureSign] ============================================================ --- wiki/Feature/Symlinks.mdwn 56d7f1fc8d03eebc195f142123ea59dcc0673186 +++ wiki/Feature/Symlinks.mdwn 6b73259880642c4ac87a5a2f2cd5ff482cbcf885 @@ -17,4 +17,4 @@ Features and Requirements in other evalu # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureSymlinks](http://wikitest.freebsd.org/VCSFeatureSymlinks) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureSymlinks VCSFeatureSymlinks] ============================================================ --- wiki/Feature/VendorBranches.mdwn 88b88491410894791d57801704c841d47401a172 +++ wiki/Feature/VendorBranches.mdwn 7b0fbad78e99c31fdb6fc51975afeeede667da57 @@ -21,4 +21,4 @@ Features and Requirements in other evalu # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureVendorBranches](http://wikitest.freebsd.org/VCSFeatureVendorBranches) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureVendorBranches VCSFeatureVendorBranches] ============================================================ --- wiki/Feature/WebInterface.mdwn da974f53c08df447b41655b2cca9acf8e0c25a3e +++ wiki/Feature/WebInterface.mdwn ccdff67bed480b2517261a16cf085221ff00b81c @@ -8,17 +8,17 @@ A web-based interface should allow for e # Supported -There are a number of InterfacesFrontendsAndTools that work with monotone, including several web-based ones. Monotone's own sources can be browsed using [http://grahame.angrygoats.net/viewmtn.shtml ViewMTN], and there is also a [http://www.ipd.uni-karlsruhe.de/~moschny/TracMonotone/ Trac plugin] under development. +There are a number of InterfacesFrontendsAndTools that work with monotone, including several web-based ones. Monotone's own sources can be browsed using [ViewMTN](http://grahame.angrygoats.net/viewmtn.shtml), and there is also a [http://www.ipd.uni-karlsruhe.de/~moschny/TracMonotone/ Trac plugin] under development. # Example Usage - * [http://viewmtn.angrygoats.net/branch.psp?branch=net.venge.monotone Recent monotone activity, via ViewMTN] - * [http://viewmtn.angrygoats.net/headofbranch.psp?branch=net.venge.monotone Current monotone HEAD revision] - * [http://trac.h975245.serverkompetenz.net/ Trac-monotone demonstration] - * [http://cia.navi.cx/stats/project/monotone Recent monotone activity, via CIA] + * [Recent monotone activity, via ViewMTN](http://viewmtn.angrygoats.net/branch.psp?branch=net.venge.monotone) + * [Current monotone HEAD revision](http://viewmtn.angrygoats.net/headofbranch.psp?branch=net.venge.monotone) + * [Trac-monotone demonstration](http://trac.h975245.serverkompetenz.net/) + * [Recent monotone activity, via CIA](http://cia.navi.cx/stats/project/monotone) # Further Reference Features and Requirements in other evaluations: + * FreeBSD [VCSFeatureWebInterface](http://wikitest.freebsd.org/VCSFeatureWebInterface) - * FreeBSD [http://wikitest.freebsd.org/VCSFeatureWebInterface VCSFeatureWebInterface] ============================================================ --- wiki/FrontPage.mdwn 2929bb2938a9c8f6f5af7d90f4b9cabd9f59eb46 +++ wiki/FrontPage.mdwn ad6106db355268aca31d777a0f47185937f77d79 @@ -31,7 +31,7 @@ a useful collection of brokenlinks at [[ ### Using Monotone * [[InterfacesFrontendsAndTools]] -- other programs that work with monotone * [[EssentialMonotone]] -- the minimal commands needed to get anything done - * [[AlternativeOverview]] -- a different order than the [http://venge.net/monotone/docs/Tutorial.html Tutorial] for introducing monotone capabilites + * [[AlternativeOverview]] -- a different order than the [Tutorial](http://venge.net/monotone/docs/Tutorial.html) for introducing monotone capabilites * [[BestPractices]] -- best practices for using monotone * [[MasterRepository]] -- Master Repositories you might be used to with a centralised VCS, and why you don't need one with monotone. * [[MonotoneAndCVS]] -- different ways of working with CVS and monotone. ============================================================ --- wiki/FutureCryptography.mdwn 8d42bf2a6a5074e49e01c565cfba99ad994e4112 +++ wiki/FutureCryptography.mdwn 6688192080db144f2b46722e211aee21d6805c87 @@ -8,7 +8,7 @@ SHA-1, the hash function on which everyt SHA-1, the hash function on which everything in Monotone depends, has been broken. Eighteen months ago, Jon Callas of PGP described the state of SHA-1 thus: "It's time to walk, but not run, to the fire exits. You don't see smoke, but the fire alarms have gone off." It's time we picked up the pace of our move towards the exits. Bruce Schneier is predicting [http://www.schneier.com/blog/archives/2007/02/a_new_secure_ha.html] that there will be a live collision by the end of 2007. This will immediately mean that it's possible for someone to arrange for two different revisions to have the same hash, with consequences I haven't analyzed; more generally, it will put a cloud over the perception of Monotone's security, even though in practice a collision is considerably less damaging than a second preimage attack. -NIST have started the process of agreeing a new hash standard in an AES-like process. This standard will be the AES-like gold standard of hash algorithms; I suspect it will also be considerably faster than existing hash functions, closer to PANAMA-like speeds than SHA-1 speeds [http://www.cryptopp.com/benchmarks.html]. Unfortunately it will not be agreed until 2012 [http://csrc.nist.gov/pki/HashWorkshop/timeline.html] and we can't wait that long. The obvious interim standard is SHA-256, which seems to have as much confidence as any hash function at the moment, and which is only a little slower than SHA-1. +NIST have started the process of agreeing a new hash standard in an AES-like process. This standard will be the AES-like gold standard of hash algorithms; I suspect it will also be considerably faster than existing hash functions, closer to PANAMA-like speeds than SHA-1 speeds [ Unfortunately it will not be agreed until 2012 [http://csrc.nist.gov/pki/HashWorkshop/timeline.html](http://www.cryptopp.com/benchmarks.html].) and we can't wait that long. The obvious interim standard is SHA-256, which seems to have as much confidence as any hash function at the moment, and which is only a little slower than SHA-1. Should Monotone migrate to supporting more than one hash function? ============================================================ --- wiki/Glossary.mdwn 4e0a90d9c32cc11d84d16b60613aad9bbf04a23b +++ wiki/Glossary.mdwn 800d6ddeaf839227fab2a187f78bf05caed572af @@ -1,6 +1,6 @@ [[!tag migration-auto]] -*This page gives definitions for some of the technical terms and phrases you might come across in the advanced sections of the [http://www.venge.net/monotone/monotone.html manual], on the [http://lists.nongnu.org/mailman/listinfo/monotone-devel monotone list], or in this Wiki.* +*This page gives definitions for some of the technical terms and phrases you might come across in the advanced sections of the [manual](http://www.venge.net/monotone/monotone.html), on the [http://lists.nongnu.org/mailman/listinfo/monotone-devel monotone list], or in this Wiki.* [[Anchor(Cert)]] Certificate:: (Normally: "Cert".) A note made against a revision. Certificates are used internally by Monotone - for example, to represent branches and to store the ID of the person committing a change - but can also be added manually by users. ============================================================ --- wiki/HistoryBlueSky.mdwn 47b6a874555022540a5920becbdfdc87bf9d90e5 +++ wiki/HistoryBlueSky.mdwn a30f71e21b78ba477f75634e2d1183034a96e513 @@ -1,10 +1,10 @@ Space-age things that would be cool to s [[!tag migration-auto]] Space-age things that would be cool to support in our history representation (though not strictly necessary): # Suturing -**Use case:** Melding together trees that were separately imported. For instance, PeterSimons (used to?) use monotone to manage his [http://autoconf-archive.cryp.to/ unified autoconf archive] -- there are several sites that collect autoconf macros, and he imports each into a "vendor branch", and then merges them all on top of each other. As each site updates the various macros in random ways, one can continue to propagate them together. +**Use case:** Melding together trees that were separately imported. For instance, PeterSimons (used to?) use monotone to manage his [unified autoconf archive](http://autoconf-archive.cryp.to/) -- there are several sites that collect autoconf macros, and he imports each into a "vendor branch", and then merges them all on top of each other. As each site updates the various macros in random ways, one can continue to propagate them together. Should it be undoable? The operation is not simple "split", it is "split into this logical file that went into the suture and that logical file that went into the suture". Very similar issues here as are faced by revival. ============================================================ --- wiki/Hosting.mdwn 7ac4d7f71cca1275b33c306276f101dae9df0727 +++ wiki/Hosting.mdwn ae183084b630edcef9f6daa79badf8a04e751e09 @@ -1,7 +1,7 @@ If those two options don't work for you, [[!tag migration-auto]] You can easily host monotone anywhere you can run a daemon. With the "dumb server" support, you don't even need that -- all that is required is standard web hosting -- but this option is more experimental, and needs more work to be fully supported (want to help?). If those two options don't work for you, here are some other options to consider: * http://mtn-host.prjek.net provides **free public monotone hosting**, with an easy-to-use web management interface. + * Virtual servers quite capable of running monotone are easily available in the $15-20/month USD range -- for example, [here](http://prgmr.com/xen/), [http://www.tektonic.net/vds.php?op=budget_plans here], [http://www.budgetdedicated.com/ here], or [http://www.slicehost.com/ here] (we have not used any of these services, and this is not a particular recommendation -- if you have recommendations, by all means add them here). If going this route, note that the monotone server can be a bit cpu and memory hungry -- we're working on reducing this, but in the mean time, you probably don't want the very smallest servers available. - * Virtual servers quite capable of running monotone are easily available in the $15-20/month USD range -- for example, [http://prgmr.com/xen/ here], [http://www.tektonic.net/vds.php?op=budget_plans here], [http://www.budgetdedicated.com/ here], or [http://www.slicehost.com/ here] (we have not used any of these services, and this is not a particular recommendation -- if you have recommendations, by all means add them here). If going this route, note that the monotone server can be a bit cpu and memory hungry -- we're working on reducing this, but in the mean time, you probably don't want the very smallest servers available. ============================================================ --- wiki/I18nL10n.mdwn c22d1c94f226185f34d371fe2b092a77aea81968 +++ wiki/I18nL10n.mdwn 30e4803eef22dc37238fb1be077a867e0db70229 @@ -43,14 +43,14 @@ We should probably audit everything deal ## Composition/decomposition -It is possible that there are filesystems which somehow normalize unicode strings. (E.g., [http://developer.apple.com/technotes/tn/tn1150.html#UnicodeSubtleties HFS+ on OS X] probably does.) These raise issues similar to CaseInsensitiveFilesystems, i.e., any form of normalization can cause paths that looked different on one system to look the same on another. In fact, [http://svn.haxx.se/users/archive-2005-12/0381.shtml SVN has encountered this issue in practice]. +It is possible that there are filesystems which somehow normalize unicode strings. (E.g., [HFS+ on OS X](http://developer.apple.com/technotes/tn/tn1150.html#UnicodeSubtleties) probably does.) These raise issues similar to CaseInsensitiveFilesystems, i.e., any form of normalization can cause paths that looked different on one system to look the same on another. In fact, [http://svn.haxx.se/users/archive-2005-12/0381.shtml SVN has encountered this issue in practice]. Other useful OS X links: - * [http://developer.apple.com/qa/qa2001/qa1235.html Converting to Precomposed Unicode] - * [http://lists.apple.com/archives/unix-porting/2002/Mar/threads.html#00147 filesystem encodings thread on Apple's user-porting list] ("The BSD-level interface to the file system uses canonically decomposed UTF-8.") - * [http://developer.apple.com/qa/qa2001/qa1173.html Text encodings in VFS] + * [Converting to Precomposed Unicode](http://developer.apple.com/qa/qa2001/qa1235.html) + * [filesystem encodings thread on Apple's user-porting list](http://lists.apple.com/archives/unix-porting/2002/Mar/threads.html#00147) ("The BSD-level interface to the file system uses canonically decomposed UTF-8.") + * [Text encodings in VFS](http://developer.apple.com/qa/qa2001/qa1173.html) -The Unicode Consortium has an article on [http://www.unicode.org/unicode/reports/tr15/index.html normalization forms] and a somewhat related article on [http://www.unicode.org/reports/tr36/ security considerations]. +The Unicode Consortium has an article on [normalization forms](http://www.unicode.org/unicode/reports/tr15/index.html) and a somewhat related article on [http://www.unicode.org/reports/tr36/ security considerations]. # File content ============================================================ --- wiki/InterfacesFrontendsAndTools.mdwn 4d69b63b1c0872ac3304e0fe30c1ccd05e8b2506 +++ wiki/InterfacesFrontendsAndTools.mdwn e2e5d0f4966e49589fc43f84711b5c140e21997f @@ -22,13 +22,13 @@ * **[RSCM::Monotone](http://rscm.rubyforge.org/classes/RSCM/Monotone.html)**: a [Ruby](http://www.ruby-lang.org/) interface to monotone. * **monotone-import.pl**: A script to ease importing other people's source distributions into a monotone branch, useful for tracking "vendor branches" and the like. In `contrib/` directory of monotone's source tree. [Latest version](http://viewmtn.angrygoats.net/fileinbranch.psp?branch=net.venge.monotone&path=contrib/monotone-import.pl) (via viewmtn). * **monotone-notify.pl**: A script to watch a monotone repository and, for example, send emails on commits. In `contrib/` directory of monotone's source tree. [Latest version](http://viewmtn.angrygoats.net/fileinbranch.psp?branch=net.venge.monotone&path=contrib/monotone-notify.pl) (via viewmtn). - * **ciabot_monotone.py**: A notification script for [http://cia.navi.cx CIA]. In `contrib/` directory of monotone's source tree. [http://viewmtn.angrygoats.net/fileinbranch.psp?branch=net.venge.monotone&path=contrib/ciabot_monotone.py Latest version] (via viewmtn). + * **ciabot_monotone.py**: A notification script for [CIA](http://cia.navi.cx). In `contrib/` directory of monotone's source tree. [http://viewmtn.angrygoats.net/fileinbranch.psp?branch=net.venge.monotone&path=contrib/ciabot_monotone.py Latest version] (via viewmtn). * Script for **importing maildir-format mailboxes** to monotone, for offline reading and syncing: [on the list](http://lists.gnu.org/archive/html/monotone-devel/2005-09/msg00234.html). * **[Wireshark](http://www.wireshark.org)**: a fantastic network traffic analyzer, that has support for decoding monotone's 'netsync' protocol. * **[guitone](http://guitone.thomaskeller.biz)**: A Qt-based, cross-platform frontend for monotone, in early stage. [Latest version](http://viewmtn.angrygoats.net/branch/head/browse/net.venge.monotone.guitone) (via viewmtn). * **[Apso](http://aleph0.info/apso/)**: A system for encrypting version control system repositories/databases (currently a prototype; the first version control system supported is Monotone). * **[Monotree](http://www.highscore.de/monotree/)**: A .NET based viewer for monotone's database (does not require to have monotone installed as it loads monotone's database directly and creates a report). - * **[Ikiwiki](http://ikiwiki.info/)** is a wiki that can use a revision control system, and in particular [http://ikiwiki.info/rcs/monotone/ monotone], as a backend. As Monotone is distributed, Ikiwiki becomes distributed. Ikiwiki also has a bug tracking plugin that then allows distributed bug tracking. This website is generated with ikiwiki, edited by the distributed monotone developers. + * **[Ikiwiki](http://ikiwiki.info/)** is a wiki that can use a revision control system, and in particular [monotone](http://ikiwiki.info/rcs/monotone/), as a backend. As Monotone is distributed, Ikiwiki becomes distributed. Ikiwiki also has a bug tracking plugin that then allows distributed bug tracking. This website is generated with ikiwiki, edited by the distributed monotone developers. ## converting to monotone from other systems ============================================================ --- wiki/LineEndingMunging.mdwn 740f1fe9b3bebc25b26bf1efdf38d3fa6741e651 +++ wiki/LineEndingMunging.mdwn 0e365a92a60443c2f536f45dda152542472ecd8c @@ -21,7 +21,7 @@ We currently control this stuff with a h ### Subversion -Subversion has definitely put thought into their rules here. It's worth reading their [http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.5 docs]. Basically, the rules are: +Subversion has definitely put thought into their rules here. It's worth reading their [docs](http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.5). Basically, the rules are: * you have to opt-in to line end munging on a file-by-file basis * files can be specified to be always-LF, always-CRLF, always-CR, or always-native. * one can use a server-side hook to require that all files have a mime type, and that all files with text/* mime types have an explicit eol style. This is recommended, and the svn people do this on their own repo. ============================================================ --- wiki/MonotoneOnDebian.mdwn 3b525146728a643011530bdfa9a07fdf26a30160 +++ wiki/MonotoneOnDebian.mdwn 316868563d1e66015b5332bc11cfc6572bc89204 @@ -1,8 +1,8 @@ [[!tag migration-auto]] # Using Monotone on Debian -Monotone packages can currently be found in the Debian repositories. Monotone changes very rapidly and versions in sarge and etch may be slightly dated. It is recommend that you use the monotone package from the monotone [http://venge.net/monotone website] or the version that is in sid/unstable which is generally kept up to date. +Monotone packages can currently be found in the Debian repositories. Monotone changes very rapidly and versions in sarge and etch may be slightly dated. It is recommend that you use the monotone package from the monotone [website](http://venge.net/monotone) or the version that is in sid/unstable which is generally kept up to date. apt-get install monotone # Running a Monotone Server on Debian @@ -11,7 +11,7 @@ The easiest way to run a monotone server # Building Sarge packages with pbuilder -The sarge monotone packages are currently built with [http://www.netfort.gr.jp/~dancer/software/pbuilder-doc/pbuilder-doc.html pbuilder] running on debian testing. Pbuilder basically extracts a minimal debian system (of a chosen distro) to a temporary directory, chroots there, installs neccessary build-deps, and then builds the given package. `pbuilder create` is used to create a base image (tarball). Note that `pdebuild` is easiest to run as root, due to the chrooting. +The sarge monotone packages are currently built with [pbuilder](http://www.netfort.gr.jp/~dancer/software/pbuilder-doc/pbuilder-doc.html) running on debian testing. Pbuilder basically extracts a minimal debian system (of a chosen distro) to a temporary directory, chroots there, installs neccessary build-deps, and then builds the given package. `pbuilder create` is used to create a base image (tarball). Note that `pdebuild` is easiest to run as root, due to the chrooting. Since sarge has too old a version of boost, 1.33 is built (using pbuilder) for sarge then linked to monotone statically. [''I can't find the my build directory for boost, there probably weren't many caveats. I may have had to disable ICU support? - MattJohnston'']. The sarge boost .debs can then be placed in a directory such as `/var/cache/pbuilder/localpackages/`. Create a script `/var/cache/pbuilder/hooks/D70results` with the contents {{{ #!/bin/sh ============================================================ --- wiki/MtnSummit/2007/Ideas.mdwn e20faa55f79b7bc856bff2caae779b4fab215c50 +++ wiki/MtnSummit/2007/Ideas.mdwn bb1082cd76eed8d9e6ed961a2f2b86635ff25dff @@ -19,7 +19,7 @@ Brainstorming ideas to be worked on at t ## Internals - * Make [http://revctrl.org/DieDieDieMerge DieDieDie] finally Die (file resurrection or a delete-blocking cset op for merge) ([http://colabti.de/irclogger/irclogger_log/monotone?date=2007-03-20,Tue#l239 This IRC conversation] may help explain this, or it may not. + * Make [DieDieDie](http://revctrl.org/DieDieDieMerge) finally Die (file resurrection or a delete-blocking cset op for merge) ([http://colabti.de/irclogger/irclogger_log/monotone?date=2007-03-20,Tue#l239 This IRC conversation] may help explain this, or it may not. * Workspace merge * workspace (tree layout) conflict resolution ============================================================ --- wiki/MtnSummit/2007/InterestAndDates.mdwn 7e3576c1f5f3bf4c7d4fe235c3b901d2c341058a +++ wiki/MtnSummit/2007/InterestAndDates.mdwn ba8392f8568eff44ebe2e339a1d3657306d9bf10 @@ -6,7 +6,7 @@ The idea of holding some sort of sprint # Mountain View 2007 -Google (specifically OSPO, the group behind code.google.com) has offered to let us host MtnSummit.us at their [http://maps.google.com/maps?f=q&hl=it&q=1600+Amphitheatre+Parkway,+Mountain+View,+California&ie=UTF8&z=10&ll=37.422526,-122.085571&spn=0.863779,1.417236&om=1 Mtn View headquarters], feed us, and "defray lodging costs" (which may mean "provide free hotel rooms", and at the very least means "use their purchasing power to get us good hotel rates"). +Google (specifically OSPO, the group behind code.google.com) has offered to let us host MtnSummit.us at their [Mtn View headquarters](http://maps.google.com/maps?f=q&hl=it&q=1600+Amphitheatre+Parkway,+Mountain+View,+California&ie=UTF8&z=10&ll=37.422526,-122.085571&spn=0.863779,1.417236&om=1), feed us, and "defray lodging costs" (which may mean "provide free hotel rooms", and at the very least means "use their purchasing power to get us good hotel rates"). **Dates**: To figure out what date works, put in what weeks you might be able to do things! Do not worry if you are important enough for us to worry about scheduling around you or anything like that, just put down the information and we will worry about that when we can see what conflicts there are! ============================================================ --- wiki/MtnSummit/2007/LogisticsNA.mdwn c5f13e1df620ff4241a90591a531911499bf2212 +++ wiki/MtnSummit/2007/LogisticsNA.mdwn 1dc7bdeaabdb456345be6b9209483d4f2798874f @@ -12,16 +12,16 @@ The closest airport to Mountain View/San The closest airport to Mountain View/Santa Clara is San Jose International (SJC). The next closest is San Francisco International (SFO). SFO may have more international flights. Oakland also has an airport that's sort of close (OAK), but don't do that unless you have to -- it's about 2 hours of public transportation away. -If you want to use Bay Area public transportation at all, then you want to know about the [http://transit.511.org/tripplanner/index.asp "TakeTransit Trip Planner"]. +If you want to use Bay Area public transportation at all, then you want to know about the ["TakeTransit Trip Planner"](http://transit.511.org/tripplanner/index.asp). I assume if you're close enough to drive, then you can figure that out yourself. ## Lodging -We have a block of rooms reserved at [http://www.guesthouseintl.com/property.cfm?property_id=39 Guesthouse International Inns and Suites, Santa Clara]. We have a group of 10 rooms held for us from February 4-12 at a special group rate of $71.18/night for 1-2 occupants, $82.13/night for 3 occupants (both numbers already include tax). Each room has 2 single-person beds, microwave/refrigerator, and free internet access (wifi). There is also a pool, though I don't know how much use that will get in +We have a block of rooms reserved at [Guesthouse International Inns and Suites, Santa Clara](http://www.guesthouseintl.com/property.cfm?property_id=39). We have a group of 10 rooms held for us from February 4-12 at a special group rate of $71.18/night for 1-2 occupants, $82.13/night for 3 occupants (both numbers already include tax). Each room has 2 single-person beds, microwave/refrigerator, and free internet access (wifi). There is also a pool, though I don't know how much use that will get in February. -Address: [http://maps.google.com/maps?f=d&hl=en&saddr=2930+El+Camino+Real,+santa+clara,+95051+ca&daddr=1600+amphitheatre+parkway,+mountain+view,+ca&ie=UTF8&sll=37.388155,-122.034295&sspn=0.119206,0.233459&z=12&ll=37.388163,-122.035789&spn=0.119206,0.233459&t=h&om=1 2930 El Camino Real, Santa Clara, California] (NB: street numbers on El Camino get repeated, often the city name is needed to disambiguate)[[BR]] +Address: [2930 El Camino Real, Santa Clara, California](http://maps.google.com/maps?f=d&hl=en&saddr=2930+El+Camino+Real,+santa+clara,+95051+ca&daddr=1600+amphitheatre+parkway,+mountain+view,+ca&ie=UTF8&sll=37.388155,-122.034295&sspn=0.119206,0.233459&z=12&ll=37.388163,-122.035789&spn=0.119206,0.233459&t=h&om=1) (NB: street numbers on El Camino get repeated, often the city name is needed to disambiguate)[[BR]] Phone: (408) 241-3010[[BR]] Magic words: group name "Monotone"[[BR]] Deadline for group rate: January 20, 2007 ============================================================ --- wiki/MtnSummit/2007.mdwn 3ee9164be0d5af36f5df3dd16c698f2c08e40826 +++ wiki/MtnSummit/2007.mdwn 3293ca8c3863a9749d42ffc902c9f4fdc2f46d86 @@ -11,7 +11,7 @@ See MtnSummit2008 for this year's locati # North America (2007) **When**: February 5-11, 2007. (Monday-Sunday, with probably Thursday as a day to unwind)[[BR]] -**Where**: Google headquarters: [http://maps.google.com/maps?f=q&q=1600+Amphitheatre+Parkway,+Mountain+View,+California&ie=UTF8&z=10&ll=37.422526,-122.085571&spn=0.863779,1.417236&om=1 1600 Amphitheatre Parkway, Mountain View, California, USA][[BR]] +**Where**: Google headquarters: [1600 Amphitheatre Parkway, Mountain View, California, USA](http://maps.google.com/maps?f=q&q=1600+Amphitheatre+Parkway,+Mountain+View,+California&ie=UTF8&z=10&ll=37.422526,-122.085571&spn=0.863779,1.417236&om=1)[[BR]] **Main contact(s) for organizing**: Nathaniel Smith, address@hidden Planning to come? Add yourself: ============================================================ --- wiki/MtnSummit/2008.mdwn 790d0e6815b7fe90e66270f95348fc72e9e9d661 +++ wiki/MtnSummit/2008.mdwn af9ede5d3a97c7d3120ada5adc603c281e231a09 @@ -1,4 +1,4 @@ -[[!tag migration-wip]] +[[!tag migration-wip]] [[!toc levels=1]] ============================================================ --- wiki/NonMergeConflicts.mdwn 22a27b12d0f4a4287726ba57a5b5ce5c885cca2e +++ wiki/NonMergeConflicts.mdwn 4a80a8af4461f7a28082d2f60ed0e20306f5a396 @@ -11,7 +11,7 @@ The idea here is this: there are a numbe * there is already an unversioned object in the workspace with the given name * the object we want to write has a utf8 name that cannot be represented in the current locale's charset * depending on if/how we implement various sorts of file content munging (line endings, charset, $$-expansion), certain file contents may not be losslessly round-trippable through the workspace. (I.e., all such mungings have a repo->workspace transformation, and a workspace->repo transformation, and generally these are not perfect inverses.) - * "FAT and NTFS ... allow you to add a period to the end of the file names" ([http://blogs.msdn.com/bclteam/archive/2004/10/12/241434.aspx link]) + * "FAT and NTFS ... allow you to add a period to the end of the file names" ([link](http://blogs.msdn.com/bclteam/archive/2004/10/12/241434.aspx)) * this may or may not be best handled as a "non-merge conflict", but there are also a class of workspace issues that cause problems -- files with the write bit turned off, files/dirs that can't be deleted (win32, or weird permissions), directories that we want to delete but that have unversioned children, files/dirs we want to create but there is already something in the way... * a filename contains characters which are invalid on some platforms, but not other (i.e. check-in a file in Linux with a colon and try to check that out on Windows...) * *(add more if you think of any)* ============================================================ --- wiki/PartialPull.mdwn 966928a1f7025a4cfbdb3a6d37c536d6589405a9 +++ wiki/PartialPull.mdwn 05eb4c87cd5a4f5c4995cfc289931eeab668d34c @@ -20,7 +20,7 @@ Table with horizon/fake nodes will be ca Table with horizon/fake nodes will be called `sentinels` (unique indexed set). You have to test for members of this set as well as for the empty revision. -See the following graph [http://home.wtal.de/petig/Mtn/PartialPull.svg SVG] http://home.wtal.de/petig/Mtn/PartialPull.png : +See the following graph [SVG](http://home.wtal.de/petig/Mtn/PartialPull.svg) http://home.wtal.de/petig/Mtn/PartialPull.png : Light red nodes form the horizon (are stored in `sentinels`), dark green nodes have additional information in `horizon_manifests` to create rosters for them. ============================================================ --- wiki/People/JustinPatrin.mdwn d250a004ac797807a6692f6d49198774bd80dddf +++ wiki/People/JustinPatrin.mdwn 6dda38f33652fce1df493e5d5e8cbf09a1bd0ec5 @@ -1,6 +1,6 @@ [[!tag migration-auto]] -A user of monotone via the [http://openembedded.org OpenEmbedded] project. Started developing on monotone at the 2007 summit at Google with the net.venge.monotone.ssh-agent branch (see ["MonotoneAndSSHAgent"]). +A user of monotone via the [OpenEmbedded](http://openembedded.org) project. Started developing on monotone at the 2007 summit at Google with the net.venge.monotone.ssh-agent branch (see ["MonotoneAndSSHAgent"]). For more info: http://justin.patrin.info/ ============================================================ --- wiki/People/ThomasKeller.mdwn ee4decb4a0e784bec0b577d123f9c145ba68e272 +++ wiki/People/ThomasKeller.mdwn ccbcae38dcea9390e12b36078fee495dfc974078 @@ -1,8 +1,8 @@ Frontend developer - mostly hacks on the [[!tag migration-auto]] Frontend developer - mostly hacks on the automation interface in monotone and provides small bugfixes and enhancements for long-standing annoyances. -Autor of [http://guitone.thomaskeller.biz guitone] - the Qt frontend for monotone. +Autor of [guitone](http://guitone.thomaskeller.biz) - the Qt frontend for monotone. Homepage: http://www.thomaskeller.biz ============================================================ --- wiki/People.mdwn 0a29361a5def863731a53a1f2fb1a235f3258975 +++ wiki/People.mdwn 7532b4a7cd175c62165268a2adcf8be9783cf315 @@ -74,7 +74,7 @@ This page will introduce some of the mem * works on monotone since Dec 2005 * involved in monotone translation for Brazilian Portuguese * minor docs and Lua code meddling - * author of [http://www.ventonegro.org/iara/ Iara] monotone web-frontend + * author of [Iara](http://www.ventonegro.org/iara/) monotone web-frontend * contact: address@hidden, http://www.ventonegro.org/ ### Matthew Nicholson (man, matthew_i, MasterYoda) @@ -90,14 +90,14 @@ This page will introduce some of the mem * works on monotone since Jan 2006 * involved in translation into Italian * contact: address@hidden - * residence: [http://www.frappr.com/lapo Milano, Italy] + * residence: [Milano, Italy](http://www.frappr.com/lapo) ### Thomas Keller (tommyd) * uses monotone since Jan 2006 * works on monotone since Mar 2006 * involved in the UI translation into German and mtn automate extensions - * developer of [http://guitone.thomaskeller.biz guitone], a frontend for monotone + * developer of [guitone](http://guitone.thomaskeller.biz), a frontend for monotone * contact: me AT thomaskeller DOT biz ### Thomas Moschny (thm) @@ -106,7 +106,7 @@ This page will introduce some of the mem * works on monotone since Apr 2006 * meddling in various areas, especially automation * currently maintaining the zsh completion - * author of [http://www.ipd.uka.de/~moschny/TracMonotone TracMonotone], a version control backend to monotone for [http://trac.edgewall.org Trac] + * author of [TracMonotone](http://www.ipd.uka.de/~moschny/TracMonotone), a version control backend to monotone for [http://trac.edgewall.org Trac] * contact: address@hidden ### Zack Weinberg (zwol) @@ -134,7 +134,7 @@ This page will introduce some of the mem * uses monotone since October 2005 * mostly doesn't work on monotone - * author of [http://www.midwinter.com/~lch/programming/m7/ m7] monotone front-end + * author of [m7](http://www.midwinter.com/~lch/programming/m7/) monotone front-end * contact: address@hidden ## Template ============================================================ --- wiki/PerformanceWork/SQLiteAnalyzeDiscussion.mdwn 70ea089d45d79bf1d3fc7a542e8da2c3c2754895 +++ wiki/PerformanceWork/SQLiteAnalyzeDiscussion.mdwn 744ebc57a02409038d0d79cbf1e77f38532c8f24 @@ -1,6 +1,6 @@ [[!tag migration-auto]] -Ever since we imported SQLite 3.2.3 (which included a much improved query optimizer, and added the [http://sqlite.org/lang_analyze.html analyze] command), we've needed to run an analyze on monotone repositories to get decent performance, otherwise SQLite doesn't make good use of our indices and we become extremely I/O bound. This can affect many areas of monotone--for instance, a small commit into a very large repository can take an extremely long time unless the repository has been analyzed recently, because we spend many minutes seek()ing in the repository. +Ever since we imported SQLite 3.2.3 (which included a much improved query optimizer, and added the [analyze](http://sqlite.org/lang_analyze.html) command), we've needed to run an analyze on monotone repositories to get decent performance, otherwise SQLite doesn't make good use of our indices and we become extremely I/O bound. This can affect many areas of monotone--for instance, a small commit into a very large repository can take an extremely long time unless the repository has been analyzed recently, because we spend many minutes seek()ing in the repository. ---- @@ -138,4 +138,4 @@ As a short term thing, we could try and As a short term thing, we could try and guess when a repository needs to be analyzed and print a message advising the user to do so manually. +There is some [specific discussion](http://www.sqlite.org/cvstrac/tktview?tn=1414) in the SQLite bug tracker about the interaction between analyze and monotone and also a [http://www.sqlite.org/cvstrac/wiki?p=QueryPlans discussion of our general problem] in the SQLite wiki. We should probably consider experimenting with some of the suggested changes to see if we can get away from a dependence on analyze for decent performance. -There is some [http://www.sqlite.org/cvstrac/tktview?tn=1414 specific discussion] in the SQLite bug tracker about the interaction between analyze and monotone and also a [http://www.sqlite.org/cvstrac/wiki?p=QueryPlans discussion of our general problem] in the SQLite wiki. We should probably consider experimenting with some of the suggested changes to see if we can get away from a dependence on analyze for decent performance. ============================================================ --- wiki/ProjectsUsingMonotone.mdwn bb688fc4ba153655c2b6be7dfbca57e60b4c3cdd +++ wiki/ProjectsUsingMonotone.mdwn 7052e24826408e7c768a53d87d8313a2de1a0f03 @@ -1,4 +1,4 @@ -[[!tag migration-auto]] +[[!tag migration-auto]] A number of projects use monotone. Some of them are listed here. @@ -10,28 +10,30 @@ Actually, it is better to show *database (sorted by revisions*files) -||<#5686b8> Project ||<#5686b8> notes ||<#5686b8> revisions ||<#5686b8> files ||<#5686b8> commits/month ||<#5686b8> First commit ||<#5686b8> Last update ||<#5686b8> Other projects in database || -|| [http://www.xaraya.com/ Xaraya]||[#1 1]||±33900 ||±58300 || 552 || 2002-09-28 || 2007-10-14 || || -|| [http://openembedded.org/ OpenEmbedded] || ||±23000 ||±14600 || 754 || 2005-06-30 || 2008-01-30 || [http://www.nslu2-linux.org/ NSLU2-Linux] || -|| [http://pidgin.im/ Pidgin (formerly Gaim)] || || ~23900 || ±6500 || 250 || 2000-03-23 || 2008-01-30 || || -|| [http://venge.net/monotone monotone] || [#2 2] ||~13800 || ~7740 || 258 || 2003-09-04 || 2008-01-30 || [http://botan.randombit.net Botan] || -|| [http://www.remobo.com/ Remobo] || ||±1415 ||±39445 || ~30 || 2005-11-23 || 2008-03-16 || || -|| [http://trig.com/ Trig] || [#3 3] || ±7948 || ±2995 || ±637 || 2006-05-09 || 2007-01-30 || || -|| [http://www.conquer-space.net/ ConquerSpace] || || 2392 || 4449 || ~88 || 2005-11-26 || 2008-01-30 || private projects (total ~6717 revisions) || -|| [http://www.ada-france.org/article130.html Ada-France] || || ~1390 || ~1270 || 74 || 2006-07-14 || 2008-01-30 || [http://www.lovelace.fr/ Lovelace OS] || -|| [http://gott.evilhackerdu.de/ GoTT]|| || ±1716 || ±800 || ±100 || 2005-07-08 || 2007-01-13 || || -|| [http://www.randombit.net/projects/ajisai/monotone.html Ajisai] || [#2 2]|| 770 || 1118 || 45 || 2006-05-18 || 2007-10-14 || [http://botan.randombit.net Botan] || -|| [http://syndie.i2p.net/monotone_howto.html Syndie]|| || 676 || 696 || 55 || 2006-10-12 || 2007-10-14 || || -|| [http://www.NetBSD.org/~jmmv/atf/ ATF]|| || 504 || 409 || ±60 || 2007-06-25 || 2008-02-06 || || -|| [http://matt.ucc.asn.au/dropbear/ Dropbear SSH]|| ||±250 || ±600 || few || || || || -|| [http://guitone.thomaskeller.biz guitone]||[#2 2]|| 640 || 214 || 30 || 2006-04-06 || 2008-01-30 || || -|| [http://ctwm.free.lp.se CTWM]|| ||±300 || ±350 ||low traffic|| || || || -|| [http://www.collaboration-world.com/pantomime/ Pantomime] and [http://www.collaboration-world.com/gnumail/ GNUMail]|| || 150 || 781|| 8 || 2006-04-29 || 2007-10-14 || || -|| [http://www.bonsai.com/wiki/index.php/Monotone_Distributed_Version_Control Bonsai]||[#2 2],[#5 5]|| 87 || 398 || 4 || 2005-12-18 || 2007-10-23 || || -|| [http://www.metatheme.org/development.php MetaTheme]|| || ? || ? || ? || || 2006-09-26 || || -|| [http://clarens.sourceforge.net Clarens]||[#4 4]|| ? || ? || ? || 2005-08-09 || 2006-12-13 || || -|| [http://www.netcrypto.org/index-FileAccess.html NetCrypto]|| || ? || ? || ? || ? || ? || || -|| [http://petertodd.org/art/source-code Peter Todd's Art Projects]|| || ±1500 || ? || ±100 || 2007-05-01 || 2007-09-09 || || +[[!table data=""" +|<#5686b8> Project |<#5686b8> notes |<#5686b8> revisions |<#5686b8> files |<#5686b8> commits/month |<#5686b8> First commit |<#5686b8> Last update |<#5686b8> Other projects in database | +| [Xaraya](http://www.xaraya.com/)|[#1 1]|±33900 |±58300 | 552 | 2002-09-28 | 2007-10-14 | | +| [OpenEmbedded](http://openembedded.org/) | |±23000 |±14600 | 754 | 2005-06-30 | 2008-01-30 | [http://www.nslu2-linux.org/ NSLU2-Linux] | +| [Pidgin (formerly Gaim)](http://pidgin.im/) | | ~23900 | ±6500 | 250 | 2000-03-23 | 2008-01-30 | | +| [monotone](http://venge.net/monotone) | [#2 2] |~13800 | ~7740 | 258 | 2003-09-04 | 2008-01-30 | [http://botan.randombit.net Botan] | +| [Remobo](http://www.remobo.com/) | |±1415 |±39445 | ~30 | 2005-11-23 | 2008-03-16 | | +| [Trig](http://trig.com/) | [#3 3] | ±7948 | ±2995 | ±637 | 2006-05-09 | 2007-01-30 | | +| [ConquerSpace](http://www.conquer-space.net/) | | 2392 | 4449 | ~88 | 2005-11-26 | 2008-01-30 | private projects (total ~6717 revisions) | +| [Ada-France](http://www.ada-france.org/article130.html) | | ~1390 | ~1270 | 74 | 2006-07-14 | 2008-01-30 | [http://www.lovelace.fr/ Lovelace OS] | +| [GoTT](http://gott.evilhackerdu.de/)| | ±1716 | ±800 | ±100 | 2005-07-08 | 2007-01-13 | | +| [Ajisai](http://www.randombit.net/projects/ajisai/monotone.html) | [#2 2]| 770 | 1118 | 45 | 2006-05-18 | 2007-10-14 | [http://botan.randombit.net Botan] | +| [Syndie](http://syndie.i2p.net/monotone_howto.html)| | 676 | 696 | 55 | 2006-10-12 | 2007-10-14 | | +| [ATF](http://www.NetBSD.org/~jmmv/atf/)| | 504 | 409 | ±60 | 2007-06-25 | 2008-02-06 | | +| [Dropbear SSH](http://matt.ucc.asn.au/dropbear/)| |±250 | ±600 | few | | | | +| [guitone](http://guitone.thomaskeller.biz)|[#2 2]| 640 | 214 | 30 | 2006-04-06 | 2008-01-30 | | +| [CTWM](http://ctwm.free.lp.se)| |±300 | ±350 |low traffic| | | | +| [Pantomime](http://www.collaboration-world.com/pantomime/) and [http://www.collaboration-world.com/gnumail/ GNUMail]| | 150 | 781| 8 | 2006-04-29 | 2007-10-14 | | +| [Bonsai](http://www.bonsai.com/wiki/index.php/Monotone_Distributed_Version_Control)|[#2 2],[#5 5]| 87 | 398 | 4 | 2005-12-18 | 2007-10-23 | | +| [MetaTheme](http://www.metatheme.org/development.php)| | ? | ? | ? | | 2006-09-26 | | +| [Clarens](http://clarens.sourceforge.net)|[#4 4]| ? | ? | ? | 2005-08-09 | 2006-12-13 | | +| [NetCrypto](http://www.netcrypto.org/index-FileAccess.html)| | ? | ? | ? | ? | ? | | +| [Peter Todd's Art Projects](http://petertodd.org/art/source-code)| | ±1500 | ? | ±100 | 2007-05-01 | 2007-09-09 | | +""" ]] 1. [[Anchor(1)]]Aggregate number for Xaraya core, languages, themes and modules (4 different databases). 1. [[Anchor(2)]]Not counting private branches 1. [[Anchor(3)]]Only the main branch of the main app ============================================================ --- wiki/QuickieTasks.mdwn ff377ef329b32d3fbd1a0406888bd633660cc457 +++ wiki/QuickieTasks.mdwn dc73681afa314c4b03661db51fe13c8d99c7e1a1 @@ -13,8 +13,8 @@ So, here are some smaller tasks, that ve * `mtn list duplicates` -- list files that have the same checksum (duplicate content) in a given revision (or the workspace) * `mtn clean --unknown --ignored` to remove files of each type from the workspace; handy for a really aggressive "make clean", and for plaforms without xargs or where there might be spaces in filenames so that `mtn ls unknown | xargs rm` is hard or dangerous. * `mtn diff --ignore-whitespace` - * make the diff header contain more helpful contextual information -- some thoughts are in [http://lists.gnu.org/archive/html/monotone-devel/2006-01/msg00194.html this email]. it might take a bit of discussion to figure out the nicest format - * 'db check' now includes a call to the sqlite [http://www.sqlite.org/pragma.html#debug PRAGMA integrity_check], but we need a test for this; check out Message-ID in the list archives. + * make the diff header contain more helpful contextual information -- some thoughts are in [this email](http://lists.gnu.org/archive/html/monotone-devel/2006-01/msg00194.html). it might take a bit of discussion to figure out the nicest format + * 'db check' now includes a call to the sqlite [PRAGMA integrity_check](http://www.sqlite.org/pragma.html#debug), but we need a test for this; check out Message-ID in the list archives. * more inodeprints UI -- maybe "inodeprints on/off/auto/refresh", where "auto" turns them on or off depending on the size of the tree (and is used by default at checkout time)? * support for .mtn-template. This is a versioned file, that is used as the default for log messages. This might be helpful so you can put in fields for bug numbers, standardize your log message format, etc. Implementation is to make it the default value of _MTN/log. One tricky bit is that commits should be canceled if given an empty or _unchanged_ log message; currently they are canceled only on an empty log message. * script that wraps monotone and gathers statistics on usage, that people could use to help us make UI decisions. Just recording commands would be good; taking notes on things like how many files were edited in a commit, whether any given merge or update had conflicts, etc. would be even cooler. @@ -25,7 +25,7 @@ So, here are some smaller tasks, that ve * add a test for context diff output * write a test for any bugs in the [https://savannah.nongnu.org/bugs/index.php?group=monotone tracker] labeled [NEED TEST]. * **IN PROGRESS**: Emacs code that makes C-x 4 a drop one into _MTN/log instead of ChangeLog. **See ChangeLog** - * `mtn status -rREV` and `mtn checkout --nofiles`; see [http://lists.gnu.org/archive/html/monotone-devel/2006-08/msg00311.html this discussion] and [http://thread.gmane.org/gmane.comp.version-control.monotone.devel/7752/focus=7756 this one]. + * `mtn status -rREV` and `mtn checkout --nofiles`; see [this discussion](http://lists.gnu.org/archive/html/monotone-devel/2006-08/msg00311.html) and [http://thread.gmane.org/gmane.comp.version-control.monotone.devel/7752/focus=7756 this one]. * automatic updating of the tutorial section of the texinfo docs so that program output, etc. is kept current See also: InterfacesFrontendsAndTools that don't exist, but if they did they would make using monotone just that much more awesome. ============================================================ --- wiki/ReleaseBranchPattern.mdwn a3bf6d339d341bf5bfe0adfb21ddc1b814f2202a +++ wiki/ReleaseBranchPattern.mdwn 106f65ca6e1015c801912df7abfd294c00217b4a @@ -18,6 +18,6 @@ * if one of the sub-branches added a file to a directory that was dropped in the 'example.com.foo.deliverables' branch, then you'll get a non merge conflict when you do the propagate. These are a pain to solve, at least until the MergeViaWorkingDir is integrated into mainline monotone. - * you have created a release branch, and massaged the release branch to contain only what you want to deliver. Be careful not to merge or propagate from the release branch to the work branch. Doing so would be what I call an [http://en.wikipedia.org/wiki/Oedipus_rex "Oedipus Rex"] merge -- it will propagate all of the massaging you did on the release branch back to the work branch. In this pattern, release branches are not intended to be merged back to trunk. + * you have created a release branch, and massaged the release branch to contain only what you want to deliver. Be careful not to merge or propagate from the release branch to the work branch. Doing so would be what I call an ["Oedipus Rex"](http://en.wikipedia.org/wiki/Oedipus_rex) merge -- it will propagate all of the massaging you did on the release branch back to the work branch. In this pattern, release branches are not intended to be merged back to trunk. * ''DC: I don't think the content of this page describes what I would think of as a release branch. It sounds to me more like something I'd call an IntegrationBranch or and AssemblyBranch, and seems to be more about using merge_into_dir than about the branch itself. That doesn't mean it's bad or wrong, I just think its in the wrong place... My view of what a release branch means is something similar to what's shown on http://www.netbsd.org/Releases/release-map.html, and that's the meaning I used when talking about release branches in the DaggyFixes page. ============================================================ --- wiki/RostersTodo/MarkAndMergeTests.mdwn 6c653a33ad97cc84b93f2379b97fdb0bc69d0f4a +++ wiki/RostersTodo/MarkAndMergeTests.mdwn 9cc3e5847ee8db38a7b772aa542e0d1934b6382c @@ -20,7 +20,7 @@ Attributes also have a life cycle -- the * attributes Attributes also have a life cycle -- they never go away. Basically, "set_attr" and "clear_attr" are both ways to set an attribute. -Each scalar has a number of different cases, described in the multi-*-merge doc (see [http://article.gmane.org/gmane.comp.version-control.revctrl/93 writeup]). These include: +Each scalar has a number of different cases, described in the multi-*-merge doc (see [writeup](http://article.gmane.org/gmane.comp.version-control.revctrl/93)). These include: * No parents: a* * One parent: ============================================================ --- wiki/RostersTodo.mdwn 9e9e957eb72542a15ec0d89364cf7c0194c76e20 +++ wiki/RostersTodo.mdwn bedeefc2da76f173cbbdc00bff1e4c46a5f7c79e @@ -1,8 +1,8 @@ [[!tag migration-auto]] *This page is mostly out of date: rosters have been part of mainline monotone since the 0.26 release.* -There is a mailing list post by NJS explaining [http://lists.gnu.org/archive/html/monotone-devel/2005-11/msg00102.html what rosters are]. +There is a mailing list post by NJS explaining [what rosters are](http://lists.gnu.org/archive/html/monotone-devel/2005-11/msg00102.html). ---- ============================================================ --- wiki/SummerOfCode/2006.mdwn 3ff74bae21f5e67242ea3077d5287c07fb790cd2 +++ wiki/SummerOfCode/2006.mdwn 4599cae36f7d4b0b686b0e354e36482adb9a90ad @@ -1,12 +1,12 @@ with FLOSS development this summer, and [[!tag migration-auto]] # Google Summer of Code -- 2006 Google is organizing a fantastic opportunity for students to help out with FLOSS development this summer, and get paid for doing it. More -information is available on [http://code.google.com/summerofcode.html their site]. +information is available on [their site](http://code.google.com/summerofcode.html). -[http://venge.net/monotone Monotone] is a version control +[Monotone](http://venge.net/monotone) is a version control system, and we're one of the mentoring organizations for SoC 2006. The rest of this page contains information for students considering applying to the monotone project. @@ -18,15 +18,15 @@ systems, and robustly solving complex re else's'' work more effective. We're pushing the boundaries of technology, inventing new methods for building distributed p2p systems, and robustly solving complex real world problems. Our -[http://venge.net/monotone/docs/Historical-records.html history representation] -has become the de facto standard for [http://git.or.cz/ new] -[http://www.selenic.com/mercurial/ tools]; the best existing [http://revctrl.org/MarkMerge merge algorithm] +[history representation](http://venge.net/monotone/docs/Historical-records.html) +has become the de facto standard for [new](http://git.or.cz/) +[tools](http://www.selenic.com/mercurial/); the best existing [http://revctrl.org/MarkMerge merge algorithm] was co-invented by a Monotone SoC 2005 student. We have a few more ideas up our sleeves still... if all this gets you excited too -- maybe this is a project for you :-) For more information on monotone in general, the comprehensive -[http://venge.net/monotone/docs manual] has details on how +[manual](http://venge.net/monotone/docs) has details on how monotone works, and the wiki (FrontPage) is used for scratch work about various work in progress. @@ -47,7 +47,7 @@ Here are some example ideas for projects NonMergeConflicts. * Create a performance test harness, and benchmarks using it. This would be _extremely_ valuable for tuning monotone's speed, testing changes, and catching performance regressions. - There are more details [http://venge.net/monotone/wiki/PerformanceWork#head-150324c5862f1b409230043ade62a5041c227400 here]. + There are more details [here](http://venge.net/monotone/wiki/PerformanceWork#head-150324c5862f1b409230043ade62a5041c227400). * UI work: find some friends, set them loose on monotone. Watch them carefully and take notes. Write up where-ever they get confused or make mistakes; come up with ways to stop them getting confused. Implement these ways. @@ -67,20 +67,20 @@ Here are some example ideas for projects * MagicSelectors: enhancing the monotone command line * Add symlink support to monotone * Teach monotone to use ssh-agent to store keys - * Add a way to specify "templates" for [http://venge.net/monotone/docs/Scripting.html mtn automate] + * Add a way to specify "templates" for [mtn automate](http://venge.net/monotone/docs/Scripting.html) output; useful for scripting! * "undo" for workspace operations. (Well... not sure if this is small or not.) * clarification wanted: what is undo supposed to do? * Answer: Use case: I run 'mtn up', and then realize that I screwed up the merge. I want to get back to where I was before. Use case: I meant to run "revert " but instead I accidentally reverted my whole workspace, including valuable uncommitted changes. I want to get back to where I was before. * monotone-dumb is a hack to let people host monotone repositories on cheap hosts that only provide static http/ftp access. It works, but could use a bunch of polish to be really - usable. [http://article.gmane.org/gmane.comp.version-control.monotone.devel/6295 This mailing list post] + usable. [This mailing list post](http://article.gmane.org/gmane.comp.version-control.monotone.devel/6295) has a lot of ideas for things to work on. * Add the ability to spawn a process and speak netsync to it (a kind of generalized proxy support). Use this to teach monotone to run netsync over jabber/jingle, etc. * clarification wanted: what about this? there's a branch that wants to provide an stdin/stdout interface to monotone. is reviving that and finishing it part of this, or something else? * Answer: Yes, this is a generalization of the .ssh branch. Basically, the idea would be to make it possible to say "mtn sync --connect-via 'ssh foo.com mtn serve-stdio'", where the argument to --connect-via is an arbitrary command. This would allow people to add interesting new transports. (The UI given here probably isn't optimal, that's just to give the idea.) - * Our test coverage has been hovering at about 90% for a long time: [http://frances.vorpus.org/~monotone-cov/net.venge.monotone/ current status]. + * Our test coverage has been hovering at about 90% for a long time: [current status](http://frances.vorpus.org/~monotone-cov/net.venge.monotone/). Get it higher than that! * Support for "nested trees" -- Some way to combine several projects that are versioned separately into a single workspace, similar to CVS modules, or Arch "configs". There are a fair number of people interested in this, but no design yet; part of the project would be figuring out what exactly everyone wants from this capability. @@ -88,18 +88,18 @@ people use. Examples: A VCS is only one piece of the development ecology -- at least as important as the VCS itself is how it fits into the other tools people use. Examples: - * [http://edgewall.com/trac Trac] is a very popular + * [Trac](http://edgewall.com/trac) is a very popular wiki/bug tracker/source code browser, and it supports plugins for different VCSes. We need a monotone plug-in! Probably the thing to - start from is the [http://projects.edgewall.com/trac/wiki/TracMercurial mercurial plugin]. (python) - * Development of a trac plugin has already been started, see the [http://viewmtn.angrygoats.net/branch.psp?branch=net.venge.monotone.trac-plugin trac-plugin branch]. + start from is the [mercurial plugin](http://projects.edgewall.com/trac/wiki/TracMercurial). (python) + * Development of a trac plugin has already been started, see the [trac-plugin branch](http://viewmtn.angrygoats.net/branch.psp?branch=net.venge.monotone.trac-plugin). * We could use a good general, cross-platform (so probably Qt) GUI for history browsing and general modification. "guitone" is a possible start at this, in the monotone repository. - * [http://eclipse.org Eclipse] and [http://www.netbeans.org NetBeans] are two great Java IDEs. + * [Eclipse](http://eclipse.org) and [http://www.netbeans.org NetBeans] are two great Java IDEs. They need monotone plugins! Some work has been done on each, but much more could be. (java) - * Microsoft's Visual Studio needs a plugin too! ([http://ankhsvn.tigris.org AnkhSVN] is probably + * Microsoft's Visual Studio needs a plugin too! ([AnkhSVN](http://ankhsvn.tigris.org) is probably useful inspiration) - * How about file manager integration? [http://tortoisesvn.tigris.org TortoiseSVN] for Windows + * How about file manager integration? [TortoiseSVN](http://tortoisesvn.tigris.org) for Windows Explorer is good inspiration again; could do similar for OS X Finder, Gnome Nautilus, KDE Konqueror, ... ### Ambitious @@ -112,7 +112,7 @@ anyway: local database, for projects that have a lot of history. * SPKI-inspired naming and trust delegation. This is an area of active work for monotone developers. - * Functionality similar to [http://savannah.nongnu.org/projects/quilt Quilt]/[http://www.procode.org/stgit/ StGit]/[http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension Mq]. See [http://article.gmane.org/gmane.comp.version-control.monotone.devel/6577 also] for why this is tricky... but maybe if someone implemented it, we would discover it was not so tricky after all. + * Functionality similar to [Quilt](http://savannah.nongnu.org/projects/quilt)/[http://www.procode.org/stgit/ StGit]/[http://www.selenic.com/mercurial/wiki/index.cgi/MqExtension Mq]. See [http://article.gmane.org/gmane.comp.version-control.monotone.devel/6577 also] for why this is tricky... but maybe if someone implemented it, we would discover it was not so tricky after all. ### Oddballs A few funky things, that are not *strictly* related to monotone at all: @@ -177,7 +177,7 @@ To give you some idea of how we like to else cool, or end up writing a bunch of small-but-valuable changes instead of one big one. We'll judge on your effort, communication, and interest. - * Feel free to drop by our [http://www.irchelp.org/ IRC] channel: + * Feel free to drop by our [IRC](http://www.irchelp.org/) channel: #monotone on irc.OFTC.net (irc://irc.oftc.net/monotone). Depending on the time of day you might have to wait a bit for people to wake up, but there are usually lots of people around, and a lot ============================================================ --- wiki/SummerOfCode/2007/Ideas.mdwn cd80484957d2ebcb4130381dc11620ad5b4fa6ad +++ wiki/SummerOfCode/2007/Ideas.mdwn b9d4f9c5bac4ca68e2512bf000ecf7f10b902bb8 @@ -38,8 +38,8 @@ Main page: http://guitone.thomaskeller.b Main page: http://guitone.thomaskeller.biz - * a dag graph view using [http://www.libqanava.org/ libqanava], [http://www.tulip-software.org/ libtulip], [http://www.graphviz.org/ graphviz] or else + * a dag graph view using [libqanava](http://www.libqanava.org/), [http://www.tulip-software.org/ libtulip], [http://www.graphviz.org/ graphviz] or else * a kpart module for the KDE Konqueror based on the existing framework * a tortoisecvs/svn alike Windows Explorer add-in, again based on the existing framework * a Win32 installer + * for Python enthusiasts: [waf](http://www.freehackers.org/~tnagy/bksys.html) win32 native build support (see [http://tracmtn.thomaskeller.biz/trac/browser/?rev=h:net.venge.monotone.guitone.waf net.venge.monotone.guitone.waf] branch) - * for Python enthusiasts: [http://www.freehackers.org/~tnagy/bksys.html waf] win32 native build support (see [http://tracmtn.thomaskeller.biz/trac/browser/?rev=h:net.venge.monotone.guitone.waf net.venge.monotone.guitone.waf] branch) ============================================================ --- wiki/Testimonials.mdwn 3317c70514cfc0ec3e49ffe168533e813dd5aae3 +++ wiki/Testimonials.mdwn 9dfd1492338cfeb6ae268de8dde2a3cd02bc509c @@ -1,22 +1,22 @@ Tell us what you really think. [[!tag migration-auto]] Tell us what you really think. * "I think monotone is just about the prettiest C++ I've seen" -- Martin Pool - * "Regarding Monotone (now at 0.23), I like its lightweight portability, its efficiency (actual and potential), the serious industrial attitude of its designers, the cleanliness of its code (when last I checked), and its future prospects. I'm planning to like its rigorously specified, Codeville-derived merge algorithm when it's released." -- [http://www.advogato.org/person/ncm/diary.html?start=133 Nathan Myers] + * "Regarding Monotone (now at 0.23), I like its lightweight portability, its efficiency (actual and potential), the serious industrial attitude of its designers, the cleanliness of its code (when last I checked), and its future prospects. I'm planning to like its rigorously specified, Codeville-derived merge algorithm when it's released." -- [Nathan Myers](http://www.advogato.org/person/ncm/diary.html?start=133) - * "I've spent some 6 years searching for the perfect replacement for CVS. Many current replacements were either crap or too complex for me to understand. Monotone came as a breath of fresh air, with a few powerful and stable principles and ideas, and yet simple enough to understand by just reading one chapter in the manual! I love the distributed concept, the clearly defined off-line commits and the way the history graph is kept, and am currently moving everything I have to monotone." -- [http://richard.levitte.org Richard Levitte], 2005-11-02 + * "I've spent some 6 years searching for the perfect replacement for CVS. Many current replacements were either crap or too complex for me to understand. Monotone came as a breath of fresh air, with a few powerful and stable principles and ideas, and yet simple enough to understand by just reading one chapter in the manual! I love the distributed concept, the clearly defined off-line commits and the way the history graph is kept, and am currently moving everything I have to monotone." -- [Richard Levitte](http://richard.levitte.org), 2005-11-02 * "Monotone rocks!" -- MatthewNicholson * It's a real pleasure to work with monotone, both the product and the people. Apart from the obvious advantages of distributed revision control i've been looking forward to become more widely available in free software, the team also shows they care about the right things. This is both from a technical point of view (sometimes called *paranoia*) but also showing an interest in the problems encountered in daily work for the projects using monotone. The advantage (and necessity) for a scm to be open source has become very clear to me again. -- Marcel van der Boom - * Monotone is a version system which I'm not yet convinced sucks. That is something -- [http://www.stacken.kth.se/~kaj/en Rasmus Kaj] + * Monotone is a version system which I'm not yet convinced sucks. That is something -- [Rasmus Kaj](http://www.stacken.kth.se/~kaj/en) - * In using Monotone from version 0.23 through version 0.30 I've seen an amazing increase in its quality and speed. In reading the development mailing list I am extremely impressed by the developers' thoroughness in their discussions of the algorithms behind monotone and their attention to the user experience and use cases that drive their usage of revision control systems. I'm convinced that monotone will only continue to get better and that it is a useful tool for all developers. -- [http://justin.patrin.info/ Justin Patrin] + * In using Monotone from version 0.23 through version 0.30 I've seen an amazing increase in its quality and speed. In reading the development mailing list I am extremely impressed by the developers' thoroughness in their discussions of the algorithms behind monotone and their attention to the user experience and use cases that drive their usage of revision control systems. I'm convinced that monotone will only continue to get better and that it is a useful tool for all developers. -- [Justin Patrin](http://justin.patrin.info/) - * I believe that Monotone is the Ada of version control systems, so it is only appropriate that I use it for my Ada work. Monotone is safe, correct and powerful *by design*. It uses cryptographic keys to authenticate changes. It is written by elite programmers who, despite using C++, have the "Ada attitude": no pointers, one `assert()` every 9 lines of code, massive use of generics (templates), and not a single critical bug in 3 years. -- [http://groups.google.co.uk/group/comp.lang.ada/msg/bf2f9970828367bd Ludovic Brenta] + * I believe that Monotone is the Ada of version control systems, so it is only appropriate that I use it for my Ada work. Monotone is safe, correct and powerful *by design*. It uses cryptographic keys to authenticate changes. It is written by elite programmers who, despite using C++, have the "Ada attitude": no pointers, one `assert()` every 9 lines of code, massive use of generics (templates), and not a single critical bug in 3 years. -- [Ludovic Brenta](http://groups.google.co.uk/group/comp.lang.ada/msg/bf2f9970828367bd) * I have been using Monotone from version 0.14, and I have never ceased to be amazed by the combination of stable functionality and high speed of development the team behind Monotone has been able to show off. The beauty and simplicity both in design concept and user interface, as well as the amazing (so far unmatched) helpfulness of the Monotone team ensures that I will be a Monotone fan for a long time to come. The extra bonus of distributed functionality, next generation features and damn near perfect documentation just makes me even happier :) -- [mailto:martin_at_troja_dot_ath_dot_cx Martin Kihlgren] 2007-01-30 ============================================================ --- wiki/moin2mdwn.sed b1552b53e20ff73abdb132a72cfac0be4184b96b +++ wiki/moin2mdwn.sed 09bfd21ee9df68408ec377c6e8578c34b51b3d3d @@ -11,3 +11,4 @@ s/''([^']+)''/*\1*/g /^ ({{{|}}}) *.$/d /^[^{]/s/{{{ *([^}`]+) *}}}/`\1`/g /^[^{]/s/{{{ *([^}]+) *}}}/``\1``/g +s#\[(http://[^ ]+) ([^]]+)\]#[\2](\1)#g