Skip to Content.
Sympa Menu

sm-discuss - [SM-Discuss] using git for grimoires

sm-discuss AT lists.ibiblio.org

Subject: Public SourceMage Discussion List

List archive

Chronological Thread  
  • From: "David Brown" <dmlb2000 AT gmail.com>
  • To: "SM Discuss" <sm-discuss AT lists.ibiblio.org>
  • Subject: [SM-Discuss] using git for grimoires
  • Date: Fri, 7 Apr 2006 11:42:53 -0700

Since I've had several questions about using git scm (the scm that the
linux kernel uses) for the grimoires heres the way I could see us
using it and how things would change from the current system. Most of
the steps I deal with are using pure git if you use cogito some steps
may be simplified or removed.

Use Case Changes:

1) guru update and submit
currently the guru submitting code to the repository is very
centralized and requires constant access to the net when editing code.

the change would be that there wouldn't need to be any access to the
net because the guru would have an exact copy of the repository off
the server that everyone uses. However to get code to the public
grimoire for everyone to use there'd be one more level of indirection.

the current steps to commit changes to the public grimoire are:
1) open files for edit
2) hack hack hack
3) commit open files (or some subset)
4) repeat 3 until happy

the reason for 4 being there is that most of the TL's have told me
(and through experience) splitting up commits to encompass one change
(instead of one spell update in the test grimoire and one in the games
grimoire) is a good thing and good development practice.

the new steps to commit using a git repo would be the following:
1) hack hack hack
2) update index to encaplulate the commit
3) commit the files
4) repeat 1-3 until happy
5) pull the changes from your grimoire to the public grimoire.

step 5 could include asking certain TL's to pull the changes to the
public grimoire or if you have permissions ssh'ing in to the main
system and then pulling from your grimoire to the public one.

There would also be an alternative path as well:
3) perform a diff on the head
4) email the diff

step 4 would be to someone who has permissions to edit the public
grimoire or the ml where some one with those permissions would then
apply the patch.

==== Pros of Using git ====
1) No internet access needed until you want your changes pulled to the
public grimoire :DDD
2) decentralized repos, since everyone (including users if they use
git to pull their grimories to use on their system) would have a copy
of the repository and all it's history, so changing the DNS to point
to someone else temporarily would be easy and many people could do it.
3) making small diffs for general updates of spells would be quicker (I
think).
4) git-diff is and has always been relative to the root of the
grimoire no fscking with the -p value on patches using git, it's all
standardized.

==== Cons of Using git ====
1) Depending on how permissions for the publicly accessed grimoires
are handled our TL's could have more work to do. Either Arwed would
have to do this solo or he would have to choose people for a 'super
guru' set that would have permission to pull from other guru's
grimoires.
I would advise not giving everyone permissions to the public grimoire
because I'm not sure if a git pull can manage blowing over several
files at once... haven't tried it.

These are just my thoughts on using git let me know what you thing about it.
There are several frontends for git including a bash frontend called cogito.

- David Brown




Archive powered by MHonArc 2.6.24.

Top of Page