[asterisk-dev] please please please open ViewVC for svn.digium.com again

Jeffrey Ollie jeff at ocjtech.us
Fri Sep 4 10:51:09 CDT 2009


On Fri, Sep 4, 2009 at 10:24 AM, Russell Bryant<russell at digium.com> wrote:
> Kevin P. Fleming wrote:
>> We have considered that, but our extensive use of svn:externals and svn
>> properties in general means that importing into these SCMs frequently
>> loses a lot of information, and can in some cases become unusable.
>>
>> Can someone who understands these other SCMs and their ability to
>> represent Subversion's features that we use comment on this? I'm not
>> opposed to offering clones of the repository, as long as they are fully
>> functional and usable.
>
> Tzafrir commented that git doesn't handle svn:externals, so his
> instructions include having to import menuselect before you can build.
> With hgsvn, you have the same issue.  Externals are completely ignored,
> so at least with Asterisk, it means menuselect needs to be linked in to
> the working copy before you can build.

Git has submodules, which are similar in concept to svn:externals.
The one difference is that git submodules have to point at a specific
branch/commit in the submodule.  svn:externals can "float" and point
at whatever is the latest revision on a particular branch.  I haven't
dealt with submodules or svn:externals much but in theory I think you
could add some scripting to the svn->git cloning that would update the
git submodules to point to the correct revisions automatically.

http://git.or.cz/gitwiki/GitSubmoduleTutorial

As far as the use of subversion properties, I've seen two basic uses
in Asterisk, the first is various metadata like svn:ignores, native
linefeeds, mime types.  That's all handled through attributes:
http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html and
the ignores file:
http://www.kernel.org/pub/software/scm/git/docs/gitignore.html

The second use of properties is to track merges.  IMHO, the subversion
merge tracking is braindead, and I wouldn't want to try and duplicate
that in git.

-- 
Jeff Ollie



More information about the asterisk-dev mailing list