[darcs-users] [patch141] Include the exact package versions darcs was compiled
Eric Kow
kowey at darcs.net
Mon Jan 18 09:29:32 UTC 2010
Applied, thanks! This bundle dumps a list of package versions at the end of
exact-version, which is a very good thing.
I was pleasantly surprised to find out that this still preserves the property
that darcs --exact-version is a working context file, so you can still do
darcs --exact-version > /tmp/ctx
darcs get --lazy http://darcs.net --context /tmp/ctx
to get the bug reporter's darcs.
Also note that this brings us a step closer to http://bugs.darcs.net/issue849
being resolved. It would still be good to dump the flags in there.
Fix our version mechanism to make non-clean rebuilds pick up right version.
---------------------------------------------------------------------------
Thanks to Reinier for reviewing the hard part of this bundle (a
different patch)
Include the exact package versions darcs was compiled with in --exact-version.
------------------------------------------------------------------------------
> ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
> + ,"builddeps = " ++ (show $ formatdeps (packageDeps lbi))
> ,"context = " ++ case ctx of
> Just x -> show x
> Nothing -> show "context not available"
> + where formatdeps = unlines . map formatone
> + formatone p = case packageName p of PackageName n -> n ++ "-" ++ showVersion (packageVersion p)
This looks fine to me. Just dumps a string like
builddeps = "HTTP-4000.0.8\narray-0.2.0.0\nbase-3.0.3.1\nbytestring-0.9.1.4\ncontainers-0.2.0.1\ndirectory-1.0.0.3\nfilepath-1.1.0.2\nhashed-storage-0.4.5\nhaskeline-0.6.2.2\nhtml-1.0.1.2\nmmap-0.4.1\nmtl-1.1.0.2\nnetwork-2.2.1.4\nold-time-1.0.0.2\nparsec-2.1.0.1\nprocess-1.0.1.1\nrandom-1.0.0.1\nregex-compat-0.92\nterminfo-0.3.1.1\ntext-0.4\nunix-2.3.2.0\nzlib-0.5.2.0\n"
in Version
Note the use of show on a String so we get things like the newlines.
> hunk ./src/darcs.hs 68
> ["--exact-version"] -> do
> putStrLn $ "darcs compiled on "++__DATE__++", at "++__TIME__
> putStrLn context
> + putStrLn $ "Compiled with:\n"
> + putStr builddeps
No surprises there.
--
Eric Kow <http://www.nltg.brighton.ac.uk/home/Eric.Kow>
PGP Key ID: 08AC04F9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/darcs-users/attachments/20100118/f5d77c6b/attachment.pgp>
More information about the darcs-users
mailing list