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.source-tree-cleanup: 12ca77


From: code
Subject: [Monotone-commits-diffs] net.venge.monotone.source-tree-cleanup: 12ca778daffac9d1fd70c03fc1f2607a0724a68e
Date: Tue, 25 Jan 2011 09:21:30 GMT

revision:            12ca778daffac9d1fd70c03fc1f2607a0724a68e
date:                2011-01-25T09:20:29
author:              address@hidden
branch:              net.venge.monotone.source-tree-cleanup
changelog:
merge of '49d1f471f01bdda32a288efa2513473b00929152'
     and '6937deeb243021080a8ed38a0be325b7887b5d52'

manifest:
format_version "1"

new_manifest [ec5d5c33ef3ea2cdf1c531b0f02c28da0901df9f]

old_revision [49d1f471f01bdda32a288efa2513473b00929152]

patch "Makefile.am"
 from [63ad49407f191f089dee1712a47c548acd1129f3]
   to [6ba377c37707f279f7c52284225726dbaf3cef49]

patch "contrib/display_branches.lua"
 from [8d16d67c82652534969e81a9062f019d68c584bf]
   to [5b9602203db9c299e7821b18078786a8a7fe5574]

patch "doc/monotone.texi"
 from [c55a796ff80e546911a54e4bc1a46c29d7aa31e9]
   to [646fd606b40d01d278921bce784da2fc5a0dabb8]

patch "po/sv.po"
 from [5803557f4c06071a4779b86691548795481d0587]
   to [96e9d971fbb477aca03f41896a6f4376f0d43054]

patch "src/cmd_diff_log.cc"
 from [7bc853e14df844cd704eeb8d3b54ab4fe9bfde06]
   to [94a354875b587d372e6d0898ab6fc8355ce29c21]

patch "src/cmd_key_cert.cc"
 from [0b6074acdf9014b625369a976da51ce3677e0630]
   to [071b47b387bf2b8bc33839765e8056f378bc3d81]

patch "src/cmd_list.cc"
 from [1761568b06cf3afa752a2e6d1611b450cbfae6c4]
   to [d5f1d76cb76151d303cda19a974fe5c86f806d70]

patch "src/cmd_packet.cc"
 from [31321e792e77dd18121f7689413777c23045537a]
   to [672156d0fefaa0b7ec02795871573a0e4057b89b]

patch "src/database.cc"
 from [9b6b20b6b342f4294e9e9d6cfd42d228db7ad18f]
   to [1ca31c776dd4882e3c783f80dbc20e351e5fd908]

patch "src/database.hh"
 from [18a9504000bb0856b693577e3de47861d7a7f5e0]
   to [66798497f77bc1010b7e5850d2c406eaf1010b2e]

patch "src/netsync.cc"
 from [23b3d65718b94c552bcbb12beb74b3a44f0c8b5e]
   to [bda5adcae7b66d8c3195a4eceae052a225219a17]

patch "src/options_list.hh"
 from [1985a3326ea833595edf84b75ae5ab9fde487709]
   to [4af93dbcc45e76d732d073ced7ce21d20472cd00]

patch "src/win32/monotone.iss.in"
 from [2a16720352f6ab65e7cdac63a870e5f6f6dd9770]
   to [7f803a0cb44d647d947c94be6e4e30caf02b0ccb]

patch "test/func/key_management_without_a_database/__driver__.lua"
 from [87ef58d870b76fa10441e6f47654e93b794cebb8]
   to [6f6dccf171baf344b914fdef614ac3856ee792dd]

old_revision [6937deeb243021080a8ed38a0be325b7887b5d52]

patch "Makefile.am"
 from [8267ffc5c03ef233b4a55479fe3912e17e86002d]
   to [6ba377c37707f279f7c52284225726dbaf3cef49]
============================================================
--- Makefile.am	63ad49407f191f089dee1712a47c548acd1129f3
+++ Makefile.am	6ba377c37707f279f7c52284225726dbaf3cef49
@@ -373,7 +373,7 @@ EXTRA_DIST =								\
 									\
 	contrib examples mac notes visualc
 
-MAKEINFOFLAGS=-I $(top_builddir)
+AM_MAKEINFOFLAGS=-I $(top_builddir) -I $(srcdir)
 
 #%.eps: %.epsi
 #	mv -f $< $@
@@ -381,10 +381,10 @@ MAKEINFOFLAGS=-I $(top_builddir)
 #%.epsi: %.ps
 #	ps2epsi $< $@
 
-%.eps : %.ps
+doc/figures/%.eps: doc/figures/%.ps
 	ps2eps <$< >$@
 
-$(top_builddir)/doc/figures/%.ps: $(srcdir)/figures/%.pdf
+doc/figures/%.ps: $(srcdir)/figures/%.pdf
 	mkdir -p $(top_builddir)/doc/figures
 #	acroread -toPostScript -pairs $< $@
 	pdftops $< $@
@@ -478,13 +478,13 @@ PKG_INST_ROOT = $(PWD)/$(top_builddir)/p
 # build an OS X installer
 # requires sudo since packagemaker just looks at directory permissions.
 PKG_INST_ROOT = $(PWD)/$(top_builddir)/pkg_inst_root
-monotone-$(PACKAGE_VERSION).pkg: monotone.pdf html
+monotone-$(PACKAGE_VERSION).pkg: doc/monotone.pdf doc/html
 	sudo rm -rf $(PKG_INST_ROOT)
 	rm -rf "$@"
 	$(MAKE) install-strip DESTDIR=$(PKG_INST_ROOT)
 	mkdir -p $(PKG_INST_ROOT)/Developer/Documentation/monotone
