* Re: etoys - binary blob in GIT
[not found] ` <u7ius5te9.wl%yoshiki@squeakland.org>
@ 2007-02-09 18:20 ` Joshua N Pritikin
2007-02-09 19:35 ` Yoshiki Ohshima
0 siblings, 1 reply; 3+ messages in thread
From: Joshua N Pritikin @ 2007-02-09 18:20 UTC (permalink / raw)
To: Yoshiki Ohshima; +Cc: git, sugar
On Fri, Feb 09, 2007 at 04:41:34AM +0900, Yoshiki Ohshima wrote:
> > I suggest starting a new GIT repository without the image. Those who are
> > interested in history can create a graft to the old repository.
>
> Then, from now on, we are going to manage the "history" of the image
> in not-so-well-managed manner (i.e., just a bunch of hand-numbered
> files in a directory). Which is more or less ok, I think.
Yah, that's exactly what I suggest.
You might store the current image number in GIT if you want to keep
track of which image goes with which commit.
> What the Etoys team actually uses for our own change management is
> called "update stream" mechanism. That is a sequence of small patches
> in text. These patches are kept on an FTP/HTTP or WebDAV/HTTP server,
> and the developers submit the patches via FTP or WebDAV, and other
> users and developers fetches them via WebDAV or HTTP into their EToys
> image. The image in the git repository is made in this way. 95% of
> the case, it is enough to recreate a "practically" identical image by
> merely fetching the patches.
95%? Just curious, why not 100%?
> These small files are the result of "real development work" and
> should probably be kept as the record.
Agreed.
I think the proper way to do that is to clean the upgrade directory
after each commit so that the upgrade directory only keeps patches for
the current changeset. I'm going to CC the GIT mailing list just to
make sure since you could get stuck with this history for a long time.
> We are not keen on changing the "fetch" part of it, as it is so nice
> to be able to download directly into the OLPC image. That means
> that it would be nice to have a directory on a server that looks like:
>
> http://squeakalpha.org/swupdates/external/updates/
>
> and available via HTTP. To push a patch, one could imagine to use git
> and then some server side process copy the file to the directory.
Ivan should be able to do that easily with an update-hook.
--
Make April 15 just another day, visit http://fairtax.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: etoys - binary blob in GIT
2007-02-09 18:20 ` etoys - binary blob in GIT Joshua N Pritikin
@ 2007-02-09 19:35 ` Yoshiki Ohshima
2007-02-10 9:49 ` Joshua N Pritikin
0 siblings, 1 reply; 3+ messages in thread
From: Yoshiki Ohshima @ 2007-02-09 19:35 UTC (permalink / raw)
To: sugar, git
Joshua,
> > What the Etoys team actually uses for our own change management is
> > called "update stream" mechanism. That is a sequence of small patches
> > in text. These patches are kept on an FTP/HTTP or WebDAV/HTTP server,
> > and the developers submit the patches via FTP or WebDAV, and other
> > users and developers fetches them via WebDAV or HTTP into their EToys
> > image. The image in the git repository is made in this way. 95% of
> > the case, it is enough to recreate a "practically" identical image by
> > merely fetching the patches.
>
> 95%? Just curious, why not 100%?
5% is guesstimate (of course), but for stuff like changing the
update stream mechanism itself or the ".changes file" management,
changing the class hierachy around String, or the change that relying
on some external file such as fonts, are something I would do in more
controlled ways. (With more careful tweaking these things are usually
possible with the update stream mechanism, but...)
> > These small files are the result of "real development work" and
> > should probably be kept as the record.
>
> Agreed.
>
> I think the proper way to do that is to clean the upgrade directory
> after each commit so that the upgrade directory only keeps patches for
> the current changeset.
I'm not sure what is the upgrade directory, so not sure the upside
of this is. Can you elaborate?
> I'm going to CC the GIT mailing list just to
> make sure since you could get stuck with this history for a long
> time.
Ah, ok. Hi, Hamano-san^^;
-- Yoshiki
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: etoys - binary blob in GIT
2007-02-09 19:35 ` Yoshiki Ohshima
@ 2007-02-10 9:49 ` Joshua N Pritikin
0 siblings, 0 replies; 3+ messages in thread
From: Joshua N Pritikin @ 2007-02-10 9:49 UTC (permalink / raw)
To: Yoshiki Ohshima; +Cc: git, sugar
On Sat, Feb 10, 2007 at 04:35:07AM +0900, Yoshiki Ohshima wrote:
> > > What the Etoys team actually uses for our own change management is
> > > called "update stream" mechanism. That is a sequence of small patches
> > > in text. These patches are kept on an FTP/HTTP or WebDAV/HTTP server,
> > > and the developers submit the patches via FTP or WebDAV, and other
> > > users and developers fetches them via WebDAV or HTTP into their EToys
> > > image. The image in the git repository is made in this way. 95% of
> > > the case, it is enough to recreate a "practically" identical image by
> > > merely fetching the patches.
> >
> > I think the proper way to do that is to clean the upgrade directory
> > after each commit so that the upgrade directory only keeps patches for
> > the current changeset.
>
> I'm not sure what is the upgrade directory, so not sure the upside
> of this is. Can you elaborate?
Sure, something like this:
$ export IMAGE=$HOME/etoys.image
$ cd etoys
$ git init-db
$ echo 1 > image-version
$ git add image-version
$ mkdir upgrade
$ cd upgrade
$ ls
patch1 patch2
# These patches are the "update stream" from the previous commit to the
# current commit.
$ cat patch1
touch $IMAGE
$ cat patch2
echo abc >> $IMAGE
$ cd ..
$ git add patch1 patch2
$ git commit -a
# After every commit, you can remove the previous update stream.
$ git rm upgrade/*
# Here is the update stream for the next commit:
$ echo 2 > image-version
$ cat upgrade/patch1
echo def >> $IMAGE
$ git add upgrade/patch1
$ git commit -a
$ git rm upgrade/*
# Etc
Now you have a history of the update stream and you know which image
belongs with which commit.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-02-10 9:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20070208095523.GE3708@always.joy.eth.net>
[not found] ` <u7ius5te9.wl%yoshiki@squeakland.org>
2007-02-09 18:20 ` etoys - binary blob in GIT Joshua N Pritikin
2007-02-09 19:35 ` Yoshiki Ohshima
2007-02-10 9:49 ` Joshua N Pritikin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).