bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2007-Jun-09 23:48 UTC
How I SVN in multiple plugins?
People, I''ve bumped into a small problem with using SVN to get my plugins. The first plugin I get is active_scaffold. I use this syntax: svn propset svn:externals "active_scaffold http://activescaffold.googlecode.com/svn/tags/active_scaffold" vendor/ plugins svn update vendor/plugins svn commit --message="SVN''d in Active Scaffold" svn stat shows me this: $ svn stat X vendor/rails X vendor/plugins/active_scaffold Performing status on external item at ''vendor/rails'' Performing status on external item at ''vendor/plugins/active_scaffold'' which looks good. The 2nd plugin I get is acts_as_authenticated. I use this syntax: svn propset svn:externals "acts_as_authenticated http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated" vendor/plugins svn update vendor/plugins svn commit --message="SVN''d in Acts As Authenticated [ AAA ]" svn stat shows me this: $ svn stat X vendor/rails X vendor/plugins/acts_as_authenticated ? vendor/plugins/active_scaffold Performing status on external item at ''vendor/rails'' Performing status on external item at ''vendor/plugins/ acts_as_authenticated'' This does not look good. SVN has ''forgotten'' my install of active_scaffold. What is the proper way to use SVN to bring in multiple plugins? -moi --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 6/9/07, bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > What is the proper way to use SVN to bring in multiple plugins?Your example is breaking because each time you call propset it overwrites the previously stored property. You need to either a) use propedit, which will allow you to append to the existing properties value or b) use piston ( http://piston.rubyforge.org/) which is a much nicer way to vendor plugins. Hope that helps. Josh -- Josh Knowles joshknowles-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org http://joshknowles.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Yep, piston looks like a good idea. But... When I run it to pull in the rel_1-2-3 tag of Rails... It doesn''t finish. I don''t get my shell prompt back. All I see is this: Adding tmp/sessions Adding tmp/sockets Adding vendor Adding vendor/plugins Transmitting file data ........................................ Committed revision 2. + piston import http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3vendor/rails It is getting me some files; I see them when I use another terminal window to look. I''ll give it an hour to finish and then I''ll kill piston. -b On 6/9/07, Josh Knowles <joshknowles-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > > On 6/9/07, bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > wrote: > > > > > > What is the proper way to use SVN to bring in multiple plugins? > > > > Your example is breaking because each time you call propset it overwrites > the previously stored property. You need to either a) use propedit, which > will allow you to append to the existing properties value or b) use piston ( > http://piston.rubyforge.org/) which is a much nicer way to vendor plugins. > > Hope that helps. > > Josh > > > > -- > Josh Knowles > joshknowles-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > http://joshknowles.com > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ah, piston finished: Adding tmp/pids Adding tmp/sessions Adding tmp/sockets Adding vendor Adding vendor/plugins Transmitting file data ........................................ Committed revision 2. + piston import http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3vendor/rails Exported r6984 from ''http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3'' to ''vendor/rails'' + exit Now, I like piston; piston good. -b On 6/9/07, Bjorn Boulder <bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Yep, > > piston looks like a good idea. > But... > When I run it to pull in the rel_1-2-3 tag of Rails... > > It doesn''t finish. I don''t get my shell prompt back. > > All I see is this: > > Adding tmp/sessions > Adding tmp/sockets > Adding vendor > Adding vendor/plugins > Transmitting file data ........................................ > Committed revision 2. > + piston import http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3vendor/rails > > It is getting me some files; I see them when I use another terminal window > to look. > > I''ll give it an hour to finish and then I''ll kill piston. > > -b > > > On 6/9/07, Josh Knowles <joshknowles-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > > > > > On 6/9/07, bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org <bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > wrote: > > > > > > > > > What is the proper way to use SVN to bring in multiple plugins? > > > > > > > > Your example is breaking because each time you call propset it > > overwrites the previously stored property. You need to either a) use > > propedit, which will allow you to append to the existing properties value or > > b) use piston ( http://piston.rubyforge.org/) which is a much nicer way > > to vendor plugins. > > > > Hope that helps. > > > > Josh > > > > > > > > -- > > Josh Knowles > > joshknowles-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org > > http://joshknowles.com > > > > > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Mr K, I added piston to my way of doing things. piston syntax is easy. Here is a demo script which SVN-checks-in a rails project named aaa10. Then it uses piston to bolt-on... http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3 http://activescaffold.googlecode.com/svn/tags/active_scaffold http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated The script: #!/bin/sh # Creates a Subversion repository in REPOS_ROOT/PROJECT. Creates a Rails # application named PROJECT, and checks it in the newly created repository. set -x PROJECT=aaa10 REPOS_ROOT=/pt/w/fg/svn4aaa10 ## debug touch jnk /bin/rm -rf jnk $REPOS_ROOT/$PROJECT $PROJECT ## debug if [ -d $REPOS_ROOT/$PROJECT ]; then echo "The repository already exists - this script will not overwrite the repository at ''$REPOS_ROOT/$PROJECT''" exit 1 fi if [ -d $PROJECT ]; then echo "The project already exists - this script will not overwrite the directory at ''$PROJECT''" exit 1 fi echo "Creating project ''$PROJECT'', in new repository ''$REPOS_ROOT''" mkdir -p $REPOS_ROOT svnadmin create --fs-type=fsfs $REPOS_ROOT/$PROJECT REPOS=file://$REPOS_ROOT/$PROJECT svn mkdir --message="Initial project layout" $REPOS/trunk $REPOS/tags $REPOS/branches rails $PROJECT cd $PROJECT svn checkout $REPOS/trunk . svn add --force . svn mkdir db/migrate svn revert log/* svn propset svn:ignore "*.log" log svn revert config/database.yml mv config/database.yml config/database.yml.sample svn add config/database.yml.sample svn propset svn:ignore "database.yml" config cp config/database.yml.sample config/database.yml # svn propset svn:ignore "schema.rb" db svn propset svn:ignore "*" tmp svn propset svn:ignore "*doc" doc svn propset svn:executable "*" `find script -type f | grep -v ''.svn''` public/dispatch.* svn revert public/index.html svn commit --message="New Rails project" # svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/trunk/" vendor # svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3" vendor piston import http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3vendor/rails piston import http://activescaffold.googlecode.com/svn/tags/active_scaffoldvendor/plugins/active_scaffold piston import http://svn.techno-weenie.net/projects/plugins/acts_as_authenticatedvendor/plugins/acts_as_authenticated exit -b --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi-again, I enhanced the script with 4 commands at the end: svn commit --message="Rails123, and plugins bolted on" piston lock vendor/rails piston lock vendor/plugins/active_scaffold piston lock vendor/plugins/acts_as_authenticated -b On 6/9/07, Bjorn Boulder <bornboulder77-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Mr K, > > I added piston to my way of doing things. > > piston syntax is easy. > > Here is a demo script which SVN-checks-in a rails project named aaa10. > > Then it uses piston to bolt-on... > > http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3 > http://activescaffold.googlecode.com/svn/tags/active_scaffold > http://svn.techno-weenie.net/projects/plugins/acts_as_authenticated > > The script: > > #!/bin/sh > > # Creates a Subversion repository in REPOS_ROOT/PROJECT. Creates a Rails > # application named PROJECT, and checks it in the newly created > repository. > > set -x > > PROJECT=aaa10 > REPOS_ROOT=/pt/w/fg/svn4aaa10 > > ## debug > touch jnk > /bin/rm -rf jnk $REPOS_ROOT/$PROJECT $PROJECT > ## debug > > if [ -d $REPOS_ROOT/$PROJECT ]; then > echo "The repository already exists - this script will not overwrite the > repository at ''$REPOS_ROOT/$PROJECT''" > exit 1 > fi > > if [ -d $PROJECT ]; then > echo "The project already exists - this script will not overwrite the > directory at ''$PROJECT''" > exit 1 > fi > > echo "Creating project ''$PROJECT'', in new repository ''$REPOS_ROOT''" > > mkdir -p $REPOS_ROOT > > svnadmin create --fs-type=fsfs $REPOS_ROOT/$PROJECT > > REPOS=file://$REPOS_ROOT/$PROJECT > > svn mkdir --message="Initial project layout" $REPOS/trunk $REPOS/tags > $REPOS/branches > > rails $PROJECT > cd $PROJECT > svn checkout $REPOS/trunk . > > svn add --force . > > svn mkdir db/migrate > > svn revert log/* > svn propset svn:ignore "*.log" log > svn revert config/database.yml > mv config/database.yml config/database.yml.sample > svn add config/database.yml.sample > svn propset svn:ignore "database.yml" config > cp config/database.yml.sample config/database.yml > > # svn propset svn:ignore " schema.rb" db > > svn propset svn:ignore "*" tmp > svn propset svn:ignore "*doc" doc > svn propset svn:executable "*" `find script -type f | grep -v ''.svn''` > public/dispatch.* > svn revert public/index.html > svn commit --message="New Rails project" > > # svn propset svn:externals "rails http://dev.rubyonrails.org/svn/rails/trunk/ > " vendor > # svn propset svn:externals "rails > http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3" vendor > > piston import http://dev.rubyonrails.org/svn/rails/tags/rel_1-2-3vendor/rails > piston import > http://activescaffold.googlecode.com/svn/tags/active_scaffoldvendor/plugins/active_scaffold > piston import > http://svn.techno-weenie.net/projects/plugins/acts_as_authenticatedvendor/plugins/acts_as_authenticated > > exit > > > -b > > >--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---