-	cp monotone.pdf $(PKG_INST_ROOT)/Developer/Documentation/monotone/
-	cp -r html $(PKG_INST_ROOT)/Developer/Documentation/monotone/html
+	cp doc/monotone.pdf $(PKG_INST_ROOT)/Developer/Documentation/monotone/
+	cp -r doc/html $(PKG_INST_ROOT)/Developer/Documentation/monotone/html
 	plutil -convert xml1 -o monotone-xml.pmproj.in $(srcdir)/mac/monotone.pmproj
 	sed "s/__MONOTONE_VERSION__/$(PACKAGE_VERSION)/g" \
 		< monotone-xml.pmproj.in > monotone-xml.pmproj
============================================================
--- src/database.cc	9b6b20b6b342f4294e9e9d6cfd42d228db7ad18f
+++ src/database.cc	1ca31c776dd4882e3c783f80dbc20e351e5fd908
@@ -509,14 +509,14 @@ database_cache database::dbcache;
 
 database_cache database::dbcache;
 
-database::database(app_state & app)
-  : opts(app.opts), lua(app.lua)
+database::database(app_state & app, database::dboptions d)
+  : opts(app.opts), lua(app.lua), dbopts(d)
 {
   init();
 }
 
-database::database(options const & o, lua_hooks & l)
-  : opts(o), lua(l)
+database::database(options const & o, lua_hooks & l, database::dboptions d)
+  : opts(o), lua(l), dbopts(d)
 {
   init();
 }
