monotone-commits-diffs
[Top][All Lists]
Advanced

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

[Monotone-commits-diffs] net.venge.monotone: caeced844e72f7540f03e74b53


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone: caeced844e72f7540f03e74b5303c6b5b5738cd1
Date: Mon, 29 Nov 2010 02:07:23 GMT

revision:            caeced844e72f7540f03e74b5303c6b5b5738cd1
date:                2010-11-29T00:30:19
author:              Timothy Brownawell  <address@hidden>
branch:              net.venge.monotone
changelog:
merge of 'b889330429a5c2f34a5dd87a563860a3d21959a5'
     and 'f94d3092bdb3a65bceb1acd654d3e3c3f7df2676'

manifest:
format_version "1"

new_manifest [c9feea3a4ac0c52f4c533407b402d732ced88262]

old_revision [b889330429a5c2f34a5dd87a563860a3d21959a5]

add_file "contrib/bisect.sh"
 content [d804602c7dad25f424c43b1b5daf9102892ab8a9]

add_file 
"tests/schema_migration/c3a13c60edc432f9a7739f8a260565d77112c86e.mtn.dumped"
 content [332d1a99caad7508f8547973c950d8713f527e3c]

patch "migrate_schema.cc"
 from [be2b52eb8a339ff92e248ae9cbb506eaecd22ffe]
   to [d6161bf90f49f20afd61716ce2ab56da58567bf4]

patch "schema.sql"
 from [e95592782a6420be6e3a0e20f8d053147de38d70]
   to [c1f635361a6cae78c93018b4ac3d02546c8dc0c8]

patch "tests/schema_migration/__driver__.lua"
 from [5aa236922c746c35b822cd0e075917802c581569]
   to [28d8c129589147f46600f38784353d396db03087]

  set "contrib/bisect.sh"
 attr "mtn:execute"
value "true"

old_revision [f94d3092bdb3a65bceb1acd654d3e3c3f7df2676]

patch "NEWS"
 from [8f00fa4d536c26f515c982a2078102e5fba864c0]
   to [82e6621761e40979b4cdf7be2d5e500db32bb43d]

patch "maybe_workspace_updater.cc"
 from [476c3692b0ed2c99e1b2b90125adfb4125cce91d]
   to [f1d41132d47052f6b9f54980de4feb21348e715a]

patch "po/sv.po"
 from [34abd807134f89daad43984922063c2f627f2155]
   to [60090cb2c4d91b782a50e3b83c78ff8f31a578ee]
============================================================
--- schema.sql	e95592782a6420be6e3a0e20f8d053147de38d70
+++ schema.sql	c1f635361a6cae78c93018b4ac3d02546c8dc0c8
@@ -107,7 +107,8 @@ CREATE TABLE revision_certs
 	unique(name, value, revision_id, keypair_id, signature)
 	);
 
