# Getting a tagged release without subversion, possible?

**URL:** <https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798>\
**Category:** Engines\
**Created:** [September 6, 2006, 9:50pm UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798 "2006-09-06T21:50:57Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 6, 2006, 9:50pm UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/1 "2006-09-06T21:50:57Z")

</div>

Hi,

For various reasons, using subversion in our project is not feasible.  
It’s important that we maintain stability in our codebase though, so  
we only want to include official releases of the Engines plugin. I  
was hoping something like this might work: ruby script/plugin install  
[http://svn.rails-engines.org/plugins/engines/tags/rel\_1.0.0](http://svn.rails-engines.org/plugins/engines/tags/rel_1.0.0), but no  
luck, nothing there anyway.

So, I figure either there really is no tagged release there or  
subversion is required to get a tagged release. Since I don’t use  
subversion, I’m not sure which is true. Can anyone illuminate?  
Provide some way to get official releases on into the future? We  
could always

For my 2 cents, it’s too bad that plugins are so tied to subversion  
in the first place, and I’d really like to see a more flexible and  
more gems-like (or any-decent-package-manager-like) method to  
distribute them. But I digress …

Thanks for any help,

John

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 6, 2006, 10:25pm UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/2 "2006-09-06T22:25:02Z")

</div>

Hi John,

Why can’t you use subversion on at least one of your machines to  
download a tagged version? Seems like a strange restriction. You could  
even do it at home and email it to yourself if you can’t do it at  
work.

Peter

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 6, 2006, 11:13pm UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/3 "2006-09-06T23:13:06Z")

</div>

Hey Peter,

We certainly could do that, and if we decide to use the engines  
approach, may have to.

Ok, this is my one-and-only rant here, I swear:

Don’t you think it’s even stranger to install an entire SCM system to  
simply use it as a package manager? What could be more restricting  
than a technology designed to be used by unknown development groups  
(plugins) making such a huge assumption about what kind of SCM system  
you’re using or need to use? We don’t use subversion for very good  
reasons and I personally consider it a big step backward because it  
carries so many of CVS’ problems with it into the future?centralized,  
non-atomic, it’s super heavy, and on an on. Darcs, now there’s a  
truly modern SCM 😉

Anyway, just from a practical standpoint, I’d still like to find a  
non-subversion way to capture official releases. Might be as simple  
as requesting they be posted as tarballs …

Thanks for the suggestion though, seriously.

John

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 2:07am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/4 "2006-09-07T02:07:24Z")

</div>

On 9/6/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> we only want to include official releases of the Engines plugin. I  
> was hoping something like this might work: ruby script/plugin install  
> [http://svn.rails-engines.org/plugins/engines/tags/rel\_1.0.0](http://svn.rails-engines.org/plugins/engines/tags/rel_1.0.0), but no  
> luck, nothing there anyway.

[http://svn.rails-engines.org/engines/tags/](http://svn.rails-engines.org/engines/tags/) - all the tags you could  
ever hope for.

See also the README at the root of the repository.

> So, I figure either there really is no tagged release there or  
> subversion is required to get a tagged release. Since I don’t use  
> subversion, I’m not sure which is true. Can anyone illuminate?  
> Provide some way to get official releases on into the future? We  
> could always

This is actually highlighted in every announcement I make - did you  
search?

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 12:05am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/5 "2006-09-07T00:05:14Z")

</div>

On 9/6/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> We certainly could do that, and if we decide to use the engines  
> approach, may have to.

But you won’t be able to stay up-to-date very easily. For example,  
when the recent Rails core security issue came up the engines plugin  
had to be modified. So you would be driving home to email your self a  
copy of the updated version. Seems like a pain.

> Anyway, just from a practical standpoint, I’d still like to find a  
> non-subversion way to capture official releases. Might be as simple  
> as requesting they be posted as tarballs …

I think it is practical to have SVN installed on your computer if you  
are in the Rails world. That way you can do this stuff without  
spending any time worrying about it. Just “svn export” and you are  
finished. Is there some sort of security problem you are worried about  
by having and SVN client on your computer?

> Thanks for the suggestion though, seriously.

It’s a way to get started anyway. Engines are very cool.

Peter

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 2:23am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/6 "2006-09-07T02:23:25Z")

</div>

Hey thanks, that helps.

I guess I missed that somehow while combing the site, sorry.

Any comments on the appropriateness of Engines for hosting multiple  
domains on a single app? It’s odd, but in a way we’re trying to  
solve the problem solved by Duane with Productize, which is the  
inverse problem that engines solve in a way, although they still seem  
to make sense, but in a complementary fashion of sorts …

john

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 2:07am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/7 "2006-09-07T02:07:24Z")

</div>

Hi,

Peter M. wrote:

> On 9/6/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:  
> […]
> 
> > Anyway, just from a practical standpoint, I’d still like to find a  
> > non-subversion way to capture official releases. Might be as simple  
> > as requesting they be posted as tarballs …
> 
> I think it is practical to have SVN installed on your computer if you  
> are in the Rails world. That way you can do this stuff without  
> spending any time worrying about it. Just “svn export” and you are  
> finished. Is there some sort of security problem you are worried about  
> by having and SVN client on your computer?

I don’t know of any other language that has a SCM system as a  
dependency. For configuration management purposes, you really need a way  
of tracking what revision is installed where - pulling untagged releases  
from SVN/CVS/whatever is a really bad idea in some environments.

Tarballs have the advantage of being a single, unchanging entity that  
can be cryptographically signed, checksummed, etc. to assure the end  
user they know what they’re downloading, plus they can easily be stored  
on tape, CD, whatever for disaster recovery purposes.

I’m playing devil’s (or John’s) advocate here; while I like the option  
of retrieving code via SVN, it still feels risky, like I’m using  
bleeding-edge code rather than something tested and approved for release  
even if that’s not the case. I’m leery of using SVN as the primary or  
sole release mechanism.

YMMV,

– Bob

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 2:23am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/8 "2006-09-07T02:23:25Z")

</div>

On Sep 6, 2006, at 2:50 PM, Peter M. wrote:

> On 9/6/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > We certainly could do that, and if we decide to use the engines  
> > approach, may have to.
> 
> But you won’t be able to stay up-to-date very easily. For example,  
> when the recent Rails core security issue came up the engines plugin  
> had to be modified. So you would be driving home to email your self a  
> copy of the updated version. Seems like a pain.

Very true and a concern.

> by having and SVN client on your computer?  
> I guess we could keep a plugin repository using subversion and keep  
> that up to date, but we’d then have to suck changes into our working  
> SCM, darcs. Which might not be too too bad.

> > Thanks for the suggestion though, seriously.
> 
> It’s a way to get started anyway. Engines are very cool.

They are. The only thing that bothers me is that we are looking for a  
way to host multiple sites on one physical app, which we are thinking  
of deploying as an engine to a bunch of application stubs. I’m not  
sure we’re using Engines in the right way here, but it would probably  
beat dynamically switching the database connection, etc.

Although, since we’ll probably use mongrel or some other container  
mechanism, we’d only have to do that once … so maybe engines are  
the wrong choice for us. Still trying to figure that out.

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 3:03am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/9 "2006-09-07T03:03:28Z")

</div>

On 9/6/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I guess we could keep a plugin repository using subversion and keep  
> that up to date, but we’d then have to suck changes into our working  
> SCM, darcs. Which might not be too too bad.

No different than if you could get the engines as a tar ball.

> They are. The only thing that bothers me is that we are looking for a  
> way to host multiple sites on one physical app, which we are thinking  
> of deploying as an engine to a bunch of application stubs. I’m not  
> sure we’re using Engines in the right way here, but it would probably  
> beat dynamically switching the database connection, etc.

Do the separate sites have anything shared in the database? If they  
are sharing the same database then engines might not be the way to go.

If they really are distinct apps (eg online stores with separate  
owners) then engines could be a great way to go.

I think the most important things about engines is choosing the right  
time to use them.

Peter

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 9:46am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/10 "2006-09-07T09:46:15Z")

</div>

On 9/7/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hey thanks, that helps.
> 
> I guess I missed that somehow while combing the site, sorry.
> 
> Any comments on the appropriateness of Engines for hosting multiple  
> domains on a single app? It’s odd, but in a way we’re trying to  
> solve the problem solved by Duane with Productize, which is the  
> inverse problem that engines solve in a way, although they still seem  
> to make sense, but in a complementary fashion of sorts …

Engines do indeed solve exactly the inverse of ‘productize’ - that was  
exactly their purpose 🙂 As such, they’re unlikely to be a good fit  
for your particular problem.

- james

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 5:21am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/11 "2006-09-07T05:21:38Z")

</div>

On 9/6/06, John C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hey thanks, that helps.
> 
> I guess I missed that somehow while combing the site, sorry.
> 
> Any comments on the appropriateness of Engines for hosting multiple  
> domains on a single app? It’s odd, but in a way we’re trying to  
> solve the problem solved by Duane with Productize, which is the  
> inverse problem that engines solve in a way, although they still seem  
> to make sense, but in a complementary fashion of sorts …

What will your site do? Details will help people help you.

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 10:10am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/12 "2006-09-07T10:10:16Z")

</div>

On 9/7/06, James A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> As for releasing tarballs, that puts additional workload on the  
> developer, and we’re all lazy, aren’t we 🙂

I would much rather see developers develop then spend time releasing  
tags in many formats. Deployments, releases, etc are not fun. SVN  
works fine and it is better if all plugin developers are using SVN  
then some using SVN, some using CVS, some using tar balls, etc.

Peter

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 5:27pm UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/13 "2006-09-07T17:27:20Z")

</div>

Hey All,