@@ -526,7 +526,7 @@ database::init()
 {
   database_path_helper helper(lua);
   system_path dbpath;
-  helper.get_database_path(opts, dbpath);
+  helper.get_database_path(opts, dbpath, dbopts);
 
   // FIXME: for all :memory: databases an empty path is returned above, thus
   // all requests for a :memory: database point to the same database
@@ -4497,22 +4497,29 @@ database::get_var(var_key const & key, v
 void
 database::get_var(var_key const & key, var_value & value)
 {
-  // FIXME: sillyly inefficient.  Doesn't really matter, though.
-  map<var_key, var_value> vars;
-  get_vars(vars);
-  map<var_key, var_value>::const_iterator i = vars.find(key);
-  I(i != vars.end());
-  value = i->second;
+  results res;
+  imp->fetch(res, one_col, any_rows, 
+             query("SELECT value FROM db_vars "
+                   "WHERE domain = ? AND name = ?")
+                   % text(key.first())
+                   % blob(key.second()));
+  I(res.size() == 1);
+  var_value dbvalue(res[0][0], origin::database);
+  value = dbvalue;
 }
 
 bool
 database::var_exists(var_key const & key)
 {
-  // FIXME: sillyly inefficient.  Doesn't really matter, though.
-  map<var_key, var_value> vars;
-  get_vars(vars);
-  map<var_key, var_value>::const_iterator i = vars.find(key);
-  return i != vars.end();
+  results res;
+  imp->fetch(res, one_col, any_rows,
+             query("SELECT 1 "
+                   "WHERE EXISTS("
+                   "  SELECT 1 FROM db_vars "
+                   "  WHERE domain = ? AND name = ?)")
+                   % text(key.first())
+                   % blob(key.second()));
+  return ! res.empty();
 }
 
 void
@@ -4923,13 +4930,20 @@ void
 }
 
 void
-database_path_helper::get_database_path(options const & opts, system_path & path)
+database_path_helper::get_database_path(options const & opts,
+                                        system_path & path,
+                                        database::dboptions dbopts)
 {
   if (!opts.dbname_given ||
       (opts.dbname.as_internal().empty() &&
        opts.dbname_alias.empty() &&
        opts.dbname_type != memory_db))
     {
+      if (dbopts == database::maybe_unspecified)
+        {
+          L(FL("no database option given or options empty"));
+          return;
+        }
       E(false, origin::user, F("no database specified"));
     }
 
============================================================
--- src/database.hh	18a9504000bb0856b693577e3de47861d7a7f5e0
+++ src/database.hh	66798497f77bc1010b7e5850d2c406eaf1010b2e
@@ -87,8 +87,11 @@ public:
   // --== Opening the database and schema checking ==--
   //
 public:
-  explicit database(app_state & app);
-  database(options const & o, lua_hooks & l);
+  // database options
+  typedef enum { none, maybe_unspecified } dboptions;
+
+  explicit database(app_state & app, dboptions dbopts = none);
+  database(options const & o, lua_hooks & l, dboptions dbopts = none);
   ~database();
 
   system_path get_filename();
@@ -499,6 +502,7 @@ private:
   boost::shared_ptr<database_impl> imp;
   options opts;
   lua_hooks & lua;
+  dboptions dbopts;
 };
 
 // not a member function, defined in database_check.cc
@@ -607,7 +611,8 @@ public:
 public:
   database_path_helper(lua_hooks & l) : lua(l) {}
 
-  void get_database_path(options const & opts, system_path & path);
+  void get_database_path(options const & opts, system_path & path,
+                         database::dboptions dbopts = database::none);
 
   void maybe_set_default_alias(options & opts);
 
============================================================
--- doc/monotone.texi	c55a796ff80e546911a54e4bc1a46c29d7aa31e9
+++ doc/monotone.texi	646fd606b40d01d278921bce784da2fc5a0dabb8
@@ -77,7 +77,6 @@ @top Overview
 * Concepts::                    Taxonomy of monotone
 * Tutorial::                    A detailed example of using monotone
 * Advanced Uses::               Going beyond the basics
-* CVS Phrasebook::              Transitional guide for CVS users
 * Command Reference::           Details of each monotone command
 * Formats::                     Formats used by monotone and scripts
 * Lua Reference::               How Lua is integrated in monotone
@@ -2662,7 +2661,7 @@ @section Network Service Revisited
 content arrived in your database.
 @end itemize
 
address@hidden    Advanced Uses, CVS Phrasebook, Tutorial, Top
address@hidden    Advanced Uses, Command Reference, Tutorial, Top
 @chapter Advanced Uses
 
 This chapter covers slightly less common aspects of using
@@ -4538,356 +4537,7 @@ @section Bisecting
 command also removes all stored bisection information in preparation
 for future bisect operations.
 
address@hidden
address@hidden    CVS Phrasebook, Command Reference, Advanced Uses, Top
address@hidden CVS Phrasebook
-
-This chapter translates common CVS commands into monotone commands. It
-is an easy alternative to reading through the complete command
-reference.
-
address@hidden Checking Out a Tree
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ CVSROOT=:pserver:cvs.foo.com/wobbler
-$ cvs -d $CVSROOT checkout -r 1.2
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn pull "mtn://www.foo.com?com.foo.wobbler*"
-$ mtn checkout --revision=fe37 wobbler
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-The CVS command contacts a network server, retrieves a revision, and
-stores it in your workspace. There are two cosmetic differences
-with the monotone command: remote databases are specified by hostnames
-and globs, and revisions are denoted by @sc{sha1} values (or
-selectors).
-
-There is also one deep difference: pulling revisions into your
-database is a separate step from checking out a single revision; after
-you have pulled from a network server, your database will contain
address@hidden revisions, possibly the entire history of a
-project. Checking out is a separate step, after communication, which
-only copies a particular revision out of your database and into a named
-directory.
-
address@hidden Committing Changes
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs commit -m "log message"
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn commit --message="log message"
-$ mtn push "mtn://www.foo.com?com.foo.wobbler*"
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-As with other networking commands, the communication step with
-monotone is explicit: committing changes only saves them to the local
-database. A separate command, @command{push}, sends the changes to a
-remote database.
-
address@hidden Undoing Changes
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs update -C file
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn revert file
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-Unlike CVS, monotone includes a separate @command{revert} command for
-undoing local changes and restoring the workspace to the original
-contents of the base revision. Because this can be dangerous,
address@hidden insists on an explicit argument to name the files or
-directories to be reverted; use the current directory "@file{.}" at the
-top of the workspace to revert everything.  The @command{revert} command
-is also used to restore deleted files (with a convenient
address@hidden option for naming these files).
-
-In CVS, you would need to use @command{update} to restore missing or
-changed files, and you might get back a newer version of the file than
-you started with. In monotone, @command{revert} always takes you back to
-where you started, and the @command{update} command is only used to move
-the workspace to a different (usually newer) base revision.
-
-
address@hidden Incorporating New Changes
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs update -d
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn pull "mtn://www.foo.com?com.foo.wobbler*"
-$ mtn merge
-$ mtn update
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-This command, like other networking commands, involves a separate
-communication step with monotone. The extra command, @command{merge},
-ensures that the branch your are working on has a unique head. You can
-omit the @command{merge} step if you only want @command{update} to
-examine descendants of your base revision, and ignore other heads on
-your branch.
-
-
address@hidden Tagging Revisions
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs tag FOO_TAG .
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn tag h: FOO_TAG
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-With CVS, tags are placed on individual files, and the closest thing to
-identifying a consistent repository-wide revision is a set of files with
-the same tag.  In monotone, all changes are part of a repository-wide
-revision, and some of those revisions may be tagged.  Monotone has no
-partial tags that apply only to a subset of files.
-
-
address@hidden Moving Workspace to Another Revision
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs update -r FOO_TAG -d
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn update -r 830ac1a5f033825ab364f911608ec294fe37f7bc
-$ mtn update -r t:FOO_TAG
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-With a revision parameter, the @command{update} command operates
-similarly in monotone and CVS. One difference is that a subsequent
address@hidden will be based off the chosen revision in monotone,
-while a @command{commit} in the CVS case is not possible without going
-back to the branch head again.  This version of @command{update} can
-thus be very useful if, for example, you discover that the tree you are
-working against is somehow broken --- you can @command{update} to an
-older non-broken version, and continue to work normally while waiting
-for the tree to be fixed.
-
address@hidden Viewing Differences
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs diff
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn diff
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ cvs diff -r 1.2 -r 1.4 myfile
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn diff -r 3e7db -r 278df myfile
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-Monotone's @command{diff} command is modeled on that of CVS, so the
-main features are the same: @command{diff} alone prints the
-differences between your workspace and its base revision, whereas
address@hidden accompanied by two revision numbers prints the
-difference between those two revisions. The major difference between
-CVS and monotone here is that monotone's revision numbers are
address@hidden IDs}, rather than file IDs.  If one leaves off the file
-argument, then diff can print the difference between two entire trees.
-
address@hidden Showing Workspace Status
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs status
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn status
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-This command operates similarly in monotone and CVS. The only major
-difference is that monotone's @command{status} command always gives a
-status of the whole tree, and outputs a more compact summary than CVS.
-
address@hidden Adding Directories and Files to Workspace
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs add dir
-$ cvs add dir/subdir
-$ cvs add dir/subdir/file.txt
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn add dir/subdir/file.txt
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-Monotone does not explicitly store directories, so adding a file only
-involves adding the file's complete path, including any directories.
-Directories are created as needed, and empty directories are ignored.
-
-
address@hidden Removing Directories and Files from Workspace
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ rm file.txt
-$ cvs remove file.txt
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn drop file.txt
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-Monotone does not require that you erase a file from the workspace
-before you drop it. Dropping a file both removes its entry in the
-manifest of the current revision and removes it from the filesystem.
-
-
address@hidden Viewing History
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs log [file]
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn log [file]
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-Unlike CVS log, monotone log can also be used without a workspace; but
-in this case you must pass a @option{--from} revision argument to tell
-monotone where to start displaying the log from.
-
address@hidden Importing a New Project
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs import wobbler vendor start
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn --db=/path/to/database.mtn --branch=com.foo.wobbler setup .
-$ mtn add -R .
-$ mtn commit
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-The @command{setup} command turns an ordinary directory into a
-monotone workspace.  After that, you can add your files and commit
-them as usual.
-
address@hidden Initializing a Repository
-
address@hidden @columnfractions .4 .4
address@hidden
address@hidden
address@hidden
-$ cvs init -d /path/to/repository
address@hidden group
address@hidden smallexample
address@hidden
address@hidden
address@hidden
-$ mtn db init --db=/path/to/database.mtn
address@hidden group
address@hidden smallexample
address@hidden multitable
-
-Monotone's ``repository'' is a single-file database, which is created
-and initialized by this command. This file is only ever used by you,
-and does not need to be in any special location, or readable by other
-users.
-
-
address@hidden    Command Reference, Formats, CVS Phrasebook, Top
address@hidden    Command Reference, Formats, Advanced Uses, Top
 @chapter Command Reference
 
 Monotone has a large number of commands. To help navigate through them
