2006-12-31 18:38:52 by Julio M. Merino Vidal | Files touched by this commit (1) |
Log message:
Fix placement of PKGREVISION.
|
2006-12-11 09:13:13 by Daniel Carosone | Files touched by this commit (5) |
Log message:
fix from monotone mainline fbfd9b42c9e9fdb5d45e806cab07ad0dd57f7bf8:
cmd_automate.cc, cmd.hh, ...: renamed member variable "options" to
"opts" to make (hopefully) the gcc-3.3 build slaves happy
This went in just after the 0.31 release, but never made it to pkgsrc
until now.
|
2006-11-24 13:51:39 by Matthias Drochner | Files touched by this commit (1) |
Log message:
patches were removed
|
2006-11-23 18:38:35 by Julio M. Merino Vidal | Files touched by this commit (5) |
Log message:
Update to 0.31:
0.31 release. Code cleanups and bug fixes.
New features:
- If multiple --message (or -m) arguments are passed to
'commit', then they will be concatenated on separate lines.
- The validate_commit_message hook is now told what branch the
commit is on.
Bugs fixed:
- The typo that prevented building with gcc 3.3 has been
fixed.
- Attempting to commit without a signing key available now
fails earlier.
- Command-line option parsing has been redone yet again; this
should fix a number of bugs caused by the use of
boost::program_options. For instance, command line error
messages are now l10nized again, "--depth=asdf" now gives a
sensible error message instead of crashing, and --key= now
works as an alternative to -k "".
- A bug in the new roster caching logic that caused assertion
failures on very large trees has been fixed.
- A rare bug in the "epoch refinement" phase of the netsync
protocol has been fixed.
- Accidental (and undocumented) change to 'automate inventory'
output format reverted; documentation is now correct again.
- Some obscure error conditions with 'pivot_root' fixed.
Many fixes to 'automate stdio':
- IO handling has been rewritten, to remove some
obscure bugs and clean up the code.
- automate commands can now take options (even when used with
'automate stdio').
- The default block size has been increased to 32k (which
should considerably reduce overhead).
- Many automate commands were flushing their output far too
often, causing major slowdowns when used with 'automate
stdio'; this has been fixed.
- Syntax errors now cause 'automate stdio' to exit, rather
than attempting to provide usage information for the calling
program to read.
Other:
- New large-coverage random testsuite for delta reconstruction
path finding algorithm.
- Miscellaneous code cleanups and improved error messages.
- Enhancements to debian packaging.
- New translation to es (Spanish).
|
2006-09-22 13:14:06 by Daniel Carosone | Files touched by this commit (3) |
Log message:
Fix a regression introduced between 0.29 and 0.30 detected when
handling large repositories like NetBSD src. Problem found by riz@,
fix from mainline a:njs/d:2006-09-22T07:01:26, tested by me.
bump rev to nb1
ChangeLog:
2006-09-21 Nathaniel Smith <njs@pobox.com>
* lru_writeback_cache.hh (clean_insert): Correct the cache
overflow logic so as to _actually_ never remove the last element.
Add an invariant to verify this.
(insert_dirty): Add an invariant here too.
|
2006-09-20 15:10:10 by Julio M. Merino Vidal | Files touched by this commit (2) |
Log message:
Fix build with gcc 3.x (dunno why it compiled with 4.x...). From riz@.
|
2006-09-18 17:36:35 by Julio M. Merino Vidal | Files touched by this commit (2) | |
Log message:
Update to 0.30. I think this is the first release that passes the full
test suite out of the box!
OK'ed by wiz@ during freeze.
0.30 release. Speed improvements, bug fixes, and improved
infrastructure.
Several internal data formats have changed with this release;
migration is straight-forward, but slightly more complicated
than usual:
-- The formats used to store some cached data in the
database have changed. To upgrade your databases, you
must run:
$ mtn -d mydb.mtn db migrate
$ mtn -d mydb.mtn db regenerate_rosters
-- The metadata stored in _MTN in each workspace has been
rearranged slightly. To upgrade your workspaces, you
must run
$ mtn migrate_workspace
in each workspace.
All of these operations are completely lossless, and 0.30
remains compatible with earlier versions with regards to
netsync.
Speed improvements:
- Algorithm used to find branch heads rewritten, to use vastly
less memory and cpu. This not only makes 'mtn heads'
faster, but also 'mtn commit', 'mtn update', and other
commands, which were spending most of their time in this
code.
- The format used in the database to store the roster cache
was rewritten. This makes initial pull approximately twice
as fast, and somewhat improves the speed of restricted log,
annotate, and so on.
- The xdelta algorithm was further optimized.
- A memory leak in Botan was fixed, which was causing
excessive memory and CPU time to be spent during 'mtn
checkout'.
- Monotone has fast-paths for doing character set conversion
when the system it is running on uses plain ASCII. These
fast-paths now know that "646" is another name used for
ASCII, and systems that use this name (like some BSDs) now
benefit from the fast-paths.
- Miscellaneous other improvements.
Workspace format changes:
- It is now possible to write down a multi-parent (merge)
workspace. However, monotone will still refuse to work with
such a workspace, and there is no way to create one. This
change merely sets up infrastructure for further changes.
- _MTN/revision no longer contains only the parent revision
id; if you depended on this in scripts, use 'mtn automate
get_base_revision_id' instead. Also, _MTN/work has been
removed.
UI changes:
- 'mtn status' now includes the branch name and parent
revision id in its output.
- The output of 'mtn annotate' and 'mtn annotate --brief' has
been switched. The more human-readable output is now the
default.
- 'mtn pluck' now gives an error message if the requested
operation would have no effect.
- On command line syntax errors, usage information is now
printed to stderr instead of stdout. (Output requested with
--help still goes to stdout.) This should make it easier to
find bugs in scripts.
Bug fixes:
- While changelog messages have always been defined to UTF-8,
we were not properly converting messages from the user's
locale. This has now been fixed.
- An off-by-one error that caused some operations to abort
with an error message about "cancel_size <
pending_writes_size" has been fixed.
- In 0.29, --help output was not localized. This has been
fixed.
- In 0.29, setting merger = "emacs" would not work unless
EDITOR was also set to "emacs" (and similar for vi). This
has been fixed.
- A rare invariant violation seen when performing certain
sequences of renames/adds in the workspace has been fixed.
- If a user failed to resolve the conflicts in a text file, we
would continue asking them to resolve conflicts in remaining
files, even though the merge could not succeed. We now exit
immediately on failure.
- Work around some g++ 3.3 brokenness.
Documentation changes:
- Imported *-merge documents into the manual (they still need
to be cleaned up to fit in better).
Changes to automate:
- Bug fix in 'attributes': this command is supposed to list
attributes that were removed from a file in the current
revision; instead, it was listing all attributes that had
ever been removed from that file. Now fixed.
- New command 'get_corresponding_path': given a revision A, a
path P, and a revision B, looks up the file with name P in
revision A, and states what path it had in revision B.
- New command 'get_content_changed': given a revision A and a
path P, gives the ancestor of A in which P was last
modified.
- New command 'get_option': Fetches variables from
_MTN/options (e.g., the current workspace's branch and
database).
- New command 'genkey': an automate-friendly way to generate a
new monotone key.
|
2006-09-05 11:58:14 by Julio M. Merino Vidal | Files touched by this commit (2) |
Log message:
Monotone has got a domain name, so use it!
|
2006-08-21 18:23:10 by Julio M. Merino Vidal | Files touched by this commit (3) | |
Log message:
Update monotone and monotone-server to 0.29:
0.29 release. Code cleanups and bug fixes.
New features:
- The output of 'mtn status' has been changed significantly; the
output formerly used by 'mtn status --brief' has become the
default. For output similar to the old 'mtn status', see
'mtn automate get_revision'.
- It is now significantly easier to control what merger
monotone uses to resolve conflicts; for instance, to use
emacs to resolve conflicts, add:
merge = "emacs"
to your .monotonerc file. To override temporarily, you can
also use the environment variable MTN_MERGE, which takes the
same strings. Currently recognized strings are "kdiff3",
"xxdiff", "opendiff", "tortoisemerge", \
"emacs", "vim", and
"meld".
- Formerly, monotone's sync-over-ssh support required that an
absolute path be used, with a URL like:
ssh://venge.net/home/njs/my-db.mtn
The following syntaxes are now supported as well:
ssh://venge.net/~/my-db.mtn
ssh://venge.net/~njs/my-db.mtn
Bugs fixed:
- The bug where monotone would sometimes respond to a control-C
(or several other signals) by locking up and refusing to exit,
has been fixed.
- Monotone now properly respects SIGPIPE. In particular, this
means that 'mtn log | less' should now exit promptly when
'less' is exited.
- 'mtn log' now flushes its output after each message; this
makes 'mtn log <FILES>' significantly more usable.
- 'mtn log <FILES>' formerly listed irrelevant revisions (in
particular, any revision which contained a delete of any files
or directories, was always included). This has been fixed.
- If, during an update, two files both had conflicts, which,
when resolved, resulting the two files becoming identical, the
update would error out. This has been fixed.
- If _MTN/log exists and does not end in a newline, we now add a
newline before using the log message. This removes a problem
where the string "MTN:" would end up appended to the last line
of the log message.
- We no longer buffer up an arbitrarily large number of pending
writes in the database. This improves speed and memory usage
for 'commit', and fixes the problem where 'cvs_import' would
run out of memory.
- Monotone's tree walking code (used by 'ls unknown', 'ls
missing', and friends) now uses much less memory, especially
on reiserfs.
Automate changes:
- 'mtn automate stdio' now uses a configurable block size,
controlled by command-line option --automate-stdio-size. This
is mostly useful for testing speed/memory trade-offs.
- 'automate attributes' has a new format, which includes more
information.
Code cleanup:
- We now use boost::program_options to parse command line
options, rather than popt. The only user-visible change
should be that --option="" no longer works as a way to set
some option to the empty string; use --option "". (This
change also removes a lot of orphaned and historically buggy
code from monotone.)
Other:
- zsh completion script significantly revised and updated (see
contrib/monotone.zsh_completion).
|
2006-07-22 21:02:36 by Julio M. Merino Vidal | Files touched by this commit (2) |
Log message:
Update to 0.28:
0.28 release. Cherrypicking, a new testsuite, and some fixes
and enhancements.
New features:
- Cherrypicking with the new "pluck" command. This takes (a \
restricted
subset of) the changes in a revision, or between two
revisions, and applies them to your workspace. That this
has happened is not recorded in history; it as if you
happened to make some very similar changes by hand in your
workspace.
- New automate commands, "automate tags" and "automate \
branches".
- "diff" now knows how to find enclosing function (or
whatever) bodies, just like GNU diff's "-p" option.
-- The regex that defines "enclosing function" can be chosen
on a per-file basis by a hook function; the default hook
knows about LaTeX, Texinfo, and most programming
languages.
-- This is enabled by default; use --no-show-encloser to
disable.
Enhancements:
- When netsync fails due to permission errors, the server returns a
semi-intelligible message before dropping the connection.
- When merging a branch with 3 or more heads, the order in which to
merge the heads will now automatically be chosen to minimize
the amount of repeated work that must be done.
- Crash dumps are now written to $CONFDIR/dump when no workspace is
available
- Path validation routines are faster.
- Inodeprints should be slightly more robust now.
- New hook get_mtn_command, used to determine the path to the
mtn binary on a remote host, when using ssh support.
- "diff" now accepts "-u" and "-c" as \
short for "--unified"
(the default) and "--context", respectively.
Bug fixes:
- "revert --missing" now works when run in a subdirectory.
- "revert --missing" now works without any additional files
being specified. (You don't have to say "mtn revert
--missing .".)
- Fix an edge case where monotone would crash if there was a
content conflict in a merge for which there was no lca.
- Fix a case where netsync would sometimes hang during refinement.
- "mtn help" and "mtn --help" now exit with return \
code 0.
Build environment:
- automake 1.9 is now required.
- The testsuite has been rewritten, and should be much faster now. It
also no longer relies on the presence of a *nix userland.
- Add workaround for gcc 4.1.[01] bug causing "multiple
definition" errors.
Internal:
- Restrictions have been split into path_restrictions and
node_restrictions, and generally cleaned up more.
|