Configure (or mimic) svn:externals to include code from Github in a svn-hosted project
-
18-09-2019 - |
Question
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?
Solution
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
.
OTHER TIPS
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>