Skip to Content.
Sympa Menu

sm-discuss - Re: [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: Re: [SM-Discuss] using git for grimoires
  • Date: Fri, 7 Apr 2006 13:44:59 -0700

On 4/7/06, Jeremy Blosser (emrys) <jblosser-smgl AT firinn.org> wrote:
> On Apr 07, David Brown [dmlb2000 AT gmail.com] wrote:
> > 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.
>
> I'm looking into it some right now as well, a few comments based on what
> I'm seeing, but correct me if I'm wrong... (Note: git appears to have
> *excellent* documentation.)

Yes it does and as opposed to other scm git doesn't have many
dependancies, from basesystem without building documentation you only
have to cast git openssl rsync and curl.

> > 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.
>
> Note that git has also added a push command now that lets you do the last
> piece without having to manually login to the remote server and do a pull
> (if you have permission). Permissions are granular enough to let
> individual people commit to individual branches.
>
> The commands for this might look like:
>
> $ git clone http://scm.sourcemage.org:smgl/grimoire local-test
> $ cd local-test
> hack hack hack
> $ git commit
> repeat until happy
> $ git push test
> ^ this last pushes your commits back to the public test branch of the
> grimoire

Yup forgot about the push method... soo many things you can do with git ;)

> I really think this would be the most likely way we'd use it, so Grimoire
> people please focus on that when thinking about and discussing potential
> workflows. Other stuff is probably extra; we could make use of it if we
> wanted to but wouldn't have to.
>
> > 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.
>
> I think this kind of thing would make it a lot easier for us to get new
> people involved as 'apprentices' or the like. It looks like git has
> internal commands for creating these diffs and emailing them, and for
> reviewing, accepting, and committing them on the other end.

yes there is internal commands for generating diffs and emailing them,
we could also provide some 'smgl-maintainer' options to git to add
configuration to make submitting to the sm-patch ml one step (if
that's what we do).

> > ==== 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.
>
> Not required using git push.

right, forgot about that.

> > 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.
>
> I would expect that the push command would have to be smart about this even
> if the pull isn't, or corruption would be guaranteed. It uses a separate
> daemon for it. We could run tests on it to see.

there is a git-merge command so that would presumably provide merging
conflicting patches.

- David Brown

>
> _______________________________________________
> SM-Discuss mailing list
> SM-Discuss AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/sm-discuss
>
>
>
>




Archive powered by MHonArc 2.6.24.

Top of Page