From: "Eric S. Raymond" <esr@thyrsus.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: gitpacker progress report and a question
Date: Mon, 26 Nov 2012 18:43:59 -0500 [thread overview]
Message-ID: <20121126234359.GA8042@thyrsus.com> (raw)
In-Reply-To: <CAMP44s2+NDyL2Vf=iKR09f-YUnp=G2BCiYj-+qKuP7JA-+YkmQ@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com>:
> Might be easier to just call 'git ls-files --with-three foo', but I
> don't see the point of those calls:
Ah, much is now explained. You were looking at an old version. I had
in fact already fixed the subdirectories bug (I've updated my
regression test to check) and have full support for branchy repos,
preserving tags and branch heads.
> > It doesn't issue delete ops.
>
> What do you mean?
>
> out.puts 'deleteall' <- All current files are removed
Yours emits no D ops for files removed after a particular snapshot.
> > Be aware, however, that I consider easy editability by human beings
> > much more important than squeezing the last microsecond out of the
> > processing time. So, for example, I won't use data byte counts rather
> > than end delimiters, the way import streams do.
>
> Well, if there's a line with a single dot in the commit message ('.'),
> things would go very bad.
Apparently you missed the part where I byte-stuffed the message content.
It's a technique used in a lot of old-school Internet protocols, notably
in SMTP.
> Personally I would prefer something like this:
There's a certain elegance to that, but it would be hard to generate by hand.
Remember that a major use case for this tool is making repositories
from projects whose back history exists only as tarballs. So, let's
say you have the following:
foo-1.1.tar.gz
foo-1.2.tar.gz
foo-1.3.tar.gz
What you're going to do before weaving is drop the untarred file trees
in a 'foo' scratch directory, then hand-craft a log file that might
look a bit like this:
-----------------------------------
commit 1
directory foo-1.1
Release 1.1 of project foo
.
commit 2
directory foo-1.2
..This is an example of a byte-stuffed line.
Release 1.2 of project foo
.
commit 3
directory foo-1.3
Release 1.3 of project foo
.
-----------------------------------
The main objective of the logfile design is to make hand-crafting
these easy.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
next prev parent reply other threads:[~2012-11-26 23:44 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-15 21:28 gitpacker progress report and a question Eric S. Raymond
2012-11-15 22:35 ` Max Horn
2012-11-15 23:05 ` Eric S. Raymond
2012-11-16 13:13 ` Andreas Schwab
2012-11-26 20:07 ` Felipe Contreras
2012-11-26 22:01 ` Eric S. Raymond
2012-11-26 23:14 ` Felipe Contreras
2012-11-26 23:43 ` Eric S. Raymond [this message]
2012-11-27 1:29 ` Felipe Contreras
2012-11-27 1:38 ` Felipe Contreras
2012-11-27 6:29 ` Felipe Contreras
2012-11-27 7:27 ` Eric S. Raymond
2012-11-27 8:20 ` Felipe Contreras
2012-11-27 8:36 ` Eric S. Raymond
2012-11-27 8:51 ` Felipe Contreras
2012-11-27 7:30 ` Eric S. Raymond
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20121126234359.GA8042@thyrsus.com \
--to=esr@thyrsus.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.