From: Thomas Koch <thomas@koch.ro>
To: git@vger.kernel.org
Cc: Jeff King <peff@peff.net>, Robert Clausecker <fuzxxl@gmail.com>
Subject: [ANN] First beta: Git export with hardlinks
Date: Wed, 13 Feb 2013 14:17:21 +0100 [thread overview]
Message-ID: <201302131417.22001.thomas@koch.ro> (raw)
In-Reply-To: <20130211171357.GF16402@sigill.intra.peff.net>
Hi,
my git_export_hardlink command should now be in a usable state. I'd appreciate
any feedback: https://github.com/thkoch2001/git_export_hardlinks
I still have to choose a license: BSD/GPL/?
Jeff King:
> It looks like you create the sha1->path mapping by asking the user to
> provide <tree_sha1>,<path> pairs, and then assuming that the exported
> tree at <path> exactly matches <tree_sha1>. Which it would in the
> workflow you've proposed, but it is also easy for that not to be the
> case (e.g., somebody munges a file in <path> after it has been
> exported).
>
> So it's a bit dangerous as a general purpose tool, IMHO. It's also a
> slight pain in that you have to keep track of the tree sha1 for each
> exported path somehow.
You're right. I'd run a git reset --hard after each export to guarantee a
pristine export.
The tree sha1 of the exported tree might be part of the folder name of the
export or in some meta file related to the export, like
/deployments
/2012-03-05_14-23-02_0b96bf5f72d2c282b31726b3fbff279a89220b15
/export <- exported tree goes here
/meta <- git config file holding all relevant metadata: (who, when, tree,
commit, ref)
/index <- git index file corresponding to the exported tree (maybe?)
Regards,
Thomas Koch, http://www.koch.ro
prev parent reply other threads:[~2013-02-13 13:17 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-06 15:19 [Request] Git export with hardlinks Thomas Koch
2013-02-08 9:58 ` Jeff King
2013-02-10 10:33 ` Thomas Koch
2013-02-11 17:13 ` Jeff King
2013-02-13 13:17 ` Thomas Koch [this message]
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=201302131417.22001.thomas@koch.ro \
--to=thomas@koch.ro \
--cc=fuzxxl@gmail.com \
--cc=git@vger.kernel.org \
--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 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.