-CREATE INDEX revision_certs__revision_id ON revision_certs (revision_id);
+CREATE INDEX revision_certs__revnameval ON revision_certs (revision_id,
+       name, value, keypair_id, signature);
 
 CREATE TABLE branch_epochs
 	(
============================================================
--- migrate_schema.cc	be2b52eb8a339ff92e248ae9cbb506eaecd22ffe
+++ migrate_schema.cc	d6161bf90f49f20afd61716ce2ab56da58567bf4
@@ -767,6 +767,11 @@ char const migrate_certs_to_key_hash[] =
   "DROP TABLE revision_certs_tmp;"
   ;
 
+char const migrate_better_cert_indexing[] =
+  "DROP INDEX revision_certs__revision_id;\n"
+  "CREATE INDEX revision_certs__revnameval ON revision_certs (revision_id,\n"
+  "       name, value, keypair_id, signature);";
+
 namespace {
   struct branch_leaf_finder_info
   {
@@ -962,9 +967,12 @@ const migration_event migration_events[]
   { "0c956abae3e52522e4e0b7c5cbe7868f5047153e",
     migrate_add_file_sizes, 0, upgrade_regen_caches, regen_file_sizes },
 
+  { "1f60cec1b0f6c8c095dc6d0ffeff2bd0af971ce1",
+    migrate_better_cert_indexing, 0, upgrade_none, regen_none },
+
   // The last entry in this table should always be the current
   // schema ID, with 0 for the migrators.
-  { "1f60cec1b0f6c8c095dc6d0ffeff2bd0af971ce1", 0, 0, upgrade_none, regen_none }
+  { "c3a13c60edc432f9a7739f8a260565d77112c86e", 0, 0, upgrade_none, regen_none }
 };
 const size_t n_migration_events = (sizeof migration_events
                                    / sizeof migration_events[0]);
============================================================
--- tests/schema_migration/__driver__.lua	5aa236922c746c35b822cd0e075917802c581569
+++ tests/schema_migration/__driver__.lua	28d8c129589147f46600f38784353d396db03087
@@ -105,4 +105,4 @@ check_migrate_from("1f60cec1b0f6c8c095dc
 check_migrate_from("212dd25a23bfd7bfe030ab910e9d62aa66aa2955")
 check_migrate_from("9c8d5a9ea8e29c69be6459300982a68321b0ec12")
 check_migrate_from("1f60cec1b0f6c8c095dc6d0ffeff2bd0af971ce1")
-
+check_migrate_from("c3a13c60edc432f9a7739f8a260565d77112c86e")
============================================================
--- /dev/null	
+++ contrib/bisect.sh	d804602c7dad25f424c43b1b5daf9102892ab8a9
@@ -0,0 +1,82 @@
+#!/bin/sh
+
+# Script to automate use of 'mtn bisect'.
+
+usage () {
+    echo Usage: $0 --build '"foo"' --test '"bar"' [ --quiet ] >&2
+    printf "\t--build  command used to build (probably 'make')\n" >&2
+    printf "\t--test   command used to test, success/failure determined from\n\t\t exit code\n" >&2
+    printf "\t--quiet  Hide build/test output, and instead show 'mtn bisect\n\t\t status' once per iteration\n" >&2
+    echo You need to mark at least one good and one bad revision manually before >&2
+    echo running this, with "'mtn bisect good'" and "'mtn bisect bad'" >&2
+    echo You probably also want to run "'mtn bisect reset'" when you"'"re done. >&2
+    exit 1
+}
+
+status () {
+    TMP=/tmp/bisect.$$
+    mtn bisect status 2>$TMP
+    RET=$?
+    if grep -q 'to start search' $TMP; then
+	RET=1
+    fi
+    if grep -q ' 0 remaining' $TMP; then
+	RET=1
+    fi
+    if [ $RET -ne 0 ]; then
+	cat $TMP
+    fi
+    rm $TMP
+    return $RET
+}
+
+QUIET=false
+
+while [ $# -gt 0 ]; do
+    case $1 in
+	--build)
+	    shift;
+	    BUILD="$1";;
+	--test)
+	    shift;
+	    TEST="$1";;
+	--quiet)
+	    QUIET=true;;
+	*)
+	    usage;;
+    esac
+    shift
+done
+
+if [ -z "$BUILD" -o -z "$TEST" ]; then
+    usage
+fi
+
+# Make sure there's actually a bisection in progress
+status || exit 1
+
+if $QUIET; then
+    exec 3>&1
+    exec >/dev/null 2>/dev/null
+else
+    exec 3>/dev/null
+fi
+
+while status; do
+    mtn bisect status >&3 2>&3
+    (eval $BUILD)
+    if [ $? -ne 0 ]; then
+	# fail build
+	mtn bisect skip
+    else
+	# build OK
+	(eval $TEST)
+	if [ $? -ne 0 ]; then
+	    # test fail
+	    mtn bisect bad
+	else
+	    # test OK
+	    mtn bisect good
+	fi
+    fi
+done
============================================================
--- /dev/null	
+++ tests/schema_migration/c3a13c60edc432f9a7739f8a260565d77112c86e.mtn.dumped	332d1a99caad7508f8547973c950d8713f527e3c
@@ -0,0 +1,177 @@
+BEGIN EXCLUSIVE;
+CREATE TABLE branch_epochs
+	(
+	hash not null unique,         -- hash of remaining fields separated by ":"
+	branch not null unique,       -- joins with revision_certs.value
+	epoch not null                -- random binary id
+	);
+CREATE TABLE branch_leaves
+        (
+        branch not null,        -- joins with revision_certs.value
+        revision_id not null,   -- joins with revisions.id
+        unique(branch, revision_id)
+        );
+INSERT INTO branch_leaves VALUES(X'746573746272616e636832',X'c81722b0236303685e341e16f0073d665090fb73');
+INSERT INTO branch_leaves VALUES(X'746573746272616e636831',X'4a1274f35812a695e357c6e7c7cd60f449f0cada');
+INSERT INTO branch_leaves VALUES(X'746573746272616e636833',X'75810233cc39b62341d669b610e9416fd6352869');
+CREATE TABLE db_vars
+        (
+        domain not null,      -- scope of application of a var
+        name not null,        -- var key
+        value not null,       -- var value
+        unique(domain, name)
+        );
+CREATE TABLE file_deltas
+	(
+	id not null,      -- strong hash of file contents
+	base not null,    -- joins with files.id or file_deltas.id
+	delta not null,   -- compressed rdiff to construct current from base
+	unique(id, base)
+	);
+INSERT INTO file_deltas VALUES(X'a9ca701697adae066b96d07aabb30f0d6245692c',X'd4929f246d23a51eba6799685e28f9ab077b483a',X'1f8b08000000000000fff35430e54a332c33e4e20200eac8a2590a000000');
+INSERT INTO file_deltas VALUES(X'36f92840dcffa22064b2dd9e0848d14350f07c5c',X'f9d518a4e1308cbe8503bdd8f578b16de4407491',X'1f8b08000000000000fff35430e54a332a33e4e202003ab2021e0a000000');
+INSERT INTO file_deltas VALUES(X'09848c4631a20ac166344f58a23fee04a6c646a4',X'1ece609689fb9462de25716110769bad1a80e8d8',X'1f8b08000000000000fff35430e54a332933e4e202009a4742910a000000');
+CREATE TABLE file_sizes
+	(
+	id primary key,     -- joins with files.id or file_deltas.id
+	size not null       -- the size of the file in byte
+	);
+INSERT INTO file_sizes VALUES(X'a9ca701697adae066b96d07aabb30f0d6245692c','5');
+INSERT INTO file_sizes VALUES(X'36f92840dcffa22064b2dd9e0848d14350f07c5c','5');
+INSERT INTO file_sizes VALUES(X'd4929f246d23a51eba6799685e28f9ab077b483a','5');
+INSERT INTO file_sizes VALUES(X'bbeadf8e35428c9e5333e71caf25851498306eb6','5');
+INSERT INTO file_sizes VALUES(X'f9d518a4e1308cbe8503bdd8f578b16de4407491','5');
+INSERT INTO file_sizes VALUES(X'09848c4631a20ac166344f58a23fee04a6c646a4','5');
+INSERT INTO file_sizes VALUES(X'1ece609689fb9462de25716110769bad1a80e8d8','5');
+CREATE TABLE files
+	(
+	id primary key,   -- strong hash of file contents
+	data not null     -- compressed contents of a file
+	);
+INSERT INTO files VALUES(X'bbeadf8e35428c9e5333e71caf25851498306eb6',X'1f8b08000000000000ff4b332e33e40200f1d83a4405000000');
+INSERT INTO files VALUES(X'd4929f246d23a51eba6799685e28f9ab077b483a',X'1f8b08000000000000ff4b332c33e20200b9431ec505000000');
+INSERT INTO files VALUES(X'f9d518a4e1308cbe8503bdd8f578b16de4407491',X'1f8b08000000000000ff4b332a33e2020057ecabd705000000');
+INSERT INTO files VALUES(X'1ece609689fb9462de25716110769bad1a80e8d8',X'1f8b08000000000000ff4b332933e202008bb3c0f205000000');
+CREATE TABLE heights
+	(
+	revision not null,	-- joins with revisions.id
+	height not null,	-- complex height, array of big endian u32 integers
+	unique(revision, height)
+	);
+INSERT INTO heights VALUES(X'bf468e6c22dec9203af6441ad7d20b6ad8af049a',X'00000001');
+INSERT INTO heights VALUES(X'c81722b0236303685e341e16f0073d665090fb73',X'00000002');
+INSERT INTO heights VALUES(X'43a2235616452dca74eecf39d645a69da8e0bdd0',X'000000010000000000000000');
+INSERT INTO heights VALUES(X'4a1274f35812a695e357c6e7c7cd60f449f0cada',X'00000003');
+INSERT INTO heights VALUES(X'75810233cc39b62341d669b610e9416fd6352869',X'00000004');
+CREATE TABLE manifest_certs
+	(
+	hash not null unique,   -- hash of remaining fields separated by ":"
+	id not null,            -- joins with manifests.id or manifest_deltas.id
+	name not null,          -- opaque string chosen by user
+	value not null,         -- opaque blob
+	keypair not null,       -- joins with public_keys.id
+	signature not null,     -- RSA/SHA1 signature of "address@hidden:val]"
+	unique(name, id, value, keypair, signature)
+	);
+CREATE TABLE manifest_deltas
+	(
+	id not null,      -- strong hash of all the entries in a manifest
+	base not null,    -- joins with either manifest.id or manifest_deltas.id
+	delta not null,   -- rdiff to construct current from base
+	unique(id, base)
+	);
+CREATE TABLE manifests
+	(
+	id primary key,      -- strong hash of all the entries in a manifest
+	data not null        -- compressed, encoded contents of a manifest
+	);
+CREATE TABLE next_roster_node_number
+	(
+	node primary key        -- only one entry in this table, ever
+	);
+INSERT INTO next_roster_node_number VALUES('5');
+CREATE TABLE public_keys
+	(
+	id primary key,         -- hash of remaining fields separated by ":"
+	name not null,          -- key identifier chosen by user
+	keydata not null        -- RSA public params
+	);
+INSERT INTO public_keys VALUES(X'de84b575d5e47254393eba49dce9dc4db98ed42d','address@hidden',X'30819d300d06092a864886f70d010101050003818b0030818702818100b9e2f563aeba98a137cf4e05a6e89a6e2fe90e11170dd8e49c06c5aae9c6f85a6de79729b056a249cb0aba71b7f28146309aaca244b3f1468b1f2c6bb6dbc02113368ce096c01f5a6083b0b0bef55d7c74573405c43203bcf6006392479cc4b8b853f4faec3acb8e444f0229428162d936ff1878e1bd5c03de816cabee1340f7020111');
+INSERT INTO public_keys VALUES(X'c9d80250e944708aab7fe960c1136b517fd30772','address@hidden',X'30819d300d06092a864886f70d010101050003818b00308187028181009f37f70031a6e06fa4fb9bc92c1a7a50ecb3ba84e76773fed5ca2beb446b66a70488b658e1b756e680b405dfb2a248fa0c10351bd6cb5f2b168cb188b2f224f2a10f8cd845453f7ee7dabb67359d07a15710776b11b027ab40587d9ec9513f29a59105d494e88d14de9194535c76392e72a35ef98a2b157db5118c3b5ee4f95f020111');
+CREATE TABLE revision_ancestry
+	(
+	parent not null,     -- joins with revisions.id
+	child not null,      -- joins with revisions.id
+	unique(parent, child)
+	);
+INSERT INTO revision_ancestry VALUES(X'',X'bf468e6c22dec9203af6441ad7d20b6ad8af049a');
+INSERT INTO revision_ancestry VALUES(X'bf468e6c22dec9203af6441ad7d20b6ad8af049a',X'c81722b0236303685e341e16f0073d665090fb73');
+INSERT INTO revision_ancestry VALUES(X'bf468e6c22dec9203af6441ad7d20b6ad8af049a',X'43a2235616452dca74eecf39d645a69da8e0bdd0');
+INSERT INTO revision_ancestry VALUES(X'43a2235616452dca74eecf39d645a69da8e0bdd0',X'4a1274f35812a695e357c6e7c7cd60f449f0cada');
+INSERT INTO revision_ancestry VALUES(X'c81722b0236303685e341e16f0073d665090fb73',X'4a1274f35812a695e357c6e7c7cd60f449f0cada');
+INSERT INTO revision_ancestry VALUES(X'4a1274f35812a695e357c6e7c7cd60f449f0cada',X'75810233cc39b62341d669b610e9416fd6352869');
+CREATE TABLE revision_certs
+	(
+	hash not null unique,   -- hash of remaining fields separated by ":"
+	revision_id not null,   -- joins with revisions.id
+	name not null,          -- opaque string chosen by user
+	value not null,         -- opaque blob
+	keypair_id not null,    -- joins with public_keys.id
+	signature not null,     -- RSA/SHA1 signature of "address@hidden:val]"
+	unique(name, value, revision_id, keypair_id, signature)
+	);
+INSERT INTO revision_certs VALUES(X'6f938572483d4f73bf952c3666dace09f95ebd50',X'bf468e6c22dec9203af6441ad7d20b6ad8af049a','branch',X'746573746272616e636831',X'c9d80250e944708aab7fe960c1136b517fd30772',X'0a3810a8fd6bff50d59204826b3ee32af81d3c9d5627711b0bc8f2780471aacdb0d6d80cee200636cd3deb563cfab05566e0817062e54bf5b5175655025b1e553d8d98154e86ed0e9665a167657524f925c8890593792b263489c4fd5bb7c0fa207095c717678440d4adff0e09ce19d203b30f39c9daa52715f3376595020232');
+INSERT INTO revision_certs VALUES(X'2dda1c13436be7c2f10271c210a2bd0c885f313c',X'bf468e6c22dec9203af6441ad7d20b6ad8af049a','changelog',X'626c61682d626c6168',X'c9d80250e944708aab7fe960c1136b517fd30772',X'34a21d284a20c9ddc32b08c97d4934068a9f8117c4f1ee47ad16a12ec3127ff8fa5c3f17434d2a556f619ab9ff09a053741c99e5966e4c7f81c8b7170c01d58484c761a4402f14f1df85a5f86a4f05d82e5e0237860cb957e148f493759b670197cf679151ba196d28efc9c6168d71ef7be9998a9ae563d6c02ac03b0266ed94');
+INSERT INTO revision_certs VALUES(X'6ac4524843235b44ca2dfc2696d38f2b90239109',X'bf468e6c22dec9203af6441ad7d20b6ad8af049a','date',X'313939392d30312d30315431323a30303a3030',X'c9d80250e944708aab7fe960c1136b517fd30772',X'6411df9eefc68ba4bdd113781a922e42c7e548bd893d4dd0212b9521e8f1582c4ae7857ace278e67a64723c18409f582a895ad0f72fec05121a60837a124ac66b41133c99da6a64ce6c4c438a8dae6d77bd9d3e4212a74cac244e0a2e6b8356ff3c6920ab72c5c3c7211953c8d41066a28be27001f15d3f8393adf2f6b07d492');
+INSERT INTO revision_certs VALUES(X'd77b687d8c619078e80721658a6d99dcfe7e32e5',X'bf468e6c22dec9203af6441ad7d20b6ad8af049a','author',X'74657374657240746573742e6e6574',X'c9d80250e944708aab7fe960c1136b517fd30772',X'1d9b1adf2c81ad01a2f86978fe32faa4986b8f3e9e7f7012ae0e9836338d5b9ca97a08f60c8719a503788cb18918acd33d0508f910604859f71b6753100d53fee97c49392e21cfe6a9998abcc78c3d2b6addece348a602c8b7b2e506d3be6d079292126379d39ac5deb5cb1c9a1043b9403d1a3647823f4220454ead87e42907');
+INSERT INTO revision_certs VALUES(X'c50226beb7e3d289d38e9f613021c380f89ab011',X'bf468e6c22dec9203af6441ad7d20b6ad8af049a','somekey',X'736f6d6576616c7565',X'c9d80250e944708aab7fe960c1136b517fd30772',X'1807efea8be82de6eab9686aa949d99870a99f374b09f9de1f899699f21a8dd8af841bbe84f155eb28befb14aff3772b7a90ed54961e15dd51239d0f6199ed505e2bcd6dc938e9499700216a2af3c74b1a1291c989263ecc12cd5c359bb054670f05b00027794ec4b074f555005e19b4fbd47c2836a06e2a8a72fe26850d7162');
+INSERT INTO revision_certs VALUES(X'628a294256cbb30fa29665cba0ce9a58c02e57b0',X'c81722b0236303685e341e16f0073d665090fb73','branch',X'746573746272616e636832',X'c9d80250e944708aab7fe960c1136b517fd30772',X'97c44b9de4e66ef26b694970ceaa8d8b8a63a0c0c8578ad0951d9284e21b985475163c8ebd168de90e2b8f7ea461a78c9556ac0a31d12b974c3279a1106723c149ad73acf8f8729bbcee418db1c2ec778cb1cedefa72a9cfde1c99b5554f47c9e7fbc2ab32376b09ca8b78d3f534fdbf7f38c793935a1ba4995ec2ed54b0ae7b');
+INSERT INTO revision_certs VALUES(X'55d537c81d3e6db852813076cbb476aa7bfb8e6d',X'c81722b0236303685e341e16f0073d665090fb73','changelog',X'626c61682d626c6168',X'c9d80250e944708aab7fe960c1136b517fd30772',X'329aed4969e5b59d7eb51288c0e92ef10334fb2240d71db652216e0e09c5de256e47795e3d23568a5cce6cccc6b9844bbdb2797d763d6e59ca0cf65ef0994241581a9ae9d80a3a68938bbc4847126b469b1af08f49f2235fc518e18058fa1363d3399005fad5bce391c12551494426a2aca58485200ebd7e6b323bc3c3a01173');
+INSERT INTO revision_certs VALUES(X'70c013d2ba0e97f5e706dcc27e8eb32920f09c6f',X'c81722b0236303685e341e16f0073d665090fb73','date',X'323030302d30312d30315431323a30303a3030',X'c9d80250e944708aab7fe960c1136b517fd30772',X'2fbef5dba2115c40db66386dbf91453684c5db3c597424d631bd2bf57d850fffc15f9b8f3df40b47bd1d935f4ace464f1dc5b337245d8b07126099834ae57b6e54ed2efaef1bae918cb71944725dac12fabbb85eca132a2feee5589ab6ef7685bef3fe5e36ee26ae4b6d7cab8d07aeebdfc37a687b2d62659f37f07a5e0a520a');
+INSERT INTO revision_certs VALUES(X'e70e1cc3843fe732d6ee20d25749f98c8862166b',X'c81722b0236303685e341e16f0073d665090fb73','author',X'74657374657240746573742e6e6574',X'c9d80250e944708aab7fe960c1136b517fd30772',X'86a32cebddaec8e68cee2def23bd4ead4ff46346bec261419c8b3991f1ff889a87ee985c4589b7e160c51676422da2ae064cda8f9c2ee9fb6410fc0d605c258732b3a067f55e43468f9d2f1aea36651ee4b003ba82d40b854f054815217358a6ead981bc50d641ad21f49f606f89a27d6b6d7b0fe04bc6f94afde9ab81717b02');
+INSERT INTO revision_certs VALUES(X'b8207be46ed175205466998210bab3b6c30fa06b',X'43a2235616452dca74eecf39d645a69da8e0bdd0','branch',X'746573746272616e636831',X'c9d80250e944708aab7fe960c1136b517fd30772',X'68eab511c6fd1997db7141d0c9171b2daf80784b3875f9c05323f4d3c788624b76b57fa71e0a043e263c93cedca68f0abab8c3665b7be918e89b43441fcbe47e6979ed66dc7a3631abfed3486eea948890d2e2a690e37eb13e8c47c93ed7209c9a42b87b4a637c2b4afd30a101cee8cb5885d1681b7d2e9d990df33e99aaac62');
+INSERT INTO revision_certs VALUES(X'9d9472e1be171031fee0ff82f41d752e8124742e',X'43a2235616452dca74eecf39d645a69da8e0bdd0','changelog',X'626c61682d626c6168',X'c9d80250e944708aab7fe960c1136b517fd30772',X'09975b6cb5ef7044dd7b3eb0b7d273d65f885f96fcc4e70472034d3b8221139a8bf768d8d2e2580f5f584fb92bbf8c12132a86afe50cbd2ef52e7b3503cecc9ef69a62a2c3cd624a2dfa4a0932db5e6bd7931545a2df9dd4d8eb6a91f2c435a4cec598be9303bfe42c2c58c1258045a5dcb91038f583970a376f9d6d8a232d68');
+INSERT INTO revision_certs VALUES(X'c2e926d430da9903c918ee15b2b2dfe99ee58463',X'43a2235616452dca74eecf39d645a69da8e0bdd0','date',X'323030312d30312d30315431323a30303a3030',X'c9d80250e944708aab7fe960c1136b517fd30772',X'08a151ea8f30e5ec1574edbb4304ecd90d0cbe7652596b56ae724efc5346aded024e9570028d1c8f565f02de2841837df9b60e88526fb28f3cea13fb6fae61fe04250636388554ca82c5df5be09884970eff189c03c752b87c8640ca96cddd302a439145ab2c17c15843b68dc3d236696e78a161dce6460796790d9c5727c42c');
+INSERT INTO revision_certs VALUES(X'eaa39fc163b0d38cded5270f60bc9570e7f4e1b0',X'43a2235616452dca74eecf39d645a69da8e0bdd0','author',X'74657374657240746573742e6e6574',X'c9d80250e944708aab7fe960c1136b517fd30772',X'3ac80b0a61bb53d64f1cce10822c0d14707db5a266a35174f1b08d5ceeef50d85327281e47a6f2ea3971219cd92dd5709436764253589782a5b887eda85a588fcd70d20c40d1c3607f66127e92c3514e9896c9af8ed1a1503bbc9b6117e3aa038560be915d6e0e1423b994169e20da4b4577b40afbd79d438815380a2bc3a023');
+INSERT INTO revision_certs VALUES(X'1288aa1a3c351fd0528aa95ddaae309cc5eec3e2',X'4a1274f35812a695e357c6e7c7cd60f449f0cada','branch',X'746573746272616e636831',X'c9d80250e944708aab7fe960c1136b517fd30772',X'976aa27ee04de6305b1abd387eeff10bb1c66e9d61f3dd246e81efed5570fab7a3b96338e832e5b8013835aa1a135ab19406665a2095977f36abfabdbc04789d61649ac5c89e3d66c8a1b2bcad821e94ed6b10d2500391367ae460e39ce2e49b8d15ae890b5e7e1494356cb1d5683102c092b0492c524137827b5705c199e4cc');
+INSERT INTO revision_certs VALUES(X'27e8a71b0fa56a551e72aed26861ba404d02fd32',X'4a1274f35812a695e357c6e7c7cd60f449f0cada','changelog',X'70726f7061676174652066726f6d206272616e63682027746573746272616e636832272028686561642063383137323262303233363330333638356533343165313666303037336436363530393066623733290a202020202020202020202020746f206272616e63682027746573746272616e636831272028686561642034336132323335363136343532646361373465656366333964363435613639646138653062646430290a',X'c9d80250e944708aab7fe960c1136b517fd30772',X'8a542aa0138106374f6d10b450ea65c12bafd701c0bf81ca03264be3442ca5e5affea946ddfa9865345f39c5e21bf132e37fe54543e043d2aa68d98301f0f5b10cc12e25a6a5d8b7d507736f65c8dfcdd549cda4671c30acaec6cc273b5974d65ba326f6fc946fb3785e8d544dced8de86e4144f953e660b4e30fee92d71c1fd');
+INSERT INTO revision_certs VALUES(X'884d60e16e31cf3621191bd2dab0caf39a0283fe',X'4a1274f35812a695e357c6e7c7cd60f449f0cada','date',X'323030322d30312d30315431323a30303a3030',X'c9d80250e944708aab7fe960c1136b517fd30772',X'0cf775eddbf69611d4acce57040e7fdbcca0cad51ea07b35dbf48307d9b3a14a5f481c8402047a38d0b2f1145c6e8cf9f15ff9b1cd3680c0f0690e9516932a790b3c990d6783f6374426cf8600f08a56ad038beb9fb6e7e09defc6e4ebf208b2f66d51e840c018874b06deb2b21c7d8e81cde06ef3bad3a6460b6bed4e716146');
+INSERT INTO revision_certs VALUES(X'2724dd7883fb44a58d40eba12808ed5b9e09f7b6',X'4a1274f35812a695e357c6e7c7cd60f449f0cada','author',X'74657374657240746573742e6e6574',X'c9d80250e944708aab7fe960c1136b517fd30772',X'6ca7bd89227bfb3df1a2ad46a82e15bcee03aa721a60a2b71067573f1b64e3145d2063643516dcc08afdf98bf192765a0818720c9432abee5299fc37e0de7d0843b909c7f29567004b881ca668c335614c0c3c46c687ffbcdf8ec03413345469027e8f54f9ee1db2a406ce891777ee4b9a282f17d52ca17a22ef258d77323ed2');
+INSERT INTO revision_certs VALUES(X'5b44cd5cd32f3e8f268ac1cd30ccfa27d16667c6',X'75810233cc39b62341d669b610e9416fd6352869','branch',X'746573746272616e636833',X'c9d80250e944708aab7fe960c1136b517fd30772',X'02065dabb4b64a46fabde90e1a5fc6927cc3955b02b104a17400a55864a3c5f35ebbc21268ef75320157793d5041967d566bb6967f47f1816ee4d94095c80bd715f677c24c4c369d967938f315b12a12d2da928da45cdf0392d2eb23b9b7634e546108e74d7a49f537516c43a5683f4f28ef5c097d2c792f7bc6d3da4eb019e9');
+INSERT INTO revision_certs VALUES(X'98640622c14a2ecbe23b7251b960d8bc78dec4a2',X'75810233cc39b62341d669b610e9416fd6352869','changelog',X'626c61682d626c6168',X'c9d80250e944708aab7fe960c1136b517fd30772',X'5eb6f3d6dd6a258a452a859f44fd628de197892dd8d0cc72fe8739e02bd9d71fb206270c48f95d3dbec666c2e495bf1dbbddfda54baf8ed2830dd2bf9e6e41ca8facbe6cfa78fd28aea2c9221e55200998f6d37c87bf1e31d2eb9bec9498de353b05711efde836b51bc28dd27ae19893b363c615a6f9714fa106dac912d97e03');
+INSERT INTO revision_certs VALUES(X'b0f324986982bdf443036f061977a7895ae94f84',X'75810233cc39b62341d669b610e9416fd6352869','date',X'323030332d30312d30315431323a30303a3030',X'c9d80250e944708aab7fe960c1136b517fd30772',X'3b739121ed5856dfdf133d2e1dfe3064a6762bb1df8c62477923f285fd5119f7520afda97d685f1a57da80cd95d4bcecca5e13922919612f87fbab02e856cddf6ce9784ffdfa28ac75a4471800965dd39e6ca59d1096811914cd73ac3769b966921bd702a2b7e858c52526e3c03d571996eaabf5629674d9e5caf91aa61118db');
+INSERT INTO revision_certs VALUES(X'7a8a589d30fc17ee317ff9bacecac0d30524003a',X'75810233cc39b62341d669b610e9416fd6352869','author',X'74657374657240746573742e6e6574',X'c9d80250e944708aab7fe960c1136b517fd30772',X'1ff0ba8c9d5fc8076edd017eacbb7716e856266e65b1aa5f57c9989044cabaeda08db4de731dd2a3c302b0fd96844f88b6f73b2ccbb88f4a0093d55e3eee6ae28d61df1e4d7b373ccf1f4bda2809aa4a3d1c57a7bba4008f749b13a014318368964fa79808ff8d43ef4f747cd7ff929467b8d92d53ce50f14eff04c64ed47146');
+CREATE TABLE revisions
+	(
+	id primary key,      -- SHA1(text of revision)
+	data not null        -- compressed, encoded contents of a revision
+	);
+INSERT INTO revisions VALUES(X'bf468e6c22dec9203af6441ad7d20b6ad8af049a',X'1f8b08000000000000ff7d8f516ec4200c44ff730a941310020e9c655521838d849a25524253f5f675b6ab6afbd33f7b64bf9929db7ec71e4fde8fba35354ee33034fe8c776cb5f0d1d56d723c93830c73c95a0369eb0b7aca160a99e49ce54218fcf2360cdb4a71e7b33e503711902852ddd528d46b2e75653576e15e9378a9bcb5ce4d6c30645cf404614142d6002988d78298d2ac8b2630d64130f949fd4b32afa4194a30de6acaa5a0311a6c324481b5b79e263b3bc12dd95d24a50eee573a85bd4b4cc91adff96b1c4e5c3f24696db5575ce363950ecffbd7023f8fbfca7fefdf4efe81006c010000');
+INSERT INTO revisions VALUES(X'c81722b0236303685e341e16f0073d665090fb73',X'1f8b08000000000000ff55504b6ec4200cdde7142827000306ce128d22838d1a359354099daab72f9959b4dd3df9c9ef57f7e34e6d7ec8712efba646330ec3265ff39db6a5cad9d49483454b021cc4016682081a74e452832793cb45b106b80dc3bef27cc863794a4db93a8c820580a524d0962a3a67880383ce481ca96a97a83f12f35c9755d4d8bae785ec38a8b26f4db62b4216e21ac57a07b124f1d65a09a650051fbd71295a8d92b12b7d502b6fbf32bd8eaac77e5713a542411b4c81984423e684ac0351ce5657cd08ce6382721b94526d5713bb04a98243064bde48260c2961f402b126ca3a84eca2bde29755e8f86f4aadfdbdcceff2dd9755ea94a6c61eeac5f372bc9807ad9fbdfdb5fc138ec30f0e1419fe99010000');
+INSERT INTO revisions VALUES(X'43a2235616452dca74eecf39d645a69da8e0bdd0',X'1f8b08000000000000ff45cf416ec4300805d07d4e61e5041863629f25aa226c408d34935499687afdbadd74c7e6bffff1f37acabdbded7aede711e6384fd361dfdb538edded7587d540d1a2a6dcda8220b5606c4be9192117e6c6d031755ce2c7349d0fdd2e7bef7fd4da9cb8187744b55e1192381345d145111a8b1671a02a2328aa9bef0f0bf33d3a7f2f9aa7d0cfe3b6634c805aa874e214652ce8913911792e82c9cd80843b130b0de94beefef9cfe060fc3a9f614dec150b8176774104a686aad560d01a296570587aee1f5308e13ec3ea55732c42161394deac64484db5785e4a8bac46040bd5f1f70f3f710feb44010000');
+INSERT INTO revisions VALUES(X'4a1274f35812a695e357c6e7c7cd60f449f0cada',X'1f8b08000000000000ff6d925d8e5b310885dfef2aacac001b8c612dd128c23656a326b9d5cd6daaeebece8c343f9abe61830f870f8f75bbda7e7af8763fafb770888765b9f99fd3d56ee7e1f73d1cd5ab6a746c15a28a786e11184b2b6370e748223224417c5996f5d24f9b3fceaf5247424b093347a69c7ab342ee6da0f67936d66ee2507b87f9d07a3f8df3c5c3619f3d9f111e96d0d6dbeeb769a156b73ec4315392a69e11d14b6c3652961c490581bdf254fa657bfbf12133c709635bafe1683a1d40642dd6cd81b92a772866b5220ce89c28b3a6f6b28410f6351c3b69d291887b42cbd1ab715165c99e64a85528a592a0cda6ede2b67d6d6afbfef9e6f4d3ff4eb221dc7d0f8769ea2ddfcfdb5be66197df73fa27f9d770d67e85d92496942a2464047cba408a1e790014eccc1914462df85f98f41926a89034628c96c05a6446a291c5120e7720e3c6c446df61a67798c8439310f436c65c3230d5d4bb3a4ce91e09f3245a5afe8039b4e728461e11a455970c38772f2317a991bb1341219d9fe81fbfd91b0491020000');
+INSERT INTO revisions VALUES(X'75810233cc39b62341d669b610e9416fd6352869',X'1f8b08000000000000ff458e4b6ec3300c05f73a85e01350164551673102839248d4803f852324d76fda4db70f989967d77dc8585f7a3fb7ebf453989c3bf5bd1e726ea6cfe1979e103924c1c8991820d66626b5722b52b16b16c602040fe7aebdafb7beb63fd58212e68c16138759a8248d2937d2dc72eb0486580c9a74f9805d771deaa7f129dab6ebef8b6f19edeb7fc2c979bbafc32f5018b921c52033480b4411d112cb1c4d1550a81192e0c379efc7e597a04d090a71b15a90e6ae73ca8142804ca54a0fc2a0dcf9e17e00b6033a020e010000');
+CREATE TABLE roster_deltas
+	(
+	id primary key,         -- a revision id
+	checksum not null,      -- checksum of 'delta', to protect against disk corruption
+	base not null,          -- joins with either rosters.id or roster_deltas.id
+	delta not null          -- rdiff to construct current from base
+	);
+INSERT INTO roster_deltas VALUES(X'bf468e6c22dec9203af6441ad7d20b6ad8af049a',X'e27f3cde4a1ab7074b37f9a95e2827a5d1c54a98',X'c81722b0236303685e341e16f0073d665090fb73',X'1f8b08000000000000ff9d92516ec3201044ff3905e20498501cce1245d6c22e310aa595bbadd4db173b955bff95f2b9308f9901a4424c2895554248895418a4324ac497ca54595ec04718f5e0fc0808a49d0bdea11e014238e9a4d119fbe4bc895721807999e20cf5b61207d5808fb56e48857999eef4b98f3fa0bcd37a4eaa5c336728d3366a4e8ea466e748627ae3940b0d7fe549f90ccb3dd7db6e2be485677909c9ba33b9680c52f4469f20396b07c0118d0e0ef00c495b0f57f10a3c4f2ba547b4e5d8447bfa1ef923f66efda7876ef7adbf7f05f8fe06ddc1db7dbfb21fdfaba7812f78156ffba0020000');
+INSERT INTO roster_deltas VALUES(X'43a2235616452dca74eecf39d645a69da8e0bdd0',X'e27f3cde4a1ab7074b37f9a95e2827a5d1c54a98',X'4a1274f35812a695e357c6e7c7cd60f449f0cada',X'1f8b08000000000000ff9d92516ec3201044ff3905e20498501cce1245d6c22e310aa595bbadd4db173b955bff95f2b9308f9901a4424c2895554248895418a4324ac497ca54595ec04718f5e0fc0808a49d0bdea11e014238e9a4d119fbe4bc895721807999e20cf5b61207d5808fb56e48857999eef4b98f3fa0bcd37a4eaa5c336728d3366a4e8ea466e748627ae3940b0d7fe549f90ccb3dd7db6e2be485677909c9ba33b9680c52f4469f20396b07c0118d0e0ef00c495b0f57f10a3c4f2ba547b4e5d8447bfa1ef923f66efda7876ef7adbf7f05f8fe06ddc1db7dbfb21fdfaba7812f78156ffba0020000');
+INSERT INTO roster_deltas VALUES(X'c81722b0236303685e341e16f0073d665090fb73',X'8f1ef559aafa23fd0ac6812bfb37359aca147026',X'4a1274f35812a695e357c6e7c7cd60f449f0cada',X'1f8b08000000000000ff958ed10d83300c05ff99c2ca04c6312199055595133b0595d20a657fb5a02ec0fb3ce94e4f6db5660a6e705d07a0b63601e75d57de5bb3adc1e4434d1419b5d42a441838936a328c1cb5673f60c5b10ce576f8bfbd647f2edbe38c9c00202f7b9b61ca9543b45088d44a22f45203732f3a2a610ea2512a7292db11fa489bef47eb8af73f7dd9fb02912a55d206010000');
+INSERT INTO roster_deltas VALUES(X'4a1274f35812a695e357c6e7c7cd60f449f0cada',X'c0e9c55669954cdd7b1fdbcec6dd2acc34cf4bf3',X'75810233cc39b62341d669b610e9416fd6352869',X'1f8b08000000000000ff9551d16ec3200c7ccf5720be008c63e05baa293218da685d3a756cd2fe7e248bb6ae4fddbd59d69defce2c32d5f95c94063d9c2f99db7c5994b65ae956dedabab27a50f9b2b4b23475108c102b2009381e6d494c3e460a6381502327e37dc2e0f869189492726eacf4a8871fbe890143467296c170b6440eb18e81c1d5520c32654262ec7c6eed3ae5132fc7229b3db5635ddcd89b9ecb67b7f88d0f3ebff730a6fbd7ab858e17be3ecfcbf15622cdd7765287549142a10c202547308e2b215a162f6012b104ae06630fd3655eb99da655eb3fbc3df7cecbc17a8064c091336e2dcda12d96aa31de09d168a2a9c9bbedde167fbbf7fb892daa3a3cae73d740ffc45689527b03e818c08d64094790cc1e4bc9d545e93353140ec5241173dfc0e3bcbf0d3ccefb02ae00bba999020000');
+CREATE TABLE rosters
+	(
+	id primary key,         -- a revision id
+	checksum not null,      -- checksum of 'data', to protect against disk corruption
+	data not null           -- compressed, encoded contents of the roster
+	);
+INSERT INTO rosters VALUES(X'75810233cc39b62341d669b610e9416fd6352869',X'9c5d47769e8f04ad777bd574a6a6e2bcb658c4bc',X'1f8b08000000000000ff9d93dd6a23310c85eff314669e40b26c597e9610827f643ab44dca74dab26fbf4e32e9928185697d25231fa3f3496ae7e935cdc74f9ddec7f3c90c38ec76e67aea389961b85ec6aaa7f99abb66d23cf754cf1f9ff5cf6086937e1d3fd3cb87de5ee7719a9fcc3e37c7a25cacad5aa2054a8d9dc35443b5903955490d5c4c87dd5b9a9f8eaf697afe89e852c44df4af927d110cd666b0c404c4e2951c2a72030854993d446839d0e16ed29836bea819667d9f2f91bd5930e57c9a2f9ef72d568f929c228194ace28172add27c908c5cd539082ee261a1661656b47c64cc8f7174c6bf22b2d4bc907494ac25cfc8cedb5a5270aaa551acfd9e38d6240add08fc17c5ddc1378a9c35d5264ade5929513d1169c0929af5e2d1452160cdbc46e1d628b677e911c576dd238aedba7b1357537177f08d02b5284364892d47c77dc2ad0fc8881038e6543109a85459a3f06b14dbbbf48862bbee1145f0827d3ba8148a996ddf8ebe153d42d0e8fa9e54266f85e361f717c1138ebb19040000');
+CREATE INDEX heights__height ON heights (height);
+CREATE INDEX revision_ancestry__child ON revision_ancestry (child);
+CREATE INDEX revision_certs__revnameval ON revision_certs (revision_id,
+       name, value, keypair_id, signature);
+PRAGMA user_version = 1598903374;
+COMMIT;
============================================================
--- NEWS	8f00fa4d536c26f515c982a2078102e5fba864c0
+++ NEWS	82e6621761e40979b4cdf7be2d5e500db32bb43d
@@ -37,6 +37,11 @@ XXX XXX XX XX:XX:XX UTC 2010
           a diff using mtn diff, it would report that "/dev/null is
           binary".  This has been changed to it reports the actual
           name of the removed file instead.