@@ -11471,7 +11121,6 @@ @section Hooks
 * Attribute Handling::
 * GIT Export Hooks::
 * Validation Hooks::
-* Meta Hooks::
 @end menu
 
 @node Common Data Types, Event Notifications and Triggers, Hooks, Hooks
@@ -12676,7 +12325,7 @@ @subsection GIT Export Hooks
 
 @end ftable
 
address@hidden Validation Hooks, Meta Hooks, GIT Export Hooks, Hooks
address@hidden Validation Hooks,  , GIT Export Hooks, Hooks
 @subsection Validation Hooks
 
 If there is a policy decision to make, Monotone defines certain hooks to
@@ -12716,27 +12365,6 @@ @subsection Validation Hooks
 
 @end ftable
 
address@hidden Meta Hooks,  , Validation Hooks, Hooks
address@hidden Meta Hooks
-
-Monotone allows the execution of arbitrary Lua hooks and functions through a
-special generalized "meta hook". See @address@hidden automate lua}} for more
-information.
-
address@hidden @code
address@hidden hook_wrapper (@var{func_name}, @var{...})
-
-This hook is called on every execution of @address@hidden automate
-lua}}.
-
-The default definition takes a function name and zero or more string
-function arguments which are evaluated into a Lua function call. It
-returns a dump of the return value of the called function.
-
-There is very little reason for a user to redefine this function.
-
address@hidden ftable
-
 @page
 @node   Additional Lua Functions, Implementation Differences, Hooks, Lua Reference
 @section Additional Lua Functions
@@ -13155,9 +12783,7 @@ @heading General Terms
 console (IDNA names are ASCII, which is a subset of UTF-8, so this
 normal form conversion can still apply, albeit oddly). this behavior
 is to protect users against security problems associated with
-malicious use of "similar-looking" characters. If the hook
address@hidden returns true, IDNA names are decoded for
-display.
+malicious use of "similar-looking" characters.
 
 @end table
 
