git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Mark Levedahl" <mdl123@verizon.net>
To: git@vger.kernel.org
Subject: Re: [PATCH] Add git-bundle: move objects and references by archive.
Date: Mon, 19 Feb 2007 08:29:22 -0500	[thread overview]
Message-ID: <erc8nm$feg$1@sea.gmane.org> (raw)
In-Reply-To: Pine.LNX.4.63.0702190126220.22628@wbgn013.biozentrum.uni-wuerzburg.de

"Johannes Schindelin" <Johannes.Schindelin@gmx.de> wrote in message 
news:Pine.LNX.4.63.0702190126220.22628@wbgn013.biozentrum.uni-wuerzburg.de...
> Hi,
>
> Sorry to be such a PITA, but I really, really think that it is wrong 
> to
> make a tar dependency here. You said your cygwin has problems with 
> binary
> files. Could you please try this:
>
> $ echo -ne '\x1a\x1b\x15\x10\0abc' | cat | wc
>
Same result on Cygwin and FC6:
~>echo -ne '\x1a\x1b\x15\x10\0abc' | cat | wc
      0       1       8

> If it returns anything else than "<tab>0<tab>1<tab>8", then your setup
> works differently from mine. I fit returns what I expect it to, then 
> we
> can use cat directly and do not have to move the tar bloat around (it 
> is
> inherently block based, so it wastes a lot of space, and it also 
> stores
> other things we'll never use, like permissions for all files).


To repeat an earlier message, I tried the following:

cat bundle | (
      while read <header stuff> do
        <prcess header stuff>
      done
      git-pack-index --stdin
)

and it worked, MOST of the time, most being the important word here. My 
memory is already fuzzy about the failure rate, but it was something 
like 2 of 7 bundle files I passed through resulting in git-pack-index 
reporting a corrupted pack file: when I manually edited out the header 
stuff  and passed the remains of the file directly to git-pack-index 
things were fine. The same experiment worked perfectly on my FC6 system, 
so it was definitely some part of Cygwin, not the script. If git is 
worried about tickling "which" on ancient Solaris, I think it is a bit 
out of balance to simultaneously require a not yet written version of 
Cygwin (that will get fixed after someone has time to reduce this 
problem to a simple testcase and push back to the Cygwin maintainers).

A bundle file *is* an archive. We can use an existing archiver or write 
a new one. I don't really favor writing one but that is personal 
preference for not reinventing the wheel, nothing more. However, given 
Cgywin's problems an archiver written in shell isn't going to work for 
binary files. We could uuencode / uudecode the pack files and make 
bundles pure ascii text. Or, we could use tar. Of course, rewriting this 
as a builtin offers the ability to write a purpose built archiver as 
well, but I was trying to avoid that.

</unsolicited ignoreable gripe>Has anyone considered how much easier all 
of git would be if it were written in c + python, rather than c + every 
variant of shell + core utils + non-core utils known to mankind since 
the dawn of unix?</unsolicited ignorable gripe>

Mark

  parent reply	other threads:[~2007-02-19 13:29 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-18 22:47 [PATCH] Add git-bundle: move objects and references by archive Mark Levedahl
2007-02-19  1:07 ` Johannes Schindelin
2007-02-19  1:50   ` Junio C Hamano
2007-02-19  2:02     ` Johannes Schindelin
2007-02-19  7:56   ` Shawn O. Pearce
2007-02-19 13:29   ` Mark Levedahl [this message]
2007-02-19 15:03     ` Johannes Schindelin
2007-02-19  1:49 ` Junio C Hamano
     [not found] <Pine.LNX.4.63.0702220157130.22628@wbgn013.biozentrum.uni-wuerz burg.de>
2007-02-22  0:59 ` Johannes Schindelin
2007-02-22  3:28   ` Nicolas Pitre
2007-02-22 15:55     ` Johannes Schindelin
2007-02-22 16:14       ` Simon 'corecode' Schubert
2007-02-22 16:28         ` Nicolas Pitre
2007-02-22 16:37         ` Johannes Schindelin
2007-02-22 16:46           ` Simon 'corecode' Schubert
2007-02-22 17:09             ` Johannes Schindelin
2007-02-22 16:24       ` Nicolas Pitre
2007-02-22 17:12         ` Johannes Schindelin
2007-02-22 17:21           ` Nicolas Pitre
2007-02-22  6:56   ` Junio C Hamano
2007-02-22  7:08     ` Junio C Hamano
2007-02-22 16:20       ` Johannes Schindelin
2007-02-22 19:10         ` Junio C Hamano
2007-02-22 19:16           ` Johannes Schindelin
2007-02-22 20:05             ` Junio C Hamano
2007-02-22 20:25               ` Johannes Schindelin
2007-02-22 16:17     ` Johannes Schindelin
2007-02-23  2:32     ` Mark Levedahl
2007-02-23  4:39       ` Junio C Hamano
2007-02-22  9:31   ` Johannes Sixt
  -- strict thread matches above, loose matches on Subject: below --
2007-02-17 18:41 [PATCH] Add git-unbundle - unpack objects and references for disconnected transfer Junio C Hamano
2007-02-18 17:27 ` [PATCH] Add git-bundle: move objects and references by archive Mark Levedahl
2007-02-18 22:47   ` Mark Levedahl

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='erc8nm$feg$1@sea.gmane.org' \
    --to=mdl123@verizon.net \
    --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 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).