+          (fixes monotone issue 111)
+
+        - mtn pull and mtn sync would always say that your workspace
+          has not been updated.  Now, it only does that when you used
+          the --update option and there were no updates.
           (fixes monotone issue 106)
 
         Internal
============================================================
--- po/sv.po	34abd807134f89daad43984922063c2f627f2155
+++ po/sv.po	60090cb2c4d91b782a50e3b83c78ff8f31a578ee
@@ -154,8 +154,8 @@ msgstr ""
 msgstr ""
 "Project-Id-Version: monotone 0.26pre1\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2010-11-15 23:55+0100\n"
-"PO-Revision-Date: 2010-11-15 23:57+0100\n"
+"POT-Creation-Date: 2010-11-27 16:55+0100\n"
+"PO-Revision-Date: 2010-11-28 06:39+0100\n"
 "Last-Translator: Joel Rosdahl <address@hidden>\n"
 "Language-Team: Richard Levitte <address@hidden>\n"
 "Language: \n"
@@ -983,8 +983,8 @@ msgstr "Kör KOMMANDO på servern i andr
 msgstr "Kör KOMMANDO på servern i andra änden"
 
 #: cmd_netsync.cc:219 cmd_list.cc:988 cmd_packet.cc:73 cmd_packet.cc:134
-#: cmd_packet.cc:257 cmd_key_cert.cc:81 cmd_key_cert.cc:186 cmd_merging.cc:384
-#: cmd_merging.cc:1131 cmd_merging.cc:1202 cmd_ws_commit.cc:1134
+#: cmd_packet.cc:254 cmd_key_cert.cc:81 cmd_key_cert.cc:186 cmd_merging.cc:384
+#: cmd_merging.cc:1141 cmd_merging.cc:1219 cmd_ws_commit.cc:1134
 #: cmd_ws_commit.cc:1342 cmd_ws_commit.cc:1456 cmd_ws_commit.cc:1478
 #: cmd_automate.cc:137 cmd_files.cc:239 cmd_files.cc:336 cmd_files.cc:360
 #: cmd_files.cc:394 automate.cc:85 automate.cc:122 automate.cc:175
