Forum: Ruby rubyforge.org questions

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Peter S. (Guest)
on 2007-01-19 17:30
(Received via mailing list)
Hello,

1) How do I activate commit diff mails?
2) How can I create a 'normal' svn structure (i.e. trunk, branches, tags
etc). because as I understood, in the svn dir your project_name
directory is the only dir (i.e. no trunk/your_project_name etc). Am I
missing something, and if not is this doable?

Thanks a lot,
Peter

__
http://www.rubyrailways.com
Jan S. (Guest)
on 2007-01-19 17:31
(Received via mailing list)
On 1/19/07, Peter S. <removed_email_address@domain.invalid> wrote:
> 2) How can I create a 'normal' svn structure (i.e. trunk, branches, tags
> etc). because as I understood, in the svn dir your project_name
> directory is the only dir (i.e. no trunk/your_project_name etc). Am I
> missing something, and if not is this doable?

If I understand correctly, those are just normal directories, i.e.
convention. You just create the directories in the project dir, and
checkout from there. IOW, you don't do svn co
svn://whatever.com/project but svn://whatever.com/project/trunk
Ben B. (Guest)
on 2007-09-26 00:29
(Received via mailing list)
On Wed, Jan 24, 2007, Vincent F. wrote:
>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/trunk
>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/tags
>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/branches

You can add -m and a message to each to keep it from opening an editor
for a commit message:

svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/trunk 
-m 'create
trunk'

My personal preference, though, is to check out the root, svn mkdir each
directory in there, and check it in.  That makes it only one commit
instead of 3.

svn co svn+ssh://removed_email_address@domain.invalid/var/svn/project
cd project
svn mkdir trunk
svn mkdir tags
svn mkdir branches
svn ci -m 'import initial structure'
cd ..
rm -rf project
svn co svn+ssh://removed_email_address@domain.invalid/var/svn/project/trunk 
project

But I'm kinda particular about commits :)

Another option is this:

mkdir skeleton
mkdir skeleton/trunk
mkdir skeleton/tags
mkdir skeleton/branches
svn import skeleton 
svn+ssh://removed_email_address@domain.invalid/var/svn/project -m
'import initial structure'

Which is probably what I'll start doing soon ;)

Of course, it's all the same thing.

Ben
Tom C. (Guest)
on 2007-09-26 00:31
(Received via mailing list)
On Fri, 2007-01-19 at 20:42 +0900, Peter S. wrote:

> However, there is a small (not unsolvable, but ATM existing) problem
> here: you everywhere have instructions for anonymous checkout like this:
>
> svn checkout svn://rubyforge.org/var/svn/some_project
>
> Now, if you leave it like this, and some people will begin to use the
> trunk-tags-branches or whatever model, there could be some confusion -
> (i.e. there will be no some_project directory, but trunk and branches
> instead). However, this could be resolved by automatically adding a
> symlink to trunk/some_project. Just a suggestion...

Hm... yup... any svn experts want to weigh in here?  I mean, is it
standard svn practice to do the trunk/branches/tags directory structure?

> btw. how to turn on automatic sending of commit diff mails?

Here you go:

http://rubyforge.org/docman/view.php/5/460/faq.html#syncmail

Yours,

Tom
Tom C. (Guest)
on 2007-09-26 00:34
(Received via mailing list)
On Wed, 2007-01-24 at 23:31 +0900, Vincent F. wrote:
>
>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/trunk
>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/tags
>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/branches

Thanks, updated!

http://rubyforge.org/docman/view.php/5/460/faq.htm...

Thanks,

Tom
Peter S. (Guest)
on 2007-09-26 00:38
(Received via mailing list)
>> svn mkdir svn+ssh://removed_email_address@domain.invalid/project/trunk
>
> Very interesting!  I should add this to the RubyForge FAQ...

Tom,

However, there is a small (not unsolvable, but ATM existing) problem
here: you everywhere have instructions for anonymous checkout like this:

svn checkout svn://rubyforge.org/var/svn/some_project

Now, if you leave it like this, and some people will begin to use the
trunk-tags-branches or whatever model, there could be some confusion -
(i.e. there will be no some_project directory, but trunk and branches
instead). However, this could be resolved by automatically adding a
symlink to trunk/some_project. Just a suggestion...

btw. how to turn on automatic sending of commit diff mails?

Cheers,
Peter

__
http://www.rubyrailways.com
Tom C. (Guest)
on 2007-09-26 00:39
(Received via mailing list)
On Fri, 2007-01-19 at 16:45 +0900, Peter S. wrote:
> Hello,
>
> 1) How do I activate commit diff mails?

Hi Peter -

Here you go - it's different for CVS and for Svn:

http://rubyforge.org/docman/view.php/5/460/faq.html#syncmail

> 2) How can I create a 'normal' svn structure (i.e. trunk, branches, tags
> etc). because as I understood, in the svn dir your project_name
> directory is the only dir (i.e. no trunk/your_project_name etc). Am I
> missing something, and if not is this doable?

Hm... that's a good question.  I'm not sure.  When I create the svn
repos, I just do a "svnadmin create --fs-type=fsfs" and move what that
gives me into the project's svn area.

Yours,

Tom
Vincent F. (Guest)
on 2007-09-26 00:43
(Received via mailing list)
Jan S. wrote:
> On 1/19/07, Peter S. <removed_email_address@domain.invalid> wrote:
>> 2) How can I create a 'normal' svn structure (i.e. trunk, branches, tags
>> etc). because as I understood, in the svn dir your project_name
>> directory is the only dir (i.e. no trunk/your_project_name etc). Am I
>> missing something, and if not is this doable?
>
> If I understand correctly, those are just normal directories, i.e.
> convention. You just create the directories in the project dir, and
> checkout from there. IOW, you don't do svn co
> svn://whatever.com/project but svn://whatever.com/project/trunk

  You can even do this without checking out:

