git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vincent van Ravesteijn <vfr@lyx.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Jeff King" <peff@peff.net>,
	"Motiejus Jakštys" <desired.mta@gmail.com>,
	git@vger.kernel.org
Subject: Re: start of git2 (based on libgit2)
Date: Sun, 27 Mar 2011 11:56:04 +0200	[thread overview]
Message-ID: <4D8F09B4.7030602@lyx.org> (raw)
In-Reply-To: <7v62r52c85.fsf@alter.siamese.dyndns.org>

> I agree that for a summer student project, aiming at basic stuff makes
> more sense than trying to chew a large bite that cannot be managed within
> the timeframe and not achieving anything

If things will be working out, I will at least not disappear after the 
summer. I'm quite new here, but I'd like to help out in coordinating the 
student(s) and to continue with it after summer (if the student(s) do 
not stick to the git development). I'm still missing quite some 
knowledge about git, but I hope that will come with time.

> "A..B" requires you to walk the ancestry chain. Limiting history with
> pathspec while simplifying merges needs to use the tree-diff machinery;
> and filtering commits by looking at the message with "--grep" needs to
> call into the grep machinery.  Depending on how much libgit2 has already
> covered the basic blocks, even the above list might be too much, I am
> afraid.

Yes, it would be important to understand how much already is covered by 
libgit2. If someone could shed some light on this (see also my message 
on the libgit2@librelist.org mailing list).

> A good news is

[..] still re-reading this paragraph to find out what the actual 'good' 
part of this news is ;)...[..]

> that among the larger and more important basic building
> blocks in C git, there is only one part that was designed from day one to
> disregard the reusability and instead aimed for speed and simplicity, and
> that is the history and object walking. The way the in-core object pool is
> managed and especially the way per-object flags are designed to be used
> clearly show that the revision walker machinery can take it granted that
> the calling programs are run-once-and-clean-via-exit.

That's what I meant with my previous message. I was not aiming to 
implement all exotic features, but I think that it would be a good 
design if git and git2 share a lot together and only differ in how they 
actually use the git/libgit backend. As part of the process, the git 
code can be adjusted as well to "libify" it (as it was called in another 
thread).

Vincent

  reply	other threads:[~2011-03-27  9:56 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-25 23:12 start of git2 (based on libgit2) Motiejus Jakštys
2011-03-25 23:54 ` Vincent van Ravesteijn
2011-03-26  2:13   ` Motiejus Jakštys
2011-03-26 13:29   ` Jeff King
2011-03-27  8:34     ` Junio C Hamano
2011-03-27  9:56       ` Vincent van Ravesteijn [this message]
2011-03-26  6:33 ` Sam Vilain

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=4D8F09B4.7030602@lyx.org \
    --to=vfr@lyx.org \
    --cc=desired.mta@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=peff@peff.net \
    /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 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).