@@ -1124,7 +1124,7 @@ msgstr "det finns redan en administrativ
 msgstr "det finns redan en administrativ katalog i '%s'"
 
 #: cmd_netsync.cc:862 cmd_merging.cc:535 cmd_merging.cc:636 cmd_merging.cc:641
-#: cmd_merging.cc:1454 cmd_ws_commit.cc:1030
+#: cmd_merging.cc:1471 cmd_ws_commit.cc:1030
 #, c-format
 msgid "branch '%s' is empty"
 msgstr "grenen '%s' är tom"
@@ -1391,40 +1391,35 @@ msgstr "Skriver ut datapaket för privat
 msgid "Prints a private key packet"
 msgstr "Skriver ut datapaket för privat nyckel till stdout"
 
-#: cmd_packet.cc:157
-#, c-format
-msgid "public and private key '%s' do not exist in keystore"
-msgstr "den publika och privata nyckeln '%s' finns inte i nyckellagret"
-
-#: cmd_packet.cc:251
+#: cmd_packet.cc:248
 msgid "PACKET-DATA"
 msgstr "PAKETDATA"
 
-#: cmd_packet.cc:252
+#: cmd_packet.cc:249
 msgid "Load the given packets into the database"
 msgstr "Ladda in de givna paketen i databasen"
 
