Show quoted text 5 lines
Note that initial clone sequentially requests all revisions from svn
reopsitory, so it may take some time and generate some stress on the svn
server. (One may choose to clone only the recent revisions, but this defeats
one of the important advantages of Git -- ability to view history in a
reasonable time).
There can be other motives to use git than the history. Like managing the local commits (join, split, reorder) before making them public. The server load would be relevant if this was done by hundreds of people but it won't happen.
I didn't (and my instructions don't) clone the whole history.
Show quoted text 5 lines
Following fetches, however, are equivalent to the usual "svn update"
in terms of server load.
This is primarily why official git mirror would be useful -- people could
clone the mirror from github and then reconfigure it to fetch/dcommit to
svn repository.
I agree. I tried to configure Graeme's mirror to use Lazarus SVN directly but failed. I am not a git expert, I just learned the basics myself. If you have a working configuration, please copy it here (or to the wiki page).
I copy here a section from git-svn --help. That should make a mirror readily configured for the SVN server but I haven't tried it:
---
The initial git svn clone can be quite time-consuming (especially for large Subversion repositories). If multiple people (or one person with multiple machines) want to use git svn to interact with the same Subversion repository, you can do the initial git svn clone to a repository on a server and have each person clone that repository with git clone:
# Do the initial import on a server
ssh server "cd /pub && git svn clone http://svn.example.com/project # Clone locally - make sure the refs/remotes/ space matches the server mkdir project
cd project
git init
git remote add origin server:/pub/project
git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*' git fetch
# Create a local branch from one of the branches just fetched git checkout -b master FETCH_HEAD
# Initialize 'git svn' locally (be sure to use the same URL and -T/-b/-t options as were used on server) git svn init http://svn.example.com/project
# Pull the latest changes from Subversion
git svn rebase
---
Juha
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20100310/69e6ceba/attachment.html>