5

We use Subversion locally, and we're working on a project that uses a fork of Fluent NHibernate, which is hosted on Github.

I'd like it set up so that a single svn checkout will retrieve everything necessary to build the project, but maintain the ability to fetch HEAD updates from github.

Is there any way I can pull code from the Git repository as though it was an svn:external dependency? Can I just check the .git folder into our Subversion repository and just run git fetch when I need to, then svn commit the results?

1

2 Answers 2

6

http://github.com/blog/626-announcing-svn-support says

$ svn checkout https://github.com/USER/PROJECT/trunk 

works. So use that URL for your svn:externals.

Sign up to request clarification or add additional context in comments.

4 Comments

how about a github specific tag/branch?
+1. Also, GitHub updated their svn support so I updated the URL. github.com/blog/966-improved-subversion-client-support
@farinspace See the new URL: try adding /branches/FOO or /tags/BAR
How about a specific revision number? There is no such thing as a "revision number" in git, but this seems like the sort of thing that lots of people might have a need for.
0
  • Specific commit: You need to find the appropriate revision number from the git repository using the SHA1 hash:

    $ git svn find-rev <sha1> 

    Next, use the peg revision syntax for the revision number in your svn:externals definition.

    https://github.com/<user>/<project>@<revision> 
  • Specific tag (from @orip's comment):

    https://github.com/<user>/<project>/tags/<tag> 
  • Specific branch (from @orip's comment):

    https://github.com/<user>/<project>/branches/<branch> 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.