============================================================
--- src/netsync.cc	23b3d65718b94c552bcbb12beb74b3a44f0c8b5e
+++ src/netsync.cc	bda5adcae7b66d8c3195a4eceae052a225219a17
@@ -110,6 +110,8 @@ call_server(app_state & app,
     instant(0,1);
 
   P(F("connecting to %s") % info->client.get_uri().resource());
+  P(F("  include pattern  %s") % info->client.get_include_pattern());
+  P(F("  exclude pattern  %s") % info->client.get_exclude_pattern());
 
   shared_ptr<Netxx::StreamBase> server
     = build_stream_to_server(app.opts, app.lua, info, timeout);
============================================================
--- src/win32/monotone.iss.in	2a16720352f6ab65e7cdac63a870e5f6f6dd9770
+++ src/win32/monotone.iss.in	7f803a0cb44d647d947c94be6e4e30caf02b0ccb
@@ -12,7 +12,7 @@ OutputBaseFileName={#APPNAME}-{#APPVERS}
 AppVersion={#APPVERS}
 AppVerName={#APPNAME} {#APPVERS}
 OutputBaseFileName={#APPNAME}-{#APPVERS}-setup
-AppCopyright=Copyright © 2002-2010 Graydon Hoare et al.
+AppCopyright=Copyright © 2002-2011 Graydon Hoare et al.
 AppPublisher=The monotone Development Team
 AppPublisherURL=http://www.monotone.ca/
 DefaultDirName={pf}\{#APPNAME}
@@ -24,21 +24,21 @@ ChangesEnvironment=true
 SolidCompression=yes
 LicenseFile="{#SRCDIR}\COPYING"
 ChangesEnvironment=true
-WizardImageFile={#SRCDIR}\win32\monotone.bmp
+WizardImageFile={#SRCDIR}\src\win32\monotone.bmp
 
 [Files]
 Source: "{#BUILDDIR}\mtn-stripped.exe"; DestDir: "{app}"; DestName: "mtn.exe"; Flags: ignoreversion
-Source: "{#BUILDDIR}\html\*.html"; DestDir: "{app}\documentation\html"; Flags: ignoreversion
-Source: "{#BUILDDIR}\html\*.css"; DestDir: "{app}\documentation\html"; Flags: ignoreversion
-Source: "{#BUILDDIR}\html\figures\*.*"; DestDir: "{app}\documentation\html\figures"; Flags: ignoreversion
-Source: "{#BUILDDIR}\html\images\*.*"; DestDir: "{app}\documentation\html\images"; Flags: ignoreversion
+Source: "{#BUILDDIR}\doc\html\*.html"; DestDir: "{app}\documentation\html"; Flags: ignoreversion
+Source: "{#BUILDDIR}\doc\html\*.css"; DestDir: "{app}\documentation\html"; Flags: ignoreversion
+Source: "{#BUILDDIR}\doc\html\figures\*.*"; DestDir: "{app}\documentation\html\figures"; Flags: ignoreversion
+Source: "{#BUILDDIR}\doc\html\images\*.*"; DestDir: "{app}\documentation\html\images"; Flags: ignoreversion
 Source: "{#SRCDIR}\COPYING"; DestDir: "{app}"; Flags: ignoreversion
-Source: "{#SRCDIR}\monotone.info"; DestDir: "{app}\documentation"; Flags: ignoreversion
-Source: "{#SRCDIR}\monotone.info-1"; DestDir: "{app}\documentation"; Flags: ignoreversion
-Source: "{#SRCDIR}\monotone.info-2"; DestDir: "{app}\documentation"; Flags: ignoreversion
-Source: "{#SRCDIR}\monotone.info-3"; DestDir: "{app}\documentation"; Flags: ignoreversion
+Source: "{#SRCDIR}\doc\monotone.info"; DestDir: "{app}\documentation"; Flags: ignoreversion
+Source: "{#SRCDIR}\doc\monotone.info-1"; DestDir: "{app}\documentation"; Flags: ignoreversion
+Source: "{#SRCDIR}\doc\monotone.info-2"; DestDir: "{app}\documentation"; Flags: ignoreversion
+Source: "{#SRCDIR}\doc\monotone.info-3"; DestDir: "{app}\documentation"; Flags: ignoreversion
 
-; this file is generated by Makefile target "win32/dlls.iss"
+; this file is generated by Makefile target "src/win32/dlls.iss"
 ; it creates list of distributable DLLs 
 #include "dlls.iss"
 
============================================================
--- po/sv.po	5803557f4c06071a4779b86691548795481d0587
+++ po/sv.po	96e9d971fbb477aca03f41896a6f4376f0d43054
@@ -157,8 +157,8 @@ msgstr ""
 msgstr ""
 "Project-Id-Version: monotone 0.26pre1\n"
 "Report-Msgid-Bugs-To: address@hidden"
-"POT-Creation-Date: 2011-01-20 14:26+0100\n"
-"PO-Revision-Date: 2011-01-21 15:13+0100\n"
+"POT-Creation-Date: 2011-01-23 19:58+0100\n"
+"PO-Revision-Date: 2011-01-23 19:59+0100\n"
 "Last-Translator: Joel Rosdahl <address@hidden>\n"
 "Language-Team: Richard Levitte <address@hidden>\n"
 "Language: \n"
@@ -968,7 +968,7 @@ msgstr "Öppnar en koppling till en serv
 msgstr "Öppnar en koppling till en server, typ 'automate stdio'"
 
 #: cmd_netsync.cc:122 cmd_netsync.cc:225
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "No database given; assuming '%s' database. This means that\n"
 "we can't verify the server key, because we have no record of\n"
@@ -1306,12 +1306,12 @@ msgstr "Visa vilka databaser som hantera
 msgid "Lists managed databases and their known workspaces"
 msgstr "Visa vilka databaser som hanteras och deras kända arbetskopior"
 
-#: cmd_list.cc:684 database.cc:4956
+#: cmd_list.cc:684 database.cc:4970
 #, c-format
 msgid "could not query default database locations"
 msgstr "ingen standardkatalog för databaser finns definierad"
 
-#: cmd_list.cc:688 database.cc:5034
+#: cmd_list.cc:688 database.cc:5048
 #, c-format
 msgid "could not query default database glob"
 msgstr "kunde inte fråga efter standardglobben för databaser"
@@ -2602,8 +2602,8 @@ msgstr ""
 "SÖKVÄG är angiven."
 
 #: cmd_diff_log.cc:992
-msgid "list selected revision history"
-msgstr "visa vald revisionshistoria"
+msgid "Lists the selected revision history"
+msgstr "Visa vald revisionshistoria"
 
 #: cmd_ws_commit.cc:179
 #, c-format
@@ -4632,17 +4632,17 @@ msgstr "tillitsfunktionen ogillar %d sig
 msgid "trust function disliked %d signers of %s cert on revision %s"
 msgstr "tillitsfunktionen ogillar %d signerare av certet %s i revisionen %s"
 
-#: database.cc:4798 database.cc:4933
+#: database.cc:4805 database.cc:4947
 #, c-format
 msgid "no database specified"
 msgstr "ingen databas angiven"
 
-#: database.cc:4811
+#: database.cc:4818
 #, c-format
 msgid "database %s does not exist"
 msgstr "databasen %s finns inte"
 
-#: database.cc:4819
+#: database.cc:4826
 #, c-format
 msgid ""
 "%s is a workspace, not a database\n"
@@ -4651,17 +4651,17 @@ msgstr ""
 "%s är en katalog, inte en databas\n"
 "(menade du %s?)"
 
-#: database.cc:4823
+#: database.cc:4830
 #, c-format
 msgid "%s is a directory, not a database"
 msgstr "%s är en katalog, inte en databas"
 
-#: database.cc:4831
+#: database.cc:4838
 #, c-format
 msgid "database %s already exists"
 msgstr "databasen %s finns redan"
 
-#: database.cc:4836
+#: database.cc:4843
 #, c-format
 msgid ""
 "existing (possibly stale) journal file '%s' has same stem as new database "
@@ -4672,32 +4672,32 @@ msgstr ""
 "databasen '%s'\n"
 "avbryter skapandet av databasen"
 
-#: database.cc:4991
+#: database.cc:5005
 #, c-format
 msgid "the database alias '%s' has multiple ambiguous expansions:"
 msgstr "databasaliaset '%s' har flera motsägelsefulla uttydningar:"
 
-#: database.cc:5014
+#: database.cc:5028
 #, c-format
 msgid "could not query default database alias"
 msgstr "kunde inte fråga efter databasens standardalias"
 
-#: database.cc:5016
+#: database.cc:5030
 #, c-format
 msgid "using default database '%s'"
 msgstr "använder standarddatabasen '%s'"
 
-#: database.cc:5026
+#: database.cc:5040
 #, c-format
 msgid "invalid database alias '%s': does not start with a colon"
 msgstr "ogiltigt databasalias '%s': startar inte med ett kolon"
 
-#: database.cc:5030
+#: database.cc:5044
 #, c-format
 msgid "invalid database alias '%s': must not be empty"
 msgstr "ogiltigt databasalias '%s': får inte vara tomt"
 
-#: database.cc:5046
+#: database.cc:5060
 #, c-format
 msgid "invalid database alias '%s': does contain invalid characters"
 msgstr "ogiltigt databasalias '%s': innehåller ogiltiga tecken"
@@ -5318,47 +5318,57 @@ msgstr "räknaren query-in-flight blev f
 msgid "underflow on query-in-flight counter"
 msgstr "räknaren query-in-flight blev för låg"
 
-#: netsync.cc:112 netsync.cc:217
+#: netsync.cc:112 netsync.cc:219
 #, c-format
 msgid "connecting to %s"
 msgstr "ansluter till %s"
 
-#: netsync.cc:161
+#: netsync.cc:113
 #, c-format
+msgid "  include pattern  %s"
+msgstr "  inkluderat mönster  %s"
+
+#: netsync.cc:114
+#, c-format
+msgid "  exclude pattern  %s"
+msgstr "  exkluderat mönster  %s"
+
+#: netsync.cc:163
+#, c-format
 msgid "processing failure while talking to peer %s, disconnecting"
 msgstr "tar hand om misslyckande i samtal med %s, kopplar ifrån"
 
-#: netsync.cc:169
+#: netsync.cc:171
 #, c-format
 msgid "timed out waiting for I/O with peer %s, disconnecting"
 msgstr "att vänta på I/O från %s tog för lång tid, kopplar ifrån"
 
-#: netsync.cc:186
+#: netsync.cc:188
 #, c-format
 msgid "successful exchange with %s"
 msgstr "lyckat utbyte med %s"
 
-#: netsync.cc:192
+#: netsync.cc:194
 #, c-format
 msgid "peer %s disconnected after we informed them of error"
 msgstr "%s kopplade ifrån efter att vi informerade den om ett fel"
 
-#: netsync.cc:198
+#: netsync.cc:200
 #, c-format
 msgid "I/O failure while talking to peer %s, disconnecting"
 msgstr "I/O-fel i samtal med %s, kopplar ifrån"
 
-#: netsync.cc:244
+#: netsync.cc:246
 #, c-format
 msgid "Network error: %s"
 msgstr "Nätverksfel: %s"
 
-#: netsync.cc:358
+#: netsync.cc:360
 #, c-format
 msgid "beginning service on %s"
 msgstr "startar tjänst på %s"
 
-#: netsync.cc:417 netsync.cc:421
+#: netsync.cc:419 netsync.cc:423
 #, c-format
 msgid "network error: %s"
 msgstr "nätverksfel: %s"
@@ -7754,11 +7764,11 @@ msgid ""
 
 #: options_list.hh:220
 msgid ""
-"automatically update the workspace, if it is clean and the base revision is "
-"a head of an affected branch"
+"automatically update the workspace, if it was at a head and the command "
+"creates a new head"
 msgstr ""
-"uppdaterar automatiskt arbetskopian om den är ren från ändringar och "
-"basrevisionen är ett huvud i den påverkade grenen"
+"uppdaterar automatiskt arbetskopian om basrevisionen är ett huvud i den "
+"påverkade grenen och uppdateringen skapar ett nytt huvud"
 
 #: options_list.hh:225
 msgid "address:port to listen on (default :4691)"
============================================================
--- src/cmd_diff_log.cc	7bc853e14df844cd704eeb8d3b54ab4fe9bfde06
+++ src/cmd_diff_log.cc	94a354875b587d372e6d0898ab6fc8355ce29c21
@@ -989,7 +989,7 @@ CMD_AUTOMATE(log, N_("[PATH] ..."),
 }
 
 CMD_AUTOMATE(log, N_("[PATH] ..."),
-             N_("list selected revision history"),
+             N_("Lists the selected revision history"),
              "",
     options::opts::last | options::opts::next |
     options::opts::from | options::opts::to |
============================================================
--- src/cmd_key_cert.cc	0b6074acdf9014b625369a976da51ce3677e0630
+++ src/cmd_key_cert.cc	071b47b387bf2b8bc33839765e8056f378bc3d81
@@ -47,7 +47,7 @@ CMD(genkey, "genkey", "", CMD_REF(key_an
     "",
     options::opts::force_duplicate_key)
 {
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
 
   if (args.size() != 1)
@@ -80,7 +80,7 @@ CMD_AUTOMATE(generate_key, N_("KEY_NAME 
   E(args.size() == 2, origin::user,
     F("wrong argument count"));
 
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
 
   key_name name = typecast_vocab<key_name>(idx(args, 0));
@@ -124,7 +124,7 @@ dropkey_common(app_state & app,
                args_vector args,
                bool drop_private)
 {
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   bool key_deleted = false;
   bool checked_db = false;
@@ -198,7 +198,7 @@ CMD(passphrase, "passphrase", "", CMD_RE
     throw usage(execid);
 
   key_store keys(app);
-  database db(app);
+  database db(app, database::maybe_unspecified);
   project_t project(db);
   key_identity_info identity;
 
@@ -216,7 +216,7 @@ CMD(ssh_agent_export, "ssh_agent_export"
     "",
     options::opts::none)
 {
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   project_t project(db);
 
@@ -244,7 +244,7 @@ CMD(ssh_agent_add, "ssh_agent_add", "", 
     "",
     options::opts::none)
 {
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   project_t project(db);
 
============================================================
--- src/cmd_list.cc	1761568b06cf3afa752a2e6d1611b450cbfae6c4
+++ src/cmd_list.cc	d5f1d76cb76151d303cda19a974fe5c86f806d70
@@ -359,7 +359,7 @@ CMD(keys, "keys", "", CMD_REF(list), "[P
   if (args.size() > 1)
     throw usage(execid);
 
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   project_t project(db);
 
@@ -961,7 +961,7 @@ CMD_AUTOMATE(keys, "",
   E(args.empty(), origin::user,
     F("no arguments needed"));
 
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   project_t project(db);
 
============================================================
--- src/cmd_packet.cc	31321e792e77dd18121f7689413777c23045537a
+++ src/cmd_packet.cc	672156d0fefaa0b7ec02795871573a0e4057b89b
@@ -85,7 +85,7 @@ pubkey_common(app_state & app,
               args_vector args,
               std::ostream & output)
 {
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   project_t project(db);
 
@@ -141,7 +141,7 @@ CMD(privkey, "privkey", "", CMD_REF(pack
     "",
     options::opts::none)
 {
-  database db(app);
+  database db(app, database::maybe_unspecified);
   key_store keys(app);
   project_t project(db);
 
============================================================
--- test/func/key_management_without_a_database/__driver__.lua	87ef58d870b76fa10441e6f47654e93b794cebb8
+++ test/func/key_management_without_a_database/__driver__.lua	6f6dccf171baf344b914fdef614ac3856ee792dd
@@ -2,17 +2,42 @@ mtn_setup()
 mtn_setup()
 
 -- with no database should work
-check(raw_mtn("--keydir=keys", "genkey", "foobar"), 0, false, false,
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "genkey", "foobar"), 0, false, false,
       string.rep("foobar\n", 2))
 
-check(raw_mtn("--keydir=keys", "passphrase", "foobar"), 0, false, false,
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "passphrase", "foobar"), 0, false, false,
       "foobar\n"..string.rep("barfoo\n", 2))
 
-check(raw_mtn("--keydir=keys", "ls", "keys"), 0, false, false)
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "ls", "keys"), 0, false, false)
 
-check(raw_mtn("--keydir=keys", "pubkey", "foobar"), 0, false, false)
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "pubkey", "foobar"), 0, false, false)
 
-check(raw_mtn("--keydir=keys", "dropkey", "foobar"), 0, false, false)
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "privkey", "foobar"), 0, false, false)
 
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "ssh_agent_export", "--key", "foobar"), 0, false, false,
+      "barfoo\n")
+
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "dropkey", "foobar"), 0, false, false)
+
+-- now with the automate interface
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "au", "generate_key", "foobar", "foobar"), 0, false, false)
+
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "au", "keys"), 0, false, false)
+
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "au", "get_public_key", "foobar"), 0, false, false)
+
+check(raw_mtn("--keydir=keys", "--no-workspace",
+	      "dropkey", "foobar"), 0, false, false)
+
 -- with an invalid database should fail
 check(raw_mtn("--keydir=keys", "--db=bork", "genkey", "address@hidden"), 1, false, false, string.rep("address@hidden", 2))
============================================================
--- src/options_list.hh	1985a3326ea833595edf84b75ae5ab9fde487709
+++ src/options_list.hh	4af93dbcc45e76d732d073ced7ce21d20472cd00
@@ -217,8 +217,8 @@ SIMPLE_OPTION(auto_update, "update/no-up
               gettext_noop("block size in bytes for \"automate stdio\" output"))
 
 SIMPLE_OPTION(auto_update, "update/no-update", bool,
-              gettext_noop("automatically update the workspace, if it is clean and the base "
-                           "revision is a head of an affected branch"))
+              gettext_noop("automatically update the workspace, if it was at a head and the "
+                           "command creates a new head"))
 
 OPTSET(bind_opts)
 GROUPED_SIMPLE_OPTION(bind_opts, bind_uris, "bind", std::vector<utf8>,
============================================================
--- contrib/display_branches.lua	8d16d67c82652534969e81a9062f019d68c584bf
+++ contrib/display_branches.lua	5b9602203db9c299e7821b18078786a8a7fe5574
@@ -7,26 +7,31 @@ do
 do
    netsync_branches = {}
 
-   function RL_note_netsync_cert_received(rev_id,key,name,value,nonce)
+   function RL_note_netsync_cert_received(direction,rev_id,key,name,value,nonce)
       if name == "branch" then
-	 if netsync_branches[nonce][value] == nil then
-	    netsync_branches[nonce][value] = 1
+	 if netsync_branches[direction][nonce][value] == nil then
+	    netsync_branches[direction][nonce][value] = 1
 	 else
-	    netsync_branches[nonce][value] = netsync_branches[nonce][value] + 1
+	    netsync_branches[direction][nonce][value] =
+	       netsync_branches[direction][nonce][value] + 1
 	 end
       end
    end
 
    notifier = {
-      start =
+      ["start"] =
 	 function(session_id,...)
-	    netsync_branches[session_id] = {}
+	    netsync_branches["received"] = {}
+	    netsync_branches["sent"] = {}
+	    netsync_branches["received"][session_id] = {}
+	    netsync_branches["sent"][session_id] = {}
 	    return "continue",nil
 	 end,
-      revision_received =
+      ["revision_received"] =
 	 function(new_id,revision,certs,session_id)
 	    for _, item in pairs(certs) do
-	       RL_note_netsync_cert_received(new_id,
+	       RL_note_netsync_cert_received("received",
+					     new_id,
 					     item.key,
 					     item.name,
 					     item.value,
@@ -34,26 +39,65 @@ do
 	    end
 	    return "continue",nil
 	 end,
-      cert_received =
+      ["revision_sent"] =
+	 function(new_id,revision,certs,session_id)
+	    for _, item in pairs(certs) do
+	       RL_note_netsync_cert_received("sent",
+					     new_id,
+					     item.key,
+					     item.name,
+					     item.value,
+					     session_id)
+	    end
+	    return "continue",nil
+	 end,
+      ["cert_received"] =
 	 function(rev_id,key,name,value,session_id)
-	    RL_note_netsync_cert_received(rev_id,
+	    RL_note_netsync_cert_received("received",
+					  rev_id,
 					  key,name,value,
 					  session_id)
 	    return "continue",nil
 	 end,
-      ["end"] = function(session_id)
-		   local first = true
-		   for item, amount in pairs(netsync_branches[session_id])
-		   do
-		      if first then
-			 io.stderr:write("Affected branches:\n")   
-			 first = false
-		      end
-		      io.stderr:write("  ",item,"  (",amount,")\n")   
-		   end
-		   netsync_branches[session_id] = nil
-		   return "continue",nil
-		end
+      ["cert_sent"] =
+	 function(rev_id,key,name,value,session_id)
+	    RL_note_netsync_cert_received("sent",
+					  rev_id,
+					  key,name,value,
+					  session_id)
+	    return "continue",nil
+	 end,
+      ["end"] =
+	 function(session_id,status)
+	    -- only try to display results if we got
+	    -- at least partial contents
+	    if status > 211 then
+	       return "continue",nil
+	    end
+
+	    local first = true
+	    for item, amount in pairs(netsync_branches["received"][session_id])
+	    do
+	       if first then
+		  io.stderr:write("Received data on branches:\n")
+		  first = false
+	       end
+	       io.stderr:write("  ",item,"  (",amount,")\n")   
+	    end
+	    netsync_branches["received"][session_id] = nil
+
+	    first = true
+	    for item, amount in pairs(netsync_branches["sent"][session_id])
+	    do
+	       if first then
+		  io.stderr:write("Sent data on branches:\n")
+		  first = false
+	       end
+	       io.stderr:write("  ",item,"  (",amount,")\n")   
+	    end
+	    netsync_branches["sent"][session_id] = nil
+	    return "continue",nil
+	 end
    }
 
    local v,m = push_hook_functions(notifier)
============================================================
--- Makefile.am	8267ffc5c03ef233b4a55479fe3912e17e86002d
+++ Makefile.am	6ba377c37707f279f7c52284225726dbaf3cef49
@@ -345,6 +345,8 @@ info_TEXINFOS = doc/monotone.texi
 
 man1_MANS = mtn.1
 info_TEXINFOS = doc/monotone.texi
+monotone_TEXINFOS = doc/version.texi src/std_hooks.lua $(TEXI_FRAGMENTS) $(PDF_FIGURES)
+
 EXTRA_DIST =								\
 	HACKING INSTALL INSTALL_windows_cygwin.txt			\
 	INSTALL_windows_native.txt README.visualc8 UPGRADE		\
@@ -373,14 +375,6 @@ AM_MAKEINFOFLAGS=-I $(top_builddir) -I $
 
 AM_MAKEINFOFLAGS=-I $(top_builddir) -I $(srcdir)
 
-doc/monotone.info: doc/monotone.texi doc/version.texi src/std_hooks.lua $(TEXI_FRAGMENTS)
-
-doc/monotone.pdf: doc/monotone.texi doc/version.texi src/std_hooks.lua $(TEXI_FRAGMENTS) \
-	          $(PDF_FIGURES)
-
-doc/monotone.dvi: doc/monotone.texi doc/version.texi src/std_hooks.lua $(TEXI_FRAGMENTS) \
-		  $(EPS_FIGURES)
-
 #%.eps: %.epsi
 #	mv -f $< $@
 #

reply via email to

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