-#: cmd_packet.cc:268
+#: cmd_packet.cc:265
 msgid "Reads packets from files"
 msgstr "Läser paket från filer eller stdin"
 
-#: cmd_packet.cc:269
+#: cmd_packet.cc:266
 msgid "If no files are provided, the standard input is used."
 msgstr "Om ingen fil angivits används stdin."
 
-#: cmd_packet.cc:279
+#: cmd_packet.cc:276
 #, c-format
 msgid "no packets found on stdin"
 msgstr "inga paket hittade i stdin"
 
-#: cmd_packet.cc:292
+#: cmd_packet.cc:289
 #, c-format
 msgid "no packets found in given file"
 msgid_plural "no packets found in given files"
 msgstr[0] "inga paket funna i den angivna filen"
 msgstr[1] "inga paket funna i de angivna filerna"
 
-#: cmd_packet.cc:296
+#: cmd_packet.cc:293
 #, c-format
 msgid "read %d packet"
 msgid_plural "read %d packets"
@@ -1756,7 +1751,7 @@ msgstr "Slår ihop ej ihopslagna löv i 
 msgid "Merges unmerged heads of a branch"
 msgstr "Slår ihop ej ihopslagna löv i grenen"
 
-#: cmd_merging.cc:528 cmd_merging.cc:1111 cmd_merging.cc:1445
+#: cmd_merging.cc:528 cmd_merging.cc:1121 cmd_merging.cc:1462
 #, c-format
 msgid "please specify a branch, with --branch=BRANCH"
 msgstr "var god ange en gren med --branch=GREN"
