[jsword-devel] Git
Matěj Cepl
mcepl at redhat.com
Sun Mar 18 04:41:42 MST 2012
On 17.3.2012 21:52, DM Smith wrote:
> In order to go to git, I think there are a few things that need to
> be worked out.
> 1) When? Should it be after the next release? Or can it be done now
> without impacting the release (other than a little bit of time)?
I have no idea, this is not that much question of technology as the
logistics of your work about which I have no clue. I think branching out
(or tagging, whatever you do) of the new version could be a good
opportunity.
It would be probably good to have prepared scripts for cleaning the
repository though, so they are just run on new git repo (see below).
> 2) How? I agree with you that 3rd party code and jar artifacts
> shouldn't be in the repository. It's not that big a deal with SVN as
> one only gets the top level, so each is included only once in the
> checkout, but with git every upgrade is included in the checkout.
> The question I have is how that should be done? How do we find them
> in svn? Where do we put what is currently needed? (I'm thinking the
> maven repository that we've stood-up on CrossWire, if it is not in
> maven central.)
No, it should be IMHO done on fresh git repo generated with git svn.
git-filter-branch command is able to do it. See its manpage and for
example
http://dound.com/2009/04/git-forever-remove-files-or-folders-from-history/
(files to be removed could be indicated by other means than just by path).
> 3) Who? We have a few users that have write permissions to JSword.
> Everyone else is read-only. We need this to continue in some form or
> another.
I think the same users should be allowed (by having ssh access?) to
push. Anybody could have read-only access.
> 4) Where? What is the best place to serve it? GitHub? Gitorious? Set
> up a server on CrossWire? If so which server? Gitosis? Gitolite?
> Other?
The most simple solution (and if you have just one repo and few users
with push access) is to just use git-daemon (provided with the basic git
installation) and limit access to it with SSH. See
http://schacon.github.com/git/user-manual.html#public-repositories for
more info.
Gitosis/gitolite are not for you (that's for sites with hundreds of
repositories and complicated ACLs).
Of course, gitorious/github are much more comfortable if you don't
insist on having the code on your own servers (well, it is possible to
install gitorious on your own server). For free software fanatics among
us, github itself is NOT free software, so you've have your data locked
in the proprietary database (not that much issue with the code itself,
but there are no official means of exporting issues, wiki). OTOH, huge
amount of users on github and social-networking-qualities of thereof are
very pleasant (also it provides quite decent issue tracker).
For my own code (/me being own-your-data fanatic), I use gitorious and I
have installed bugzilla on my own server to have issue tracking. Works
fine. Many many other people switched to github with very good results.
> 5) What? How far back do we go? From the beginning, 1.0, 1.6? Over
> time we've refactored projects in Eclipse several times. It needs to
> include what is now in the JSword project, which is the merge of
> jsword-common into jsword. What should be done with the other
> projects? They can follow later into other repositories, but we will
> need to have a comparable build system on the CrossWire server that
> will pull all the code and build it.
a) I have no idea ... these decisions require more knowledge of the
project than I have
b) I would generally go from the beginnings (and so when everything is
done, SVN repo could be completely eliminated) ... complete git svn
created repo (with binary blobs, etc. and with all branches;
https://gitorious.org/sword/jsword) has .git subdirectory of 440MB.
That's one time expense of course, all pushes/pulls send over the wire
only individual commits. And of course, pruning binary blobs should make
the repo significantly smaller.
Best,
Matěj
--
http://www.ceplovi.cz/matej/, Jabber: mcepl<at>ceplovi.cz
GPG Finger: 89EF 4BC6 288A BF43 1BAB 25C3 E09F EF25 D964 84AC
- Do you think of yourself as a Christian artist?
- I'm an artist who is a Christian. I'm not a Christian artist.
-- Johny Cash
in his last interview
More information about the jsword-devel
mailing list