0.065_01 2013-03-15 16:06:25 America/Los_Angeles
!! DEVELOPER RELEASE !!
This requires Pinto 0.065_01 (also a developer release).
IMPORTANT:
Bad news: This version of pinto is not compatible with
*existing* repositories. To migrate, you'll need to create a new
repository (using this version of pinto) and then "pull" all the
distributons from your old repository into the new one. Repeat
this process for each stack. Unfortunatley, you will loose your
revision history. If you bug me about it, I'll write a script to
automate this for you. I am thaljef@cpan.org.
Good news: This version of pinto has hooks to do future migrations
automatically. So any repository you create with *this version*
of pinto can be easily migrated to any future versions. I'm also pretty
confident that the schema is now stable, so a migration will not be
required for a while.
Also: several classes have been renamed or removed. I strongly
recommend removing your current installation of Pinto and App::Pinto
before installing this one. This will remove things that are no
longer supported.
COMMANDS:
Many pinto commands have been been renamed, removed, or repurposed.
Read the manual for each command to get full details. Here is a
summary of changes:
New Commands:
* The "props" command now shows AND sets configuration properties.
The old "edit" command has been removed.
* The new "default" command now takes the place of the --default
option that existed on the (now defunct) "edit" command. Use the
"default" command to mark the default stack. You can also choose
to have no default stack in your repository, so that that every
command will need to specify an explicit stack as an argument or
option.
* The new "kill" command takes the place of the "delete" command,
which has been repurposed (see below). The command also accepts
a --force option which kills the stack even if it is locked.
* The "delete" command has been repurposed to permanently remove
an archive (and all of its history) from the repository. This
command is highly experimental. Be sure to read the caveats in
the manual for this command.
* The new "lock" command locks a stack so that its packages
cannot be changed by future commands. This is useful for
creating a read-only "tag" of a stack. There is also an "unlock"
command.
* The new "migrate" command migrates existing repositories to be
compatible with the current version of Pinto. This will only
work for repositories that were created with THIS version of
Pinto or later. Contact thaljef@cpan.org if you need to migrate
an older repository.
* The new "register" command registers the packages within an
existing archive on a stack. The archive must already be in the
repository.
* The new "unregister" command unregisters an archive from a stack,
so that its packages will no longer appear in the index but the
archive still remains in the repository.
Changed Commands:
* The --stack option on the "init" command are no longer supported.
Instead, you can specify the initial stack name as an argument. Also
the --bare option is not supported either. When you create a repository
with the "init" command the initial stack is now called "master".
* The "copy" command no longer requires a commit message because
the operation no longer creates an event in the revision history.
* The "list" command no longer supports "%" to indicate that it should
list the contents of all stacks. Instead, use the "diff" command for
a more concise way to compare stacks.
* The "log" command no longer takes a revision argument ("dev@673")
because revisions are no longer identified by a sequence number. But
a similar feature will be avialable in the next release. Also, the
--details opton is not supported any more, but it will probably come
back in the next release.
* The --norecurse and --dryrun options have been renamed to --no-recurse
and --dry-run on all commands that support them. This is to be consistent
with other multi-word option names.
Removed Commands:
* The "merge" and "revert" commands have been removed. At this time
it just isn't clear how they should behave or even what their use case
is. When I know more, I may bring these back.
* The "edit" command is also gone. It's functionality has been
replaced with the "props" command (see above).
* The "blame" command has been removed. It never worked in the first
place and fixing it is a low priority right now.
ENHANCEMENTS:
* The version control system within Pinto has been redesigned to be
simpler and faster. It is more Git-like and stores full snapshots of
the stack at each revision (rather than just storing deltas). It also
organizes history into a directed graph and uses unique non-sequential
identifiers for each revision.
* Due to the new version control system, the performance and scalability
of Pinto is much improved. Benchmark tests show that common operations still
perform well with as many as 10,000 commits (I estimate that is 10 years of
work). And a Pinto repository can scale to 100,000 distributions with good
performance too (that's almost all of CPAN).
* The output of several commands are now colorized to improve readability.
Use the --no-color option or set PINTO_NO_COLOR to disable color
globally.
0.054 2012-11-12 13:22:33 America/Los_Angeles
New Commands:
* The "rename" command allows you to change the name of an
existing stack. Say 'pinto manual rename' for details. This
requires Pinto-0.063 or later.
New Features:
* Commands that support the --message option also now have a
--use-default-message (or -M) option, which causes pinto to use
the default log message that it generates for each command. This
saves you the trouble of having to save and close the default
message in your text editor. Requires Pinto-0.062 or later.
0.053 2012-10-22 12:39:01 America/Los_Angeles
The 'new' and 'copy' commands now have a '--default' option for
setting the default stack at the same time. This is most useful
for setting the default stack after creating a new stack in a
bare repository.
0.052 2012-10-20 00:00:34 America/Los_Angeles
Added the 'blame' command, which shows who was the last person
to modify a package in the stack (by either adding, pinning,
or unpinning it). Requires Pinto-0.059 or later.
Stack names and property names are no longer forced to lower-case.
Instead, the case will be preserved but any lookups or comparisons
will not be case sensitive.
0.051 2012-09-27 13:46:59 America/Los_Angeles
Added the 'replace' command, which substitutes one distribution
for another across all stacks (Contributed by renormalist).
You'll need to upgrade Pinto to use this command.
0.050 2012-09-20 13:19:38 America/Los_Angeles
For the 'list' command, the magic all-stack name has been changed
from '@' to '%'. This was done to distinguish it from revisions,
which look like 'stack@1234'. Requires Pinto-0.055 for
compatibility.
0.049 2012-09-19 22:04:59 America/Los_Angeles
Added --dryrun option to committable commands. This was already
supported by Pinto. It just wasn't offered here in the command
line.
0.048 2012-09-18 16:07:04 America/Los_Angeles
Now requires Pinto-0.52 or newer, if using local repositories.
For remote repositories, App::Pinto should still work with your
current version of Pinto::Remote. However, you'll need to
upgrade Pinto and Pinto::Server on the remote host to use the new
commands (listed below).
Added the 'revert' command, which resores the stack to a revision
of your choosing. See POD for detais.
Added the 'log' command, which shows the changes that have
happened on a stack.
The --dryrun option is available (again) on all commands that
change the state of the repository.
All commands that affect the state of the repository now require
a commit message.
0.047 2012-08-28 15:48:00 America/Los_Angeles
The 'index' command is no longer supported. With the latest
versions of Pinto and Pinto::Server, this command is no longer
useful.
The --dryrun option is only supported on the add, pull, and merge
commands. It didn't make much sense on other commands.
0.045 2012-08-16 11:47:51 America/Los_Angeles
Just documentaiton edits. No code changes.
0.044 2012-08-15 18:25:05 America/Los_Angeles
Added a 'clean' command to force removal of orphaned
archives on the filesystem. See POD for details. You'll
need to have Pinto-0.051 installed locally (or on the server,
if using a remote repository) to use this new command.
0.043 2012-08-14 14:53:41 America/Los_Angeles
Added global options for username and password. These only
matter if using a remote repository that has authentication
enabled.
0.042 2012-05-18 16:37:10 America/Los_Angeles
* Bug Fixes
The init command did not honor the PINTO_REPOSITORY_ROOT
environment variable. Thanks fibo.
0.041 2012-05-15 11:09:56 America/Los_Angeles
First production release. The included pinto utility replaces
both the pinto-admin and pinto-remote utilities. However, you
still have to decide which backend to install (either Pinto or
Pinto::Remote) which ship separately from this distribution.
0.040_02 2012-05-04 15:37:34 America/Los_Angeles
Iniital developer release.