@@ -1923,49 +1918,56 @@ msgstr "%s är en förfader till %s; nå
 msgid "%s is an ancestor of %s; no merge is needed."
 msgstr "%s är en förfader till %s; någon ihopslagning behövs inte."
 
-#: cmd_merging.cc:1041
+#: cmd_merging.cc:1042
 #, c-format
-msgid "no conflicts detected"
-msgstr "inga konflikter funna"
+msgid "0 conflicts"
+msgstr "0 konflikter"
 
-#: cmd_merging.cc:1075 cmd_conflicts.cc:160 cmd_conflicts.cc:173
+#: cmd_merging.cc:1077
 #, c-format
+msgid "%d conflict with supported resolutions."
+msgid_plural "%d conflicts with supported resolutions."
+msgstr[0] "varning: %d konflikt med lösningsstöd."
+msgstr[1] "varning: %d konflikter med lösningsstöd."
+
+#: cmd_merging.cc:1082 cmd_conflicts.cc:160 cmd_conflicts.cc:173
+#, c-format
 msgid "warning: %d conflict with no supported resolutions."
 msgid_plural "warning: %d conflicts with no supported resolutions."
-msgstr[0] "varning: %d konflikt utan lösning."
-msgstr[1] "varning: %d konflikter utan lösning."
+msgstr[0] "varning: %d konflikt utan lösningsstöd."
+msgstr[1] "varning: %d konflikter utan lösningsstöd."
 
-#: cmd_merging.cc:1082
+#: cmd_merging.cc:1089
 msgid "REV REV"
 msgstr "REV REV"
 
-#: cmd_merging.cc:1083
+#: cmd_merging.cc:1090
 msgid "Shows what conflicts need resolution between two revisions"
 msgstr ""
 "Visar de konflikter som behöver lösas om de givna revisionerna slås ihop."
 
-#: cmd_merging.cc:1084
+#: cmd_merging.cc:1091
 msgid ""
 "The conflicts are calculated based on the two revisions given in the REV "
 "parameters."
 msgstr "Konflikten beräknas på bas av de två angivna revisionerna REV."
 
-#: cmd_merging.cc:1118
+#: cmd_merging.cc:1128
 #, c-format
 msgid "branch '%s' has only 1 head; must be at least 2 for conflicts"
 msgstr ""
 "grenen '%s' har bara 1 löv; det måste vara minst 2 stycken för "
 "'show_conflicts'"
 
-#: cmd_merging.cc:1151
+#: cmd_merging.cc:1161
 msgid "[LEFT_REVID RIGHT_REVID]"
 msgstr "[VÄNSTER_REVID HÖGER_REVID]"
 
-#: cmd_merging.cc:1152
+#: cmd_merging.cc:1162
 msgid "Shows the conflicts between two revisions"
 msgstr "Visar konflikterna mellan två revisioner"
 
