Mercurial to push changes to toolshed repo
Hi all, As a test, I have uploaded some template files to a newly created repository on our test toolshed. I pulled that repository on my development machine using mercurial: from this folder I start now developing the tool wrapper. I have noticed that once the tool name has been set in the tool config (<tool name="xxxxx" >) during the initial upload, pushing a subsequent change to this name, this does not change the name on the repository anymore (and the other settings, for this matter). Is this correct? Thanks, Joachim -- Joachim Jacob, PhD Rijvisschestraat 120, 9052 Zwijnaarde Tel: +32 9 244.66.34 Bioinformatics Training and Services (BITS) http://www.bits.vib.be @bitsatvib
Hello Joachim, On Sep 27, 2012, at 8:05 AM, Joachim Jacob wrote:
Hi all,
As a test, I have uploaded some template files to a newly created repository on our test toolshed.
This is great! It's good to hear when the Galaxy community is using local tool sheds within their environments.
I pulled that repository on my development machine using mercurial: from this folder I start now developing the tool wrapper.
This is a great approach because the tool shed is not a source code repository for developing tools, so development generally takes place within an environment running a development Galaxy instance. When the tool development is stabilized and the tool's functionality is proven to be correct within the Galaxy development instance, the tool and all of it's associated files can be uploaded to the tool shed for sharing with others. Treating the tool shed as a source code repository for tools while they are in development will undoubtedly result in undesired behavior by the tool shed.
I have noticed that once the tool name has been set in the tool config (<tool name="xxxxx" >) during the initial upload, pushing a subsequent change to this name, this does not change the name on the repository anymore (and the other settings, for this matter). Is this correct?
I'm not quite clear on your question here. If by "tool config" you mean the Galaxy tool config wrapper (e.g., my_tool.xml), the tool shed never makes any changes to them when they are uploaded to a repository in the shed. The repository in the tool shed is just an enabler for sharing what is there. Changes to the content must be made in your development environment and pushed to the repository in the tool shed. The name of the tool shed repository itself can be changed only until the first clone occurs. Once a clone occurs, the cloned repository path includes the name of the repository, so if it was subsequently changed in the tool shed, those that cloned it previously could not get updates to their local clones. Greg Von Kuster
Thanks, Joachim
-- Joachim Jacob, PhD
Rijvisschestraat 120, 9052 Zwijnaarde Tel: +32 9 244.66.34 Bioinformatics Training and Services (BITS) http://www.bits.vib.be @bitsatvib
___________________________________________________________ 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:
Hi Greg, Indeed, I mean the tool config wrapper, named razers3_wrapper.xml, when I mention 'tool config'. This xml is the alpha version, and is loaded correctly in my development Galaxy. So I pushed it to the repository ================================= Changeset 997118f8f033 added: razers3_wrapper.xml razers3_wrapper.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/razers3_wrapper.xml Thu Sep 27 14:39:54 2012 +0200 @@ -0,0 +1,372 @@ +<tool id="rasers3" name="Map reads with rasers3" version="1.0.0"> + <!-- Additional info: wrapper compatible with versions ..... --> + <description> + a read mapping program for all kinds of reads with adjustable sensitivity. + </description> + + <version_command> + razers3 --version + </version_command> + (etc.) ============================= But it still displayed the wrong name in the interface. I just found out the reason: the original file "wrapper_template.xml" was not removed from the repo (although not anymore present in my local repo). After removal, the tool is displayed correctly! One more question though about mercurial: how come that when I changed the name of the "wrapper_template.xml" to razers3_wrapper.xml, and that after pushing the commits "wrapper_template.xml" was still on the toolshed? Is this default behaviour of Mercurial? Many thanks for the assistance, Joachim Joachim Jacob, PhD Rijvisschestraat 120, 9052 Zwijnaarde Tel: +32 9 244.66.34 Bioinformatics Training and Services (BITS) http://www.bits.vib.be @bitsatvib On Thu 27 Sep 2012 03:08:27 PM CEST, Greg Von Kuster wrote:
Hello Joachim,
On Sep 27, 2012, at 8:05 AM, Joachim Jacob wrote:
Hi all,
As a test, I have uploaded some template files to a newly created repository on our test toolshed.
This is great! It's good to hear when the Galaxy community is using local tool sheds within their environments.
I pulled that repository on my development machine using mercurial: from this folder I start now developing the tool wrapper.
This is a great approach because the tool shed is not a source code repository for developing tools, so development generally takes place within an environment running a development Galaxy instance. When the tool development is stabilized and the tool's functionality is proven to be correct within the Galaxy development instance, the tool and all of it's associated files can be uploaded to the tool shed for sharing with others. Treating the tool shed as a source code repository for tools while they are in development will undoubtedly result in undesired behavior by the tool shed.
I have noticed that once the tool name has been set in the tool config (<tool name="xxxxx" >) during the initial upload, pushing a subsequent change to this name, this does not change the name on the repository anymore (and the other settings, for this matter). Is this correct?
I'm not quite clear on your question here. If by "tool config" you mean the Galaxy tool config wrapper (e.g., my_tool.xml), the tool shed never makes any changes to them when they are uploaded to a repository in the shed. The repository in the tool shed is just an enabler for sharing what is there. Changes to the content must be made in your development environment and pushed to the repository in the tool shed.
The name of the tool shed repository itself can be changed only until the first clone occurs. Once a clone occurs, the cloned repository path includes the name of the repository, so if it was subsequently changed in the tool shed, those that cloned it previously could not get updates to their local clones.
Greg Von Kuster
Thanks, Joachim
-- Joachim Jacob, PhD
Rijvisschestraat 120, 9052 Zwijnaarde Tel: +32 9 244.66.34 Bioinformatics Training and Services (BITS) http://www.bits.vib.be @bitsatvib
___________________________________________________________ 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:
Hello Joachim, It sounds like you may be pushing changes from your development environment to your tool shed repository using hg from the command line - is this correct? if so, you must manually make all changes you want to your local repository before pushing the changes to the tool shed repository. So in this scenario, you have to 'hg remove' the original file name from your development repository as part of the change set you push to the tool shed repository. You should also be running at least hg version 2.2.3 in your local development environment so that when the push is received by the tool shed repository, repository metadata can be set on the new changeset. These sections of the tool shed wiki provide details: http://wiki.g2.bx.psu.edu/ToolShedRepositoryFeatures#Pushing_changes_to_a_re... http://wiki.g2.bx.psu.edu/RepositoryRevisions Greg Von kuster On Sep 27, 2012, at 9:42 AM, Joachim Jacob wrote:
Hi Greg,
Indeed, I mean the tool config wrapper, named razers3_wrapper.xml, when I mention 'tool config'.
This xml is the alpha version, and is loaded correctly in my development Galaxy. So I pushed it to the repository
================================= Changeset 997118f8f033 added: razers3_wrapper.xml razers3_wrapper.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/razers3_wrapper.xml Thu Sep 27 14:39:54 2012 +0200 @@ -0,0 +1,372 @@ +<tool id="rasers3" name="Map reads with rasers3" version="1.0.0"> + <!-- Additional info: wrapper compatible with versions ..... --> + <description> + a read mapping program for all kinds of reads with adjustable sensitivity. + </description> + + <version_command> + razers3 --version + </version_command> + (etc.) =============================
But it still displayed the wrong name in the interface. I just found out the reason: the original file "wrapper_template.xml" was not removed from the repo (although not anymore present in my local repo). After removal, the tool is displayed correctly!
One more question though about mercurial: how come that when I changed the name of the "wrapper_template.xml" to razers3_wrapper.xml, and that after pushing the commits "wrapper_template.xml" was still on the toolshed? Is this default behaviour of Mercurial?
Many thanks for the assistance,
Joachim
Joachim Jacob, PhD
Rijvisschestraat 120, 9052 Zwijnaarde Tel: +32 9 244.66.34 Bioinformatics Training and Services (BITS) http://www.bits.vib.be @bitsatvib
On Thu 27 Sep 2012 03:08:27 PM CEST, Greg Von Kuster wrote:
Hello Joachim,
On Sep 27, 2012, at 8:05 AM, Joachim Jacob wrote:
Hi all,
As a test, I have uploaded some template files to a newly created repository on our test toolshed.
This is great! It's good to hear when the Galaxy community is using local tool sheds within their environments.
I pulled that repository on my development machine using mercurial: from this folder I start now developing the tool wrapper.
This is a great approach because the tool shed is not a source code repository for developing tools, so development generally takes place within an environment running a development Galaxy instance. When the tool development is stabilized and the tool's functionality is proven to be correct within the Galaxy development instance, the tool and all of it's associated files can be uploaded to the tool shed for sharing with others. Treating the tool shed as a source code repository for tools while they are in development will undoubtedly result in undesired behavior by the tool shed.
I have noticed that once the tool name has been set in the tool config (<tool name="xxxxx" >) during the initial upload, pushing a subsequent change to this name, this does not change the name on the repository anymore (and the other settings, for this matter). Is this correct?
I'm not quite clear on your question here. If by "tool config" you mean the Galaxy tool config wrapper (e.g., my_tool.xml), the tool shed never makes any changes to them when they are uploaded to a repository in the shed. The repository in the tool shed is just an enabler for sharing what is there. Changes to the content must be made in your development environment and pushed to the repository in the tool shed.
The name of the tool shed repository itself can be changed only until the first clone occurs. Once a clone occurs, the cloned repository path includes the name of the repository, so if it was subsequently changed in the tool shed, those that cloned it previously could not get updates to their local clones.
Greg Von Kuster
Thanks, Joachim
-- Joachim Jacob, PhD
Rijvisschestraat 120, 9052 Zwijnaarde Tel: +32 9 244.66.34 Bioinformatics Training and Services (BITS) http://www.bits.vib.be @bitsatvib
___________________________________________________________ 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:
___________________________________________________________ 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:
participants (2)
-
Greg Von Kuster
-
Joachim Jacob