[sword-devel] using a dvcs for module creation

Dmitrijs Ledkovs dmitrij.ledkov at ubuntu.com
Thu Sep 16 08:01:32 MST 2010

On 16 September 2010 15:44, Peter von Kaehne <refdoc at gmx.net> wrote:
> Thanks to Matthew who has got me onto the idea to use a DVCS for module
> creation. This is a very useful idea particularly if the underlying
> texts are messy and need gradual adjustment at a variety of places.
> So, I fell for git, largely because the name appealed to me and it works
> so far quite well.
> My question: If I want to push intermittently point releases - like "NT
> completed", "with book introductions", "with footnotes" etc to a central
> server of what do I need to have for that? I.e. what does the remote
> server need installed? I want to set up my home server as a backup etc
> for that.

Remote server will need ssh & git daemon running + set-up a bare
repository on the server: e.g. $ git init --bare tools.git
Then on your machine you need to add remote, fetch it and then push the repo.

> And how can I use git to mess about with code at home but then commit to
> svn - e.g. the sword-tools section on CrossWire?

You will have to create a git-svn clone & fidle with git-svn cache and
meta data. It takes a couple of tries to get the import right. After
that you can use your git repo to fiddle around and commit, but there
will be no roundback since you will have to rebase each time you
commit to svn and hence do force updates.

I recommend to install bzr & bzr-svn. Then it's a matter of

$ bzr branch svn://example.com/trunk/subdir
$ bzr push sftp://just.sftp.on.the.host/without/any/daemons (findling)
$ bzr push svn://just.push.to/svn/without/troubles/and/rebases
(pushing/pulling from svn)

> At the moment I have
> two directories - one is sword-tools under svn where I check out from
> CrossWire and commit from too and another is a git based one. Whenever I
> think i have something worth pushing to CrossWire, I copy from one to
> the other and do a svn commit. I am sure this is not the most clever way...

git-svn automates this, but it's pretty much what it does. Bzr is a
bit smarter when talking to svn and it remembers what went were
instead of doing blind rebases like git.

If you google up git-svn guides from KDE, GCC, Webkit you will get
more hang of it. They have everything covered.

> Thanks
> Peter
> _______________________________________________
> sword-devel mailing list: sword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page

More information about the sword-devel mailing list