-#: cmd_merging.cc:1153
+#: cmd_merging.cc:1163
 msgid ""
 "If no arguments are given, LEFT_REVID and RIGHT_REVID default to the first "
 "two heads that would be chosen by the 'merge' command."
@@ -1973,11 +1975,11 @@ msgstr ""
 "Utan givna argument blir VÄNSTER_REVID och HÖGER_REVID de två första löven "
 "som kommandot 'merge' skulle ha valt."
 
-#: cmd_merging.cc:1167
+#: cmd_merging.cc:1180
 msgid "Store the conflicts from merging two revisions"
 msgstr "Spara konflikterna från en hopslagning av två revisioner"
 
-#: cmd_merging.cc:1168
+#: cmd_merging.cc:1181
 msgid ""
 "If no arguments are given, LEFT_REVID and RIGHT_REVID default to the first "
 "two heads that would be chosen by the 'merge' command. If --conflicts-file "
@@ -1987,16 +1989,21 @@ msgstr ""
 "som kommandot 'merge' skulle ha valt.  Om --conflicts-file inte är angiven "
 "används '_MTN/conflicts'."
 
-#: cmd_merging.cc:1177 options_list.hh:602 options_list.hh:623
+#: cmd_merging.cc:1190 options_list.hh:602 options_list.hh:623
 #, c-format
 msgid "conflicts file must be under _MTN"
 msgstr "konfliktfilen måste ligga under _MTN"
 
-#: cmd_merging.cc:1188
+#: cmd_merging.cc:1202
+#, c-format
+msgid "stored in '%s'"
+msgstr "sparat i '%s'"
+
+#: cmd_merging.cc:1205
 msgid "LEFT_REVID LEFT_FILENAME RIGHT_REVID RIGHT_FILENAME"
 msgstr "VÄNSTER_REVID VÄNSTER_FILNAMN HÖGER_REVID HÖGER_FILNAMN"
 
-#: cmd_merging.cc:1189
+#: cmd_merging.cc:1206
 msgid ""
 "Prints the results of the internal line merger, given two child revisions "
 "and file names"
@@ -2004,20 +2011,20 @@ msgstr ""
 "Visa resultatet från den interna ihopslagningsmekanismen, utgående från två "
 "revisioner och filnamn"
 
-#: cmd_merging.cc:1241
+#: cmd_merging.cc:1258
 #, c-format
 msgid "internal line merger failed"
 msgstr "den interna ihopslagningsmekanismen misslyckades"
 
-#: cmd_merging.cc:1246
+#: cmd_merging.cc:1263
 msgid "[PATH...]"
 msgstr "[SÖKVÄG ...]"
 
-#: cmd_merging.cc:1247
+#: cmd_merging.cc:1264
 msgid "Applies changes made at arbitrary places in history"
 msgstr "Applicerar ändringar som gjorts på godtyckliga platser i historien"
 
-#: cmd_merging.cc:1248
+#: cmd_merging.cc:1265
 msgid ""
 "This command takes changes made at any point in history, and edits your "
 "current workspace to include those changes.  The end result is identical to "
@@ -2039,7 +2046,7 @@ msgstr ""
 "Om två revisioner har givits utförs alla ändringar som gjorts för att komma "
 "från den första till den andra."
 
-#: cmd_merging.cc:1272
+#: cmd_merging.cc:1289
 #, c-format
 msgid ""
 "revision %s is a merge\n"
@@ -2050,49 +2057,49 @@ msgstr ""
 "för att utföra ändringarna relativt en av dess föräldrar, gör så här:\n"
 "  %s pluck -r FÖRÄLDER -r %s"
 
-#: cmd_merging.cc:1288
+#: cmd_merging.cc:1305
 #, c-format
 msgid "no changes to apply"
 msgstr "inga ändringar att utföra"
 
-#: cmd_merging.cc:1350
+#: cmd_merging.cc:1367
 #, c-format
 msgid "no changes to be applied"
 msgstr "inga ändringar att utföra"
 
-#: cmd_merging.cc:1400
+#: cmd_merging.cc:1417
 #, c-format
 msgid "no changes were applied"
 msgstr "inga ändringar blev utförda"
 
-#: cmd_merging.cc:1404
+#: cmd_merging.cc:1421
 #, c-format
 msgid "applied changes to workspace"
 msgstr "utförde ändringarna i arbetskopian"
 
-#: cmd_merging.cc:1436
+#: cmd_merging.cc:1453
 msgid "Shows unmerged head revisions of a branch"
 msgstr "Visar ej ihopslagna lövrevisioner i grenen"
 
-#: cmd_merging.cc:1456
+#: cmd_merging.cc:1473
 #, c-format
 msgid "branch '%s' is currently merged:"
 msgstr "grenen '%s' har för tillfället ett löv:"
 
-#: cmd_merging.cc:1458
+#: cmd_merging.cc:1475
 #, c-format
 msgid "branch '%s' is currently unmerged:"
 msgstr "grenen '%s' har för tillfället mer än ett löv:"
 
-#: cmd_merging.cc:1465 automate.cc:1411
+#: cmd_merging.cc:1482 automate.cc:1411
 msgid "[REVID]"
 msgstr "[REVID]"
 
-#: cmd_merging.cc:1466
+#: cmd_merging.cc:1483
 msgid "Dumps the roster associated with a given identifier"
 msgstr "Skriver ut den lista som hör ihop med angiven identifierare"
 
-#: cmd_merging.cc:1467
+#: cmd_merging.cc:1484
 msgid "If no REVID is given, the workspace is used."
 msgstr "Om ingen REVID angivits används arbetskopian."
 
@@ -3637,10 +3644,10 @@ msgstr "alla konflikter lösta"
 msgid "all conflicts resolved"
 msgstr "alla konflikter lösta"
 
-#: cmd_conflicts.cc:200 merge_conflict.cc:1484
+#: cmd_conflicts.cc:200
 #, c-format
-msgid "%s is not a supported conflict resolution for %s"
-msgstr "%s stöds inte som konfliktlösning för %s"
+msgid "'%s' is not a supported conflict resolution for %s"
+msgstr "'%s' stöds inte som konfliktlösning för %s"
 
 #: cmd_conflicts.cc:250 cmd_conflicts.cc:255
 #, c-format
@@ -3653,60 +3660,65 @@ msgstr "andra lösningen måste vara 'dr
 msgstr "andra lösningen måste vara 'drop' eller 'rename'"
 
 #: cmd_conflicts.cc:265 cmd_conflicts.cc:271 cmd_conflicts.cc:338
-#: cmd_conflicts.cc:344 cmd_conflicts.cc:369 cmd_conflicts.cc:384
-#: cmd_conflicts.cc:433 cmd_conflicts.cc:446
+#: cmd_conflicts.cc:344 cmd_conflicts.cc:393 cmd_conflicts.cc:408
+#: cmd_conflicts.cc:457 cmd_conflicts.cc:470
 #, c-format
 msgid "wrong number of arguments"
 msgstr "felaktigt antal givna argument"
 
-#: cmd_conflicts.cc:372
+#: cmd_conflicts.cc:401
 #, c-format
-msgid "result path must be under _MTN"
-msgstr "resultatfilen måste ligga under _MTN"
+msgid "interactive merge result saved in '%s'"
+msgstr "den interaktiva ihopslagningens resultat sparades i '%s'"
 
 #: cmd_conflicts.cc:404
 #, c-format
+msgid "interactive merge failed."
+msgstr "den interna ihopslagningsmekanismen misslyckades."
+
+#: cmd_conflicts.cc:428
+#, c-format
 msgid "no resolvable yet unresolved left side conflicts"
 msgstr "inga lösningar på ännu olösta konflikter på vänstersidan"
 
-#: cmd_conflicts.cc:408
+#: cmd_conflicts.cc:432
 #, c-format
 msgid "no resolvable yet unresolved right side conflicts"
 msgstr "inga lösningar på ännu olösta konflikter på högersidan"
 
-#: cmd_conflicts.cc:412
+#: cmd_conflicts.cc:436
 #, c-format
 msgid "no resolvable yet unresolved single-file conflicts"
 msgstr "inga lösningar på ännu olösta enfilskonflikter"
 
-#: cmd_conflicts.cc:426
+#: cmd_conflicts.cc:450
 msgid ""
 "Show the first unresolved conflict in the conflicts file, and possible "
 "resolutions"
 msgstr ""
 "Visa den första olösta konflikten i konfliktfilen och möjliga lösningar"
 
-#: cmd_conflicts.cc:439
+#: cmd_conflicts.cc:463
 msgid "Show the remaining unresolved conflicts in the conflicts file"
 msgstr "Visa kvarvarande olösta konflikter i konfliktfilen"
 