It wasn’t my intention to start a general plugins deployment  
discussion on this specific list, but it might be useful anyway  
seeing as how the Engines system is attractive to groups thinking  
about ways to do mass deployments and to develop reusable code. We  
can keep going offline if you think this is too far OT.

None of the comments so far really change the fact that an SCM system  
shouldn’t be in use here at all. SCM systems are not intended and not  
suited to be used in this way and, IMO, it is a serious barrier to  
adoption of the plugins technology in established development groups  
to dictate they have to use a certain SCM system. Wrong, just plain  
wrong and just because this is the way things are now doesn’t mean  
that’s how they should stay. The fact that installing a plugin is  
possible at all without using subversion shows that on some level  
someone recognized this as true.

Of course James has made getting a tagged release easy, and that is  
good enough for us for now. Thank you, James, we do appreciate that.  
This way we can install a particular release of the Engine plugin if  
we want and link to it in all our installs.

The “lowest common denominator” rationalization is exactly why we got  
stuck with such a crappy tool in CVS for so many years, and  
subversion is only a nominal improvement over CVS.

If we would like established groups with a real need for stability in  
the environment (e.g. they are rolling out mass deployments) to adopt  
plugins like Engines then a better mechanism for releasing,  
versioning and controlling plugins as discrete packages is what has  
to happen.

We can easily do this for ourselves given what James has graciously  
provided, but imagine if you needed subversion installed to get Ruby  
installed. How many people do you think would be using Ruby today?  
And the fact that RoR uses subversion internally is a total red  
herring: subversion is in no way required to get my hands on rails  
and use it, nor should it be. The gems system is the real workhorse  
in this case, and it’s doing the job it’s designed to do.

Finally, thinking that what I’m saying is that developers should  
release tags in a whole slew of different SCM systems and packages in  
different file formats misses my point altogether. The plugins  
community needs to find a good package management system, not an SCM  
system, and use that. Probably be even easier than using any SCM  
system out there anyway. What SCM system you use in your projects is  
and should be nobody else’s call.

That’s probably all I have to say, for which I bet some are glad 😉  
But it’s a good discussion to have, I think.

Cheers,  
John

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 7, 2006, 9:58am UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/14 "2006-09-07T09:58:16Z")

</div>

On 9/7/06, Bob A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I don’t know of any other language that has a SCM system as a  
> dependency. For configuration management purposes, you really need a way  
> of tracking what revision is installed where - pulling untagged releases  
> from SVN/CVS/whatever is a really bad idea in some environments.

… hence why at least the Engines plugin comes with a stable set of  
tags, which I _heartily_ recommend that every production site which  
uses engines use. Stability is key, people.

> I’m playing devil’s (or John’s) advocate here; while I like the option  
> of retrieving code via SVN, it still feels risky, like I’m using  
> bleeding-edge code rather than something tested and approved for release  
> even if that’s not the case. I’m leery of using SVN as the primary or  
> sole release mechanism.

The reason why SVN is the ‘primary release mechanism’ for plugins is  
because it is the _only_ release mechanism. The current script/plugin  
tool will ONLY download from SVN repositories. How risky or otherwise  
each particular repository’s maintainer, but in general a tagged  
release is never modified once created.

Anyway - there is work afoot to retool script/plugin as we speak (see  
posts on [interblah.net](http://interblah.net) and [lukeredpath.co.uk](http://lukeredpath.co.uk)), so in theory there’s no  
reason why other SCM systems couldn’t be supported. Even with support  
for Darcs (or anything else), you’re just introducing a dependency on  
having those tools, plus SVN, for people who would want to download  
plugins. SVN is the lowest common denominator, so everyone uses it  
because they can be reasonably sure that if they aren’t using it, they  
don’t particularly mind installing it. Rails uses SVN, too.

As for releasing tarballs, that puts additional workload on the  
developer, and we’re all lazy, aren’t we 🙂

---

<div class="post-metadata">

**Author:** ![amin1426](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@amin1426](https://www.ruby-forum.com/u/amin1426)\
**Post date:** [September 14, 2006, 6:16pm UTC](https://www.ruby-forum.com/t/getting-a-tagged-release-without-subversion-possible/67798/15 "2006-09-14T18:16:50Z")

</div>

On Sep 6, 2006, at 3:38 PM, Peter M. wrote:

> > of deploying as an engine to a bunch of application stubs. I’m not  
> > sure we’re using Engines in the right way here, but it would probably  
> > beat dynamically switching the database connection, etc.
> 
> Do the separate sites have anything shared in the database? If they  
> are sharing the same database then engines might not be the way to go.

There might be groups of sites sharing a single database, but these  
would also be sharing the same stub.

> If they really are distinct apps (eg online stores with separate  
> owners) then engines could be a great way to go.

They may. Doesn’t it feel a bit heave to basically package everything  
but the config/cache/etc into an engine though? Maybe not, just  
wondering …

> I think the most important things about engines is choosing the right  
> time to use them.

true dat
