Hi Lance,

I tried several scenarios today in an attempt to reproduce this but I was not able to.  Have you tried uninstalling the repository (check the checkbox to completely uninstall it) and then reinstall it?  I'm trying to reproduce this on a mac running mercurial version 2.2.3 and Python 2.5.  What's your environment?

Greg Von Kuster


On Dec 13, 2012, at 2:30 PM, Lance Parsons wrote:

Since I've had issues with workflow and the toolshed in the past, I have changed my workflow so that my only interaction with the toolshed is either via uploading a tarball via the web interface or installing a tool into my local Galaxy via the web interface (or occasionally just downloading tarballs).

In this specific case, I uploaded a tar.gz file of the entire tool wrapper directory.  I did NOT increment the tool version.  In the past, incrementing the tool version has generally worked fine.  However, when I leave the tool version the same, but change something (such as the help text for the tool), and then upload a tarball to the toolshed, I am unable to pull updates into my local galaxy instance.  I get an error similar to what I have described.

I hope this is enough information, but let me know if I can provide more detail, etc.  I would very much like to get to the root of this issue, since it has plagued my attempts to use the toolshed smoothly when (seemingly inevitable) minor changes need to be made.  In the past I have just had to wait until I update the tool version, as no changes can be made to the installed revision in my production Galaxy instance.

Greg Von Kuster wrote:
Hi Lance,

What process did you use for updating the tool shed repository and how many separate repositories did you use?  You should not be updating a local repository, pushing the changes to the tool shed repository, and then attempting to pull the changes back to the same repository.  Your repository environment should be something like this:

DEV REPO ( all development updates are performed here, so this is where the tool version is incremented )
    |
   V
<pushed changeset>
   |
   V
EXISTING TOOL SHED REPO
   |
  V
<pulled changeset to some previously cloned repo>
   |
  V
PREVIOUSLY CLONED (possibly production) REPO

In other words, nothing should ever get pushed and pulled from the tool shed repo into the same repo.  If this is the process you used, it would undoubtedly result in the behavior you saw.  If you used separate repos as I describe above, we'll need more details as to the process you used in order to determine the cause of the problem.

Greg Von Kuster


On Dec 10, 2012, at 1:45 PM, Lance Parsons wrote:

I recently updated the htseq-count tool in the Galaxy toolshed to version 0.3.  This version has some functional changes and thus the tool version was incremented.  I installed this new version of the tool in my local Galaxy instance.

However, I realized later that I missed updating one part of the help text. Today I fixed that text (but left the tool version the same), tarred up the file, and uploaded it to the toolshed.  I then attempted to "Get Updates" from my local Galaxy instances for that tool got the following error:

URL: http://galaxy-dev.princeton.edu/admin_toolshed/update_to_changeset_revision?tool_shed_url=http://toolshed.g2.bx.psu.edu/&name=htseq_count&owner=lparsons&changeset_revision=5d969cb56112&latest_changeset_revision=f320093f1e8e&latest_ctx_rev=11
File '/data/galaxy-dev/galaxy-dev/eggs/WebError-0.8a-py2.6.egg/weberror/evalexception/middleware.py', line 364 in respond
app_iter = self.application(environ, detect_start_response)
File '/data/galaxy-dev/galaxy-dev/eggs/Paste-1.6-py2.6.egg/paste/debug/prints.py', line 98 in __call__
environ, self.app)
File '/data/galaxy-dev/galaxy-dev/eggs/Paste-1.6-py2.6.egg/paste/wsgilib.py', line 539 in intercept_output
app_iter = application(environ, replacement_start_response)
File '/data/galaxy-dev/galaxy-dev/eggs/Paste-1.6-py2.6.egg/paste/recursive.py', line 80 in __call__
return self.application(environ, start_response)
File '/data/galaxy-dev/galaxy-dev/lib/galaxy/web/framework/middleware/remoteuser.py', line 91 in __call__
return self.app( environ, start_response )
File '/data/galaxy-dev/galaxy-dev/eggs/Paste-1.6-py2.6.egg/paste/httpexceptions.py', line 632 in __call__
return self.application(environ, start_response)
File '/data/galaxy-dev/galaxy-dev/lib/galaxy/web/framework/base.py', line 160 in __call__
body = method( trans, **kwargs )
File '/data/galaxy-dev/galaxy-dev/lib/galaxy/web/framework/__init__.py', line 206 in decorator
return func( self, trans, *args, **kwargs )
File '/data/galaxy-dev/galaxy-dev/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py', line 1677 in update_to_changeset_revision
update_repository( repo, latest_ctx_rev )
File '/data/galaxy-dev/galaxy-dev/lib/galaxy/util/shed_util_common.py', line 1428 in update_repository
rev=ctx_rev )
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/commands.py', line 5661 in update
rev = scmutil.revsingle(repo, rev, rev).rev()
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/scmutil.py', line 515 in revsingle
l = revrange(repo, [revspec])
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/scmutil.py', line 588 in revrange
for r in m(repo, range(len(repo))):
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/revset.py', line 1414 in mfunc
return getset(repo, subset, tree)
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/revset.py', line 156 in getset
return methods[x[0]](repo, subset, *x[1:])
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/revset.py', line 171 in symbolset
return stringset(repo, subset, x)
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/revset.py', line 161 in stringset
x = repo[x].rev()
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/localrepo.py', line 235 in __getitem__
return context.changectx(self, changeid)
File '/data/galaxy-dev/galaxy-dev/eggs/mercurial-2.2.3-py2.6-linux-x86_64-ucs2.egg/mercurial/context.py', line 103 in __init__
_("unknown revision '%s'") % changeid)
RepoLookupError: unknown revision '11'


I believe this is because the revision I have installed (10) is not longer considered a valid revision by the toolshed (I presume since it is an older revision of with the same tool version).

Any help would be appreciated.  Thanks.

-- 
Lance Parsons - Scientific Programmer
134 Carl C. Icahn Laboratory
Lewis-Sigler Institute for Integrative Genomics
Princeton University

___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:

http://lists.bx.psu.edu/



--
Lance Parsons - Scientific Programmer
134 Carl C. Icahn Laboratory
Lewis-Sigler Institute for Integrative Genomics
Princeton University