All of lore.kernel.org
 help / color / mirror / Atom feed
From: Duy Nguyen <pclouds@gmail.com>
To: Stefan Beller <stefanbeller@googlemail.com>
Cc: GIT Mailing-list <git@vger.kernel.org>
Subject: Re: Rewriting git-repack.sh in C
Date: Fri, 2 Aug 2013 21:10:59 +0700	[thread overview]
Message-ID: <CACsJy8CaTA2vT0CxOAm0FacCWjNDJjZhg6mwSyspTChia-5ppQ@mail.gmail.com> (raw)
In-Reply-To: <51FBB8CB.8020600@googlemail.com>

On Fri, Aug 2, 2013 at 8:48 PM, Stefan Beller
<stefanbeller@googlemail.com> wrote:
> Hello,
>
> I'd like to rewrite the repack shell script in C.
> So I tried the naive approach reading the man page and
> the script itself and write C program by matching each block/line
> of the script with a function in C
>
> Now I stumble upon other git commands (git pack-objects).
> What's the best way to approach such a plumbing command?
>
> I don't think just calling cmd_pack_objects(argc, **argv) would
> be the right thing to do, as we're not using all the command
> line parameters, so some of the logic in cmd_pack_object could
> be skipped.
> Another approach would be to use some of the functions as used
> by cmd_pack_objects, but these mostly reside in builtin/pack_objects.c
> They'd need to be moved up to pack.h/pack.c.
>
> So my question is, how you'd generally approach rewriting a
> shell script in C.

Start a new process via start_command/run_command interface. It's
safer to retain the process boundary at this stage. You can try to
integrate further later.
-- 
Duy

  reply	other threads:[~2013-08-02 14:11 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-02 13:48 Rewriting git-repack.sh in C Stefan Beller
2013-08-02 14:10 ` Duy Nguyen [this message]
2013-08-02 16:36   ` Duy Nguyen
2013-08-03  6:33   ` Fredrik Gustafsson
2013-08-03 10:03     ` Duy Nguyen
2013-08-07 14:00       ` [PATCH 0/4] " Stefan Beller
2013-08-07 14:00         ` [PATCH 1/4] Build in git-repack Stefan Beller
2013-08-07 14:28           ` Matthieu Moy
2013-08-07 15:48             ` Junio C Hamano
2013-08-07 16:45               ` Stefan Beller
2013-08-08  2:44               ` Duy Nguyen
2013-08-07 14:00         ` [PATCH 2/4] backup_file dummy function Stefan Beller
2013-08-08  2:45           ` Duy Nguyen
2013-08-07 14:00         ` [PATCH 3/4] pack-objects: do not print usage when repacking Stefan Beller
2013-08-08  6:40           ` Antoine Pelisse
2013-08-07 14:00         ` [PATCH 4/4] repack: add unpack-unreachable Stefan Beller
2013-08-05 10:34 ` Rewriting git-repack.sh in C Matthieu Moy

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=CACsJy8CaTA2vT0CxOAm0FacCWjNDJjZhg6mwSyspTChia-5ppQ@mail.gmail.com \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=stefanbeller@googlemail.com \
    /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.