Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: OCamlPro/opam
base: 377425a98d
head fork: OCamlPro/opam
compare: 0.9.0
Checking mergeability… Don't worry, you can still create the pull request.
This comparison is big! We're only showing the most recent 250 commits
Commits on Nov 28, 2012
@samoht samoht Merge pull request #312 from HappyCrow/install_from_src_shell_script
added shell script to compile and install OPAM from sources
@samoht samoht Add quick install instruction 21ecb3d
@samoht samoht Merge branch 'master' of b241f0d
@avsm avsm Merge branch 'master' of git:// 5369405
Commits on Nov 29, 2012
@samoht samoht Merge pull request #315 from avsm/master
typos in readme
@avsm avsm sync jenkins 9361039
@avsm avsm update README 6da9ba3
Commits on Dec 03, 2012
@samoht samoht Add a hook to not delete the build dir.
Either using the command line: --keep-build-dir
Or by setting an environment variable: OPAMKEEPBUILDDIR

This should fix #313
@samoht samoht Merge branch 'master' of 55db825
@samoht samoht Add a %{share}% variable (corresponding to ~/.opam/$switch/share).
This should fix #298
Commits on Dec 04, 2012
@jonludlam jonludlam Make sure Makefile respects the DESTDIR parameter 7d1e6c1
@samoht samoht Merge pull request #318 from jonludlam/add_destdir
Make sure Makefile respects the DESTDIR parameter
Commits on Dec 07, 2012
@samoht samoht First experimental port to cmdliner 419f416
Commits on Dec 10, 2012
@samoht samoht Display an error message when trying to pin a non-existing package
This should fix #320
Commits on Dec 11, 2012
@samoht samoht Merge branch 'master' of 332f6a0
@samoht samoht Complete init command.
Now I think I understand how to use Cmdliner properly. The remaining commands should be easier (and quicker) to proceed.
@samoht samoht Add 'opam list' 1830947
@samoht samoht Add 'opam list, search & info' 19f48b3
@samoht samoht Add 'opam config'. This was a big beast to tame ... ced707e
Commits on Dec 12, 2012
@samoht samoht Add opam {update,upgrade,reinstall} 5e48293
@samoht samoht Add opam {install,remove} 980bb48
@samoht samoht Refactoring some code, use global build options for install/reinstall…
@samoht samoht Really add the build options to 'opam upgrade' 6755580
@samoht samoht Add opam upload 3b603f5
Commits on Dec 13, 2012
@samoht samoht Add subcommand helpers and rewrite 'opam config' with this.
This looks much cleaner now!
@samoht samoht Add 'opam remote/repository' f9e498b
@samoht samoht Add 'opam switch' 0372da8
@samoht samoht Add the final 'opam pin' command! 889e116
@samoht samoht Fix subcommands handling 28509a2
@samoht samoht Add AUTHORS info on man pages 2c300ae
@samoht samoht Remove deprecated manual sources. The man pages will now be generated…
… by cmdliner.
@samoht samoht Add a Makefile to generate the man pages 987a306
@samoht samoht Forgot to add 'opam upload' to the list of possible commands 0bbb813
@samoht samoht Add the new man pages c16ffc0
@samoht samoht Update doc Makefile 2bbc318
@samoht samoht Fix 'opam config -env' 0cc523d
@samoht samoht Fix 'opam switch'. I added a new enum_with_default converter to handl…
…e enumeration with a default element. Could be useful for others I guess, so I'll try to push that upstream (later ...)
Commits on Dec 14, 2012
@samoht samoht cosmetic change 8d0b151
@samoht samoht Fix man pages db694c9
@samoht samoht Fix 'opam switch' documentation 485842a
@samoht samoht Partially fix the test cases
The last (I hope) issue is that cmdliner apparently does not like: opam --root X COMMAND
@samoht samoht opam upload takes a required repository as positional argument. 8a6929e
@samoht samoht Each global variable can be set-up using environment variables 2c7d855
@samoht samoht All the tests pass again! Yipee! 7c726be
@samoht samoht Download cmdliner 55bfacf
@samoht samoht Bump to 0.9.0 44e5181
@samoht samoht Update CHANGES 6dddc1d
@samoht samoht Update man pages 58416a0
@samoht samoht First round of changes after @dbuenzli useful remarks (see #157) 746b8b2
Commits on Dec 15, 2012
@avsm avsm Merge branch 'master' of 2288c8b
@avsm avsm Merge branch 'cmdliner' of git:// d6b0741
@avsm avsm various typos in cmdliner help 3aec588
@samoht samoht Merge pull request #327 from avsm/master
typos in help
Commits on Dec 17, 2012
@samoht samoht Fix 'opam pin' (#328) cf8d00d
@samoht samoht Be more explicit about environment variables. e799d16
@samoht samoht Improve 'opam switch' help 6524ea0
@samoht samoht Add Frederic in the author list and a FURTHER DOCUMENTATION section. f84b7b2
@samoht samoht Subcommands are now optional ...
When they are not provided, use a sensible default (e.g. 'list').
@samoht samoht Horrible hack to have 'opam config -env' working again. f070e8c
@samoht samoht Fix backward compatibility with rsync pinned packages 845b1ea
@samoht samoht Add the global variables to 'opam config list' 6f0d0f6
@samoht samoht Merge branch 'cmdliner' of into cmdliner 8f3099c
@samoht samoht Fix typo in 'opam config var' help 00b9859
@samoht samoht Display the implicit variables with 'opam config list' bf011f2
@samoht samoht Add the ability to filter the list of variables.
$ opam list conf-ocaml lwt

('conf-ocaml' or 'globals' for global variables)
Commits on Dec 18, 2012
@samoht samoht Fix jenkinks script 779a365
@samoht samoht Fix regression in 'opam update' when updating local pinned packages 096ca3b
@samoht samoht Really fix 'opam update' regression (continue 096ca3b) 6b2401d
@samoht samoht Improve 'opam info' output (and add the ability to see info about non…
…-available packages)
@samoht samoht It is now possible to disable some packages on some OS
os: [ !"darwin"]


os: ["linux" "bsd"]

This is quite had-hoc at the moment (ie. a typo will not be detected) but it is sufficient to close #260
@samoht samoht Improve 'opam switch'
* better 'opam switch list'
* better documentation (this should fix #299)
* add compiler description files (this should fix #305)
@avsm avsm update CHANGES to be pandoc friendly 1d8bf89
@samoht samoht Merge pull request #331 from avsm/patch-2
update CHANGES to be pandoc friendly
@samoht samoht Improve 'opam switch list' for system compilers ff2c512
@samoht samoht Update 33d1c10
@samoht samoht Update 7afae52
@samoht samoht Update 415544e
@samoht samoht Update 2ee2d70
@avsm avsm Update CHANGES to remove pandoc header 485bbeb
@samoht samoht Merge pull request #332 from avsm/patch-3
Update CHANGES to remove pandoc header
@venator venator [new] Adding a darcs backend db84faa
@venator venator [change] Updating OPAM modules to integrate the darcs backend 7493ba7
@venator venator Merge branch 'master' of into darcs-…

@samoht samoht Merge branch 'master' of c3b8859
@samoht samoht Fix installation of packages when some main dependencies are optional…
… (ie. depends: [ ("lwt" | "sqlite3-ocaml") ])

This should fix ocaml/opam-repository#235
@venator venator [fix] Fixing 'darcs fetch' and 'darcs apply' consistency 34852c8
@venator venator Merge branch 'master' of into darcs-…
@samoht samoht Update CHANGES c812512
@venator venator [refactoring] Factorizing a match case with darcs 24456f0
@samoht samoht Merge pull request #333 from venator/darcs-backend
Darcs backend
@venator venator [new] Adding support for darcs URLs in OPAM files e031be6
@venator venator Merge branch 'master' of into darcs-…
@samoht samoht Merge pull request #334 from venator/darcs-backend
Darcs URLs in OPAM files
@samoht samoht Update CHANGES 653f115
@samoht samoht It is now possible to use OPAM without any preinstalled compiler
Hence, this should work:

$ opam init -c 3.12.1
$ opam init -c 4.00.1+french
$ ...

This should fix #250
@samoht samoht Update the message after 'opam switch'.
'opam --root XXX config env' is not valid with cmdliner (because of ambiguities) need to use 'opam config env --root XXX'
@samoht samoht Update CHANGES d04e5fb
@samoht samoht Remove alternative commands.
It's less confusing to have only one way to name things.
@samoht samoht Fix #335
--yes was not working with the new command-line interface
Commits on Dec 19, 2012
@avsm avsm `opam config -list-vars` is now `opam config list` it appears 9c7cf9d
@samoht samoht Fix typo in '--verbose' documentation ca3f097
@samoht samoht desambiguate -r: -r=--root and -R=--rec 57b653c
@avsm avsm Fix typo for OPAMVERBOSE 577796c
@samoht samoht Merge pull request #338 from avsm/patch-4
Fix typo for OPAMVERBOSE
@avsm avsm more fixes to cmdliner jenkins 0f85da6
@samoht samoht Merge pull request #339 from avsm/master
jenkins update
@avsm avsm one more fix to jenkins for mirage 8521a7b
@samoht samoht Update the tutorials PDF 4e36b2a
@samoht samoht Merge branch 'master' of 3669605
@avsm avsm Merge branch 'master' of git:// 160e8d4
@samoht samoht Merge pull request #340 from avsm/master
more jenkins
@samoht samoht Improvements to 'opam pin' to not build and sync in the same folder 657e7fb
@samoht samoht WIP the usual pinning codepath is now much cleaner, and the checkout …
…of specific commits is broken
@samoht samoht Pinning to a specific git commit seems to work fine!
This would help fixing #267 (but not completely yet)
@samoht samoht Update CHANGES 8e9d46c
@samoht samoht [remove] if the remove command only use 'ocamlfind', then it is not n…
…ecessary to extract the archive again.
@samoht samoht Update CHANGES e99b7c3
@samoht samoht Add some documentation about git pinning to a given commit/tag/branch. c10af2d
Commits on Dec 20, 2012
@samoht samoht Update AUTHORS list 3d33157
@samoht samoht Fix tests e40c5b0
@samoht samoht OS filter are now valid formulas e7106b9
@samoht samoht Fix distclean target f601924
@samoht samoht Fix typos. 8e778e5
@samoht samoht Update API docs d7cc8a9
@samoht samoht Update man pages 4e91d69
@samoht samoht Rename roadmap -> spec 26e6b59
@samoht samoht Update CUDF adress c8e8e58
@samoht samoht The roadmap now almost look similar to a dev manual. It's not totally…
… polished yet, but I guess it's ok for now on.
@samoht samoht Update 0a4a546
@samoht samoht Update README ac523f2
@samoht samoht Fix typo in README fa47fcd
Commits on Dec 21, 2012
@tuong tuong update the mail to a working one before 2013 89d81e9
@tuong tuong update the mail to a working one after 2013 eef3150
@samoht samoht Merge pull request #345 from tuong/master
update the mail to a working one after 2013
@samoht samoht Fix src_ext Makefile c76d28d
@samoht samoht Create log files in ~/.opam/log when doing `which <cmd>` to check if …
…<cmd> exists.

This should fix #342
@samoht samoht Merge branch 'master' of 961bbeb
@samoht samoht Allow to add homepage, doc (page), authors list, and license metadata…
… in OPAM files.

'opam info <package>' will display them.

Also: 'opam info <package> -f doc' will display the documentation page, so it's possible to do: firefox `opam info xmlxm -f doc` if needed (and users can create an opam-doc alias if they want).

This will help fixing #249. One thing is still missing, the build-doc field which will come in a later patch.
@samoht samoht Add a way to execute tests and build documentation.
* OPAMBUILDTEST=1 or --build-test
* OPAMBUILDOC=1 or --build-doc

OPAM will run:
1/ the commands in build
2/ the commands in test (if the right flag is enabled)
3/ the commands in doc (if the right flag is enabled)
4/ will copy the files specified in <package>.install in the right place

So this means that the doc command need to either install the pages itself, or the .install file should be correct.

This should fix #249
@samoht samoht Update CHANGES 72e2d9d
Commits on Dec 31, 2012
@avsm avsm fix typo in locking error 62cc33b
@avsm avsm add fuse-dev for jenkins 27b1ff2
Commits on Jan 01, 2013
@avsm avsm jenkins: add some pkg dependencies 5099b72
@samoht samoht Merge pull request #355 from avsm/master
jenkins and minor typo fix
Commits on Jan 03, 2013
@samoht samoht Update README
This should fix #352
@samoht samoht Fix typo e465a0b
@samoht samoht Fix #350
Need to call real-path in case the repository address is local.
@samoht samoht Fix the creation of a big archive
This should help fixing #347
@samoht samoht Fix previous commit (this should help fixing #347) 6d62355
@samoht samoht Improve opam-mk-repo:
opam-mk-repo package.version now works
@samoht samoht Do not install the library files by default. bfcf58b
@samoht samoht Improve uninstall messages.
This should help fixing #348
@samoht samoht Load the right environment variables when uninstalling.
This hopefully should fix #348
@samoht samoht Fix generation of opam.1 fd8a2f7
@samoht samoht Update man pages 3ead08a
@samoht samoht Update to the dev manual about .install 99da714
@samoht samoht Fix duplicate entries in `opam config list`
This should fix #359
Commits on Jan 04, 2013
@samoht samoht Generate and upload a full archive for a given version.
This will help fixing #347 breakage in the future and it will also please BSD packagers which don't want a package to get network access while building a package.
@tuong tuong [tests] provide more checking ae17b34
@samoht samoht Refactor src_ext Makefile to ease dependency updates 39fc962
@samoht samoht Use cmdliner 0.9.3 ff1c080
Commits on Jan 06, 2013
@samoht samoht Really fix the weird uninstall problem
I've finally nailed down issue #348 (and #362). The issue was indeed caused by da0d7de:
* This commit is implementing an useful optimization: in case the remove command is 'ocamlfind remove XXX' only, then OPAM don't create ~/.opam/<switch>/build/<pkg> anymore. Which means increased uninstall time.
* However, the uninstall command was still run in ~/.opam/<switch>/build/<pkg>. If that directory does not exists, the command was just dropped silently.
* OPAM automatically removes ~/.opam/<switch>/lib/<pkg>, so when the package was not using C bindings (with stub files in ~/.opam/<switch>/lib/stublibs) the bug was hidden
* Using OPAM with OPAMKEEPBUILDIR=1 (which means that the build dir wasn't removed during upgrades) hides the bug

So now I've fixed the bug:
* when we do an exec in a given dir, OPAM fails if the dir doesn't exist
* on uninstall, if the build dir is not there run the uninstall command at the OPAM root

This should fix #362
Commits on Jan 07, 2013
@samoht samoht Merge pull request #361 from tuong/master
[tests] provide more checking
@samoht samoht Fix #361
%{package.section:variable}% is confusing but '.' is the only non-ambiguous package name separator in OPAM currently. So instead, warm the user when he tries to use that syntax incorrectly.
@samoht samoht Revert "[tests] provide more checking"
This reverts commit ae17b34 because 01754cf correctly warms the user about his mistakes now.
@samoht samoht Change --cores to --jobs to be more consistent 078f652
@samoht samoht Change cores to jobs in the code as well 9271600
@samoht samoht Do not display "ocamlc: command not found" when initializing OPAM whe…
…n no compiler is available
@samoht samoht Remove the "-c" short-cut to "--comp" because "-comp" is then underst…
…ood to "-c omp" which is quite ambiguous
@samoht samoht Improve error reporting on 'opam init'.
* better error message in case the repository address is invalid
* better error message in case the compiler name is invalide

This should improve #357
@samoht samoht Clean-up some tests, add an option to be a bit less verbose a6d6d28
@samoht samoht Raise internal_error in this means the error will be r…
…eported nicely by OPAM when the error happens in a child process (ie. while building)
@samoht samoht Use a pipe instead of a temp file to marshall back errors from child …
…processes to parent.

This should fix #349
@tuong tuong [opam-repo-check] add an option to normalize the files (read only by …
@tuong tuong [opam-repo-check] we continue 5a1b838 6f6e0a5
@samoht samoht Improve the message displayed to the user when we reinstall packages.
Now OPAM display either:
* the root causes of the reinstall (ie. the package which caused the reinstallation)
* or the fact that the package has been modified upstream
@samoht samoht Fix a bad bug with wrong environment setting.
Sometime, it 'opam config env' hadn't been called in the current shell, some package build was failing miserably. This commit clean-up a lot of small things in the management of environements, so now 'opam install XXX' should always work even if the user has a wrong environment set-upt.
@tuong tuong [opam-repo-check] add an option to repair most of warnings found when…
… analyzing files
@samoht samoht Fix Makefile oldity 0e2c647
@samoht samoht 'opam export' and 'opam import' now takes -f to specify the filename.…
… In case no filename is given, import reads stdin and export uses stdout.
@samoht samoht Update CHANGES ae636d1
Commits on Jan 08, 2013
@tuong tuong Merge branch 'master' of f1df108
@tuong tuong Fix the number of jobs by default, see 419f416 . 45a3533
@samoht samoht Merge pull request #363 from tuong/master
Fix the number of jobs by default, see 419f416 .
@samoht samoht Improve debugging of solver inputs.
Now, we can use --dry-run to not install anything (ie. we just ask the solver) and --cudf=foo to generate foo-<n>.cudf containing the request for the n-th call to the (internal or external) solver.

This should fix #364
@samoht samoht Merge branch 'master' of 8b6f549
@samoht samoht Fix 'opam config env'
This is a regression introduced in e65ff1b which causes to display the full environment when doing 'opam config env' instead of just the bits modified by OPAM.

This should fix #365
@samoht samoht Fix CUDF preamble
This should fix #366
@samoht samoht Continue 7534903 (issue #365).
The unit-tests are passing again.
@samoht samoht Continue 396f0b5
Now we display the root cause for every action proposed by the solver. This should improve the user experience quite a bit ...
Commits on Jan 09, 2013
@samoht samoht Update CHANGES 701ebe7
@samoht samoht Clean-ups in the tests Makefile 7c9a86c
@samoht samoht Distinguish between packages explicitely installed by the user and th…
…e rest.

This let us uninstall unecessary packages when one root package is uninstalled.

Also, try to give some explanations when deleting packages as well.
@samoht samoht Improve the root cause analysis of OPAM actions. 1ca631f
@samoht samoht Clean-ups: OPAM now compiles with -warning-error A -w +A-4-9 19de888
@samoht samoht Init ~/.opam/<switch>/installed.user with the initial packages (it wa…
…s working before, because is that file is empty, then OPAM copies the content of ~/.opam/<switch>/installed).
@samoht samoht Initialize installed.user when switching and importing packages ff8a568
@samoht samoht Code refactoring: change installed.user -> installed.roots
No semantic changes
@samoht samoht Update CHANGES 007df0a
@samoht samoht Add --installed and --short options to 'opam switch list'
The --installed option only display the currently installed compiler switches.
The --short option make OPAM display the list of available 'opam switch' target (ie. available compiler + installed switches) on one line, separated by spaces.

This should fix #371
@samoht samoht Fix the documentation for --short (as it can be used with 'opam switc…
…h list' as well now)
@tuong tuong Fix the non-termination of OPAM when sometimes we install an arbitrar…
…y package, see 006293e .
@samoht samoht Merge pull request #372 from tuong/master
Fix the non-termination of OPAM when sometimes we install an arbitrary package, see 006293e .
@samoht samoht Improvement to the solver heuristics:
* Reduce the size of the state space explored by the brute-force heuristics.
* Minimize the actions perfomed by OPAM to only the one explicitely required by the user.

This should fix #323 (or at least greatly improve similar situations).
@samoht samoht Merge branch 'master' of 8b7e627
@samoht samoht Update CHANGES 6e81524
Commits on Jan 10, 2013
@tuong tuong we continue 7fcfe9c 92c8d85
@samoht samoht Merge pull request #374 from tuong/master
we continue 7fcfe9c
@samoht samoht Clean-ups in the tests:
* the build scripts now fail properly on build error
* the final test to check wgether compiler env variables works is more robust
@samoht samoht Really fix #349 and #262
We really need to use files here, as the parent will not consider running childs and will only look for their termination before eventually reading the marshaled error. If we use a normal pipe, this could easily to lead to dead-locks, as pointed out by @tuong.

This fix re-add the initial temporary file (but this time, they are simply in ~/.opam/logs and really unique).

So this commit partially revert 92c8d85, 7fcfe9c and 006293e. Partially because it keeps the good idea of truncating the output in case either stderr or stdout are too long.

So this commit greatly improve the user experience when there is a compilatin error. The location of full logs is showed in case the truncated lines are not enough to solve the problem.
@samoht samoht Add a --fake option.
Using this mode, OPAM will work in a simulation mode where all the build/install will be simulated.  This will *greatly* help debugging weird solver behavior (if any).

BEWARE: do not mix --fake commands with normal commands within the same compiler switch: this will definitely corrupt the state of OPAM. So use this wonderful option with care :-)
@samoht samoht Update CHANGES c52d652
Commits on Jan 11, 2013
@cago cago Update completion script for zsh 8321696
@cago cago Merge branch 'master' of dfe666b
@cago cago Update the way to get the list of sub-commands 4a23fbf
@samoht samoht Merge pull request #379 from cago/master
Update completion script for zsh
@samoht samoht Register all the printers in one place (eg. in OpamSystem) effa6cc
@samoht samoht Improve the output of opam-mk-error on error.
This should help debugging #378
@samoht samoht Do not use spawn a shell to do redirect when creating index.tar.gz. A…
…pparently it can fail on some system and tar simply accepts an output file as argument.

This should fix #378
@samoht samoht Merge branch 'master' of 8784502
@samoht samoht Fix typo. This should really fix #378 7b1936b
@samoht samoht Improvements to opam-mk-repo.
* Warn when skipping non-existant packages.
* Do nothing if the user has provided no valid packages.
* Be more robust when trying to create index.tar.gz or urls.txt in empty repositories (ie. do nothing in this case).
@samoht samoht Add the build flags to 'opam import' a83b7a7
@samoht samoht Import/export the root packages as well. 0691322
@samoht samoht 'opam remove' should behave nicely when using with --fake ac97eaa
@samoht samoht Installed packages are always available.
This means that you can remove a repository and continue to use the packages normally as long as they are installed. Once uninstalled (because of upgrade/remove), then they will disapear.

This should fix #309
@samoht samoht Refactoring, no semantic changes 0d418eb
@samoht samoht Fix 'opam remove' solver request.
* Manually the packages depending on the ones we want to remove
* keep the same version for the transitve closure of soft-dependencies of installed roots
* and call the solver which will delete all the remaining non-root packages
@samoht samoht 'opam init' now accepts --fake (ie. to fake the installation of base …
@samoht samoht When using the external solver, also display the command used to call…
… the solver at the first line of the generated CUDF file (if using --cudf option)
@samoht samoht Display a line on the CUDF file to say when we use the internal solver 4884e5e
@samoht samoht Display a message when using --dry-run 6fe8698
@samoht samoht By default, use the 'paranoid' strategy when an external solver is av…

If you want to tweak the stategy used, change OPAMCRITERIA (for instance OPAMCRITERIA=-new,-remove), see /usr/bin/aspcud for available options (the package is available under debian in apt-cudf.
@samoht samoht Test. Do not pollute OPAM root with the export file. c40b9fb
@samoht samoht Add a success message when the test is successful (sorry @altgr no co…
@samoht samoht Clean up log files when the command is a success, and do not polute t…
…he root of OPAM (ie. everything goes into ~/.opam/log or ~/.opam/<switch>/build/<package>/)
@samoht samoht Improve error messages in OpamSystem 52ff3b5
@samoht samoht On upgrade, if we recompile packages because of upstream changes (whi…
…ch is typically the case when we use dev packages), remember which packages successfuly build and install to not have to handle them again on the next upgdrade.

This was working well when we were upgrading because of new packages, so now the behavior is much more consistent.
@samoht samoht Always create a new archive from 'git -tar' when using dev packages, …
…this is much more robust (and it not much slower anyway).
@samoht samoht Add consistency checks when using 'opam pin'.
This will make the semantics easier to understand (but one could still use --force to bypass the checks).

This should fix #384
@samoht samoht On startup check that repository state are consistent and try to fix …
…eventual issues.

This could be extended later by adding more consistency checks.
@samoht samoht Improve again the output in case of errors. f2f01f2
@samoht samoht Improve output of 'opam info' when the description is short (ie. only…
… one line).
@samoht samoht Improve the pin consistency checks, and consider that the pinned pack…
…age is the one with max-version. I guess it would be better to give the option to the user to choose which is the corresponding version but no hurry.
@samoht samoht Fix-up 'up-to-date' messages on 'opam update'. 6ed456a
@samoht samoht Better message when the version of OPAM is not up-to-date.
It's maybe a bit harsh to beg the user to upgrade on every opam invocation, but I guess we could improve that with 1.0.0.

This should fix #382
@samoht samoht Register some global statistics. Use OPAMSTATS=1 to activate. e374647
@samoht samoht Fix 'opam pin --force' 5580784
Commits on Jan 12, 2013
@samoht samoht Improve opam-mk-repo message when it fixes a checksum 2bd42db
@samoht samoht Filename.get_temp_dir_name does not exists in OCaml 3.12.1
This should fix #386