svn mkdir svn+ssh://removed_email_address@domain.invalid/project/trunk

  Cheers,

  Vince
Tom C. (Guest)
on 2007-09-26 00:46
(Received via mailing list)
On Fri, 2007-01-19 at 21:05 +0900, Vincent F. wrote:
> > Hm... yup... any svn experts want to weigh in here?  I mean, is it
> > standard svn practice to do the trunk/branches/tags directory structure?
>
>   I'm not an expert, but so far, I've seen only this. But it is not a
> good idea to set it up by default. Some projects want to have only one
> 'main directory' in their repository, so that it would look like

Vincent, thanks for the note.  I've added this as the start of a FAQ
item here:

http://rubyforge.org/docman/view.php/5/460/faq.htm...

If anyone has the exact command sequence to create this structure,
please let me know and I'll add that in too.

Thanks,

tom
Peter S. (Guest)
on 2007-09-26 00:48
(Received via mailing list)
>>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/trunk
>>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/tags
>>   svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/branches
>
> Thanks, updated!
>
> http://rubyforge.org/docman/view.php/5/460/faq.htm...

A big thanks to both of you guys! Great job.

Peter

__
http://www.rubyrailways.com
Tom C. (Guest)
on 2007-09-26 00:49
(Received via mailing list)
On Fri, 2007-01-19 at 20:31 +0900, Vincent F. wrote:
> > svn://whatever.com/project but svn://whatever.com/project/trunk
>
>   You can even do this without checking out:
>
> svn mkdir svn+ssh://removed_email_address@domain.invalid/project/trunk

Very interesting!  I should add this to the RubyForge FAQ...

Thanks,

Tom
Vincent F. (Guest)
on 2007-09-26 00:49
(Received via mailing list)
Tom C. wrote:
> On Fri, 2007-01-19 at 21:05 +0900, Vincent F. wrote:
>>> Hm... yup... any svn experts want to weigh in here?  I mean, is it
>>> standard svn practice to do the trunk/branches/tags directory structure?
>>   I'm not an expert, but so far, I've seen only this. But it is not a
>> good idea to set it up by default. Some projects want to have only one
>> 'main directory' in their repository, so that it would look like
>
> If anyone has the exact command sequence to create this structure,
> please let me know and I'll add that in too.

  svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/trunk
  svn mkdir svn+ssh://removed_email_address@domain.invalid/var/svn/project/tags
  svn mkdir 
svn+ssh://removed_email_address@domain.invalid/var/svn/project/branches

  Cheers,

  Vincent
Vincent F. (Guest)
on 2007-09-26 00:49
(Received via mailing list)
Tom C. wrote:
>> instead). However, this could be resolved by automatically adding a
>> symlink to trunk/some_project. Just a suggestion...

  symlink is not possible (at least from what I know) in subversion.
/var/svn/some_project is a *real* directory, and everything under it is
a 'virtual' directory which doesn't appear on the filesystem, but rather
in the subversion databases.

> Hm... yup... any svn experts want to weigh in here?  I mean, is it
> standard svn practice to do the trunk/branches/tags directory structure?

  I'm not an expert, but so far, I've seen only this. But it is not a
good idea to set it up by default. Some projects want to have only one
'main directory' in their repository, so that it would look like

svn://rubyforge.org/var/svn/some_project/trunk
svn://rubyforge.org/var/svn/some_project/branches
svn://rubyforge.org/var/svn/some_project/tags

  But some other want subprojects, and will use the following:

svn://rubyforge.org/var/svn/some_project/subproject_1/trunk
svn://rubyforge.org/var/svn/some_project/subproject_1/branches
svn://rubyforge.org/var/svn/some_project/subproject_1/tags

  and so on for other subprojects.

  My opinion is to add a FAQ element with the instructions on how to
create a standard some_project/(trunk|tags|branches) structure (with
mkdir, pretty fast), and leave those who prefer another structure to do
it themselves (they should know ;-)...)

  Finally, I would say that usually, you check out a svn repository with
the following command:

svn co svn+ssh://removed_email_address@domain.invalid/var/svn/some_project/trunk
some_project

  This way, the trunk directory is mapped as a some_project directory on
your local copy: it is much easier to work on.

  Cheers !

  Vince
Peter S. (Guest)
on 2007-09-26 00:50
(Received via mailing list)
>   Finally, I would say that usually, you check out a svn repository with
> the following command:
>
> svn co svn+ssh://removed_email_address@domain.invalid/var/svn/some_project/trunk 
some_project
>
>   This way, the trunk directory is mapped as a some_project directory on
> your local copy: it is much easier to work on.

I absolutely agree! Basically this is what I wanted to say :-)

It's a pity that the symlink can not be made... but I guess not too much
people want to checkout somebody's svn anyway, and if they do, well,
they will figure out somehow that it is the /svn/trunk/ rather than in
/svn directly...

Thanks for the replies!

Peter

__
http://www.rubyrailways.com
Peter S. (Guest)
on 2007-09-26 00:51
(Received via mailing list)
> Hm... yup... any svn experts want to weigh in here?  I mean, is it
> standard svn practice to do the trunk/branches/tags directory structure?
With a serious project, absolutely. If you want to make some releases
which you are planning to stabilize further (i.e. not just take a
snapshot of the svn, gemify it, release and again use the same branch
(i.e. trunk in this case) for commiting your code), this is a must.
Branches are not that critical, but tags are, IMHO.

>> btw. how to turn on automatic sending of commit diff mails?
> http://rubyforge.org/docman/view.php/5/460/faq.html#syncmail
Thanks!
Peter

__
http://www.rubyrailways.com
This topic is locked and can not be replied to.