On Sat, Dec 3, 2011 at 2:10 PM, David Manura <[email protected]> wrote:
> If the `version` in a rockspec contains more than one dash (e.g.
> `1-1-1`), you will get a "Tree inconsistency detected: foo-1 1-1-1 has
> no rockspec." warning.  The following change provides more clarity:
>
> diff --git a/src/luarocks/deps.lua b/src/luarocks/deps.lua
> index 27062cb..04d5158 100644
> --- a/src/luarocks/deps.lua
> +++ b/src/luarocks/deps.lua
> @@ -630,7 +630,7 @@ function scan_deps(results, missing, manifest,
> name, version)
>    if not deplist then
>       rockspec, err =
> fetch.load_local_rockspec(path.rockspec_file(name, version))
>       if err then
> -         missing[name.." "..version] = true
> +         missing[name.." "..version] = err
>          return results, missing
>       end
>       dependencies_name[version] = rockspec.dependencies
> @@ -643,7 +643,7 @@ function scan_deps(results, missing, manifest,
> name, version)
>    end
>    if next(failures) then
>       for _, failure in pairs(failures) do
> -         missing[show_dep(failure)] = true
> +         missing[show_dep(failure)] = 'fail'
>       end
>    end
>    results[name] = version
> diff --git a/src/luarocks/manif.lua b/src/luarocks/manif.lua
> index 8ce555d..9c751f6 100644
> --- a/src/luarocks/manif.lua
> +++ b/src/luarocks/manif.lua
> @@ -188,9 +188,9 @@ local function update_dependencies(manifest)
>                repo.dependencies, missing = deps.scan_deps({}, {},
> manifest, pkg, version)
>                repo.dependencies[pkg] = nil
>                if missing then
> -                  for miss, _ in pairs(missing) do
> +                  for miss, err in pairs(missing) do
>                      if miss == current then
> -                        util.printerr("Tree inconsistency detected:
> "..current.." has no rockspec.")
> +                        util.printerr("Tree inconsistency detected:
> "..current.." has no rockspec.  "..err)
>                      else
>                         util.printerr("Missing dependency for
> "..pkg.." "..version..": "..miss)
>                      end
>
>
> It now displays "Tree inconsistency detected: bitnumber-1 1-1-1 has no
> rockspec.  Inconsistency between rockspec filename
> (bitnumber-1-1-1-1.rockspec) and its contents
> (bitnumber-1-1-1.rockspec)."

Committed, thanks!

> Something more likely needs done about this to prevent it.  I came
> across this problem when trying to use a dashed date (e.g. 2011-12-01)
> in the version number.  (I've since removed the dashes.)

I added an extra check in the rockspec validator. Now I run the
version number through a pattern. We can probably add validation
patterns to other fields as well, but I need to check what exactly is
really valid.

> Another problem is that when installing a rockspec with the `url` set
> to a `git://` path and `tag` set to some tag, the following warning
> displays during installing the rockspec:
>
> ---------------------
> You are in 'detached HEAD' state. You can look around, make experimental
> changes and commit them, and you can discard any commits you make in this
> state without impacting any branches by performing another checkout.
>
> If you want to create a new branch to retain commits you create, you may
> do so (now or later) by using -b with the checkout command again. Example:
>
>  git checkout -b new_branch_name
> ---------------------
>
> This is the same warning that one sees on cloning the repo and
> checking out a tag (rather than a branch) from the git command line.
> The warning is valid but confusing to a user running luarocks.  This
> warning can be suppressed using the `-q` option to `git checkout`:
>
>
> iff --git a/src/luarocks/fetch/git.lua b/src/luarocks/fetch/git.lua
> index 7db74c2..76e503d 100644
> --- a/src/luarocks/fetch/git.lua
> +++ b/src/luarocks/fetch/git.lua
> @@ -26,7 +26,7 @@ function get_sources(rockspec, extract, dest_dir)
>    local checkout_command
>    local tag_or_branch = rockspec.source.tag or rockspec.source.branch
>    if tag_or_branch then
> -      checkout_command = {git_cmd, "checkout", tag_or_branch}
> +      checkout_command = {git_cmd, "checkout", "-q", tag_or_branch}
>    end
>    local store_dir
>    if not dest_dir then
>

Committed as well, thank you!

-- Hisham
http://hisham.hm/ - http://luarocks.org/

------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d
_______________________________________________
Luarocks-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/luarocks-developers

Reply via email to