-#: cmd_conflicts.cc:451 cmd_conflicts.cc:465 cmd_conflicts.cc:479
+#: cmd_conflicts.cc:475 cmd_conflicts.cc:489 cmd_conflicts.cc:503
 msgid "RESOLUTION"
 msgstr "LÖSNING"
 
-#: cmd_conflicts.cc:452
-msgid "Set the resolution for the first unresolved single-file conflict"
-msgstr "Sätt lösningen till den första olösta enkelfilskonflikten"
+#: cmd_conflicts.cc:476
+msgid "Set the resolution for the first unresolved single-file conflict."
+msgstr "Sätt lösningen till den första olösta enkelfilskonflikten."
 
-#: cmd_conflicts.cc:466
+#: cmd_conflicts.cc:490
 msgid "Set the left resolution for the first unresolved two-file conflict"
 msgstr "Sätt den vänstra lösningen på den första tvåfilskonflikten"
 
-#: cmd_conflicts.cc:480
+#: cmd_conflicts.cc:504
 msgid "Set the right resolution for the first unresolved two-file conflict"
 msgstr "Sätt den högra lösningen på den första tvåfilskonflikten"
 
-#: cmd_conflicts.cc:494
+#: cmd_conflicts.cc:518
 msgid "Delete any bookkeeping files related to conflict resolution"
 msgstr "Ta bort alla administrativa filer som hör ihop med konfliktlösning"
 
@@ -5364,18 +5376,23 @@ msgstr ""
 "grenmönstret givet med --exclude innehåller ett citattecken:\n"
 "%s"
 
-#: network/connection_info.cc:342
+#: network/connection_info.cc:283
 #, c-format
+msgid "a non-empty hostname is expected for the 'mtn' uri scheme"
+msgstr "i uri-schemat 'mtn' förväntas det ett givet hostnamn"
+
+#: network/connection_info.cc:345
+#, c-format
 msgid "connection host / path is empty and no default value could be loaded"
 msgstr ""
 "uppkopplingens värdmaskin / väg är tom och inget standardvärde kunde laddas"
 
-#: network/connection_info.cc:345
+#: network/connection_info.cc:348
 #, c-format
 msgid "branch pattern is empty and no default value could be loaded"
 msgstr "grenmönstret är tomt och inget standardmönster satt"
 
-#: network/connection_info.cc:422
+#: network/connection_info.cc:425
 #, c-format
 msgid ""
 "include / exclude pattern was given both as part of the URL and as a "
@@ -5384,7 +5401,7 @@ msgstr ""
 "mönster för inkludering eller exkludering gavs både som del av URLen och som "
 "separata argument."
 
-#: network/connection_info.cc:470
+#: network/connection_info.cc:473
 #, c-format
 msgid ""
 "no branch pattern found in URI, will try to use suitable database defaults "
@@ -5393,7 +5410,7 @@ msgstr ""
 "inget grenmönster funnet i URI, provar med passande standarder för databasen "
 "om sådan finns tillgänglig"
 
-#: network/connection_info.cc:492
+#: network/connection_info.cc:495
 #, c-format
 msgid ""
 "separate server and pattern arguments are deprecated, please consider using "
@@ -5402,7 +5419,7 @@ msgstr ""
 "separata argument för server och grenmönster är föråldrat, var god överväg "
 "att använda en URI istället"
 
-#: network/connection_info.cc:500
+#: network/connection_info.cc:503
 #, c-format
 msgid ""
 "you can specify either a query string or separate include/exclude "
@@ -5411,7 +5428,7 @@ msgstr ""
 "man kan antingen ange en söksträng i URIn eller flaggorna --include och --"
 "exclude, men inte båda samtidigt"
 
-#: network/connection_info.cc:520
+#: network/connection_info.cc:523
 #, c-format
 msgid ""
 "need permission to store persistent passphrase (see hook persist_phrase_ok())"
@@ -5419,7 +5436,7 @@ msgstr ""
 "behöver tillstånd att använda ett permanent lösenord (se lua-"
 "rutinenpersist_phrase_ok())"
 
-#: network/connection_info.cc:534
+#: network/connection_info.cc:537
 #, c-format
 msgid ""
 "The --no-transport-auth option is usually only used in combination with --"
@@ -6885,7 +6902,7 @@ msgstr "obs: din arbetskopia har inte up
 msgid "note: your workspace has not been updated"
 msgstr "obs: din arbetskopia har inte uppdaterats"
 
-#: merge_roster.cc:333
+#: merge_roster.cc:341
 #, c-format
 msgid ""
 "Content changes to the file '%s'\n"
@@ -6896,7 +6913,7 @@ msgstr ""
 "kommer att ignoreras i den här ihopslagningen eftersom filen har tagits\n"
 "bort på ena sidan av ihopslagningen.  Följande revisioner är påverkade:"
 
-#: merge_roster.cc:338
+#: merge_roster.cc:346
 #, c-format
 msgid "Revision: %s"
 msgstr "Revision: %s"
@@ -7222,6 +7239,11 @@ msgstr "konfliktfilen stämmer inte med 
 msgid "conflicts file does not match current conflicts"
 msgstr "konfliktfilen stämmer inte med nuvarande konflikter"
 
+#: merge_conflict.cc:1484
+#, c-format
+msgid "%s is not a supported conflict resolution for %s"
+msgstr "%s stöds inte som konfliktlösning för %s"
+
 #: merge_conflict.cc:1485
 msgid "extra chars at end of conflict"
 msgstr "extra tecken på slutet av konfliktdata"
@@ -7398,42 +7420,42 @@ msgstr "%s MiB/s"
 msgid "%s MiB/s"
 msgstr "%s MiB/s"
 
-#: pcrewrap.cc:210
+#: pcrewrap.cc:219
 #, c-format
 msgid "while compiling regex \"%s\": %s"
 msgstr "medans regexen \"%s\" kompilerades: %s"
 
-#: pcrewrap.cc:219
+#: pcrewrap.cc:228
 #, c-format
 msgid "error in regex \"%s\": %s"
 msgstr "fel i regexen \"%s\": %s"
 
-#: pcrewrap.cc:221
+#: pcrewrap.cc:230
 #, c-format
 msgid "error near char %d of regex \"%s\": %s"
 msgstr "fel nära tecken nummer %d i regexen \"%s\": %s"
 
-#: pcrewrap.cc:236
+#: pcrewrap.cc:245
 #, c-format
 msgid "while studying regex \"%s\": %s"
 msgstr "medans regexen \"%s\" studerades: %s"
 
-#: pcrewrap.cc:254
+#: pcrewrap.cc:263
 #, c-format
 msgid "backtrack limit exceeded in regular _expression_ matching"
 msgstr "bakåtspårningsnivån har nått sin gräns under jämförelse av regex"
 
-#: pcrewrap.cc:258
+#: pcrewrap.cc:267
 #, c-format
 msgid "recursion limit exceeded in regular _expression_ matching"
 msgstr "rekursionen har nått sin gräns under jämförelse av regex"
 
-#: pcrewrap.cc:263
+#: pcrewrap.cc:272
 #, c-format
 msgid "invalid UTF-8 sequence found during regular _expression_ matching"
 msgstr "ogiltig UTF8-sekvens funnen under jämförelsen av regex"
 
-#: pcrewrap.cc:266
+#: pcrewrap.cc:275
 #, c-format
 msgid "pcre_exec returned %d"
 msgstr "pcre_exec gav tillbaka %d"
@@ -8461,6 +8483,12 @@ msgstr "Tryck [Retur] när underprocesse
 msgid "Press enter when the subprocess has completed"
 msgstr "Tryck [Retur] när underprocessen är klar"
 
+#~ msgid "public and private key '%s' do not exist in keystore"
+#~ msgstr "den publika och privata nyckeln '%s' finns inte i nyckellagret"
+
+#~ msgid "result path must be under _MTN"
+#~ msgstr "resultatfilen måste ligga under _MTN"
+
 #~ msgid "[-r FROM] -r TO [PATH...]"
 #~ msgstr "[-r FRÅN] -r TILL [SÖKVÄG...]"
 
============================================================
--- maybe_workspace_updater.cc	476c3692b0ed2c99e1b2b90125adfb4125cce91d
+++ maybe_workspace_updater.cc	f1d41132d47052f6b9f54980de4feb21348e715a
@@ -59,7 +59,7 @@ void maybe_workspace_updater::maybe_do_u
     {
       update(app, args_vector());
     }
-  else
+  else if (app.opts.auto_update)
     {
       P(F("note: your workspace has not been updated"));
     }

reply via email to

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