From: Pavel Roskin <proski@gnu.org>
To: Marco Costalba <mcostalba@gmail.com>
Cc: Linus Torvalds <torvalds@osdl.org>, git <git@vger.kernel.org>,
Marco Costalba <mcostalba@yahoo.it>
Subject: Re: qgit reports errors in the git repository
Date: Thu, 15 Dec 2005 19:35:49 -0500 [thread overview]
Message-ID: <1134693349.22652.22.camel@dv> (raw)
In-Reply-To: <e5bfff550512151100k33a66db5tdb2eb1ff2da10a59@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3775 bytes --]
On Thu, 2005-12-15 at 20:00 +0100, Marco Costalba wrote:
> Yes! this is a bug.
> Thanks for the patch, applied.
Actually, the qgit git repository appear to be broken right now. First
of all, requests to missing files return code 200 rather that 404.
git-http-fetch crashes trying to parse the returned page as alternates.
I've fixed it.
It's a hack, not a signed patch, please be cautious:
diff --git a/http-fetch.c b/http-fetch.c
index ad59f1c..2767676 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -520,6 +520,8 @@ static void process_alternates_response(
}
}
// skip 'objects' at end
+ okay &= (posn - i > 8);
+ okay &= (strncmp(data + posn - 8, "/objects", 8) == 0);
if (okay) {
target = xmalloc(serverlen + posn - i - 6);
strncpy(target, base, serverlen);
@@ -601,7 +603,7 @@ static void fetch_alternates(char *base)
else
got_alternates = -1;
- free(data);
+// free(data);
free(url);
}
The free() was commented out because glibc detects double free and
prints backtrace. It's Fedora Core 4 on x86_64, all up-to-date. I
don't see where "data" is freed, maybe it's a bug in glibc.
Even clean fetch of qgit doesn't work:
$ cg-clone http://digilander.libero.it/mcostalba/qgit.git
defaulting to local storage area
Fetching head...
Fetching objects...
progress: 8 objects, 12858 bytes
error: File 8fef66ee82bcbbc26426d21e537478867f648e12 (http://digilander.libero.it/mcostalba/qgit.git/objects/fc/0712e55de18eda32aee44bd7863fee37fc83aa) corrupt
Getting pack list for http://digilander.libero.it/mcostalba/qgit.git/
progress: 11 objects, 76091 bytes
Getting alternates list for http://digilander.libero.it/mcostalba/qgit.git/
error: Unable to find fc0712e55de18eda32aee44bd7863fee37fc83aa under http://digilander.libero.it/mcostalba/qgit.git/
Cannot obtain needed commit fc0712e55de18eda32aee44bd7863fee37fc83aa
while processing commit 5013d718eea0b19a28faebf93eade68127f4b2b4.
Waiting for http://digilander.libero.it/mcostalba/qgit.git/objects/20/35781249a0d6c788e4aef07432c335d9694b9b
progress: 12 objects, 80655 bytes
cg-fetch: objects fetch failed
cg-clone: fetch failed
Anyway, I'm using the latest revision I could get,
9e5ccecbef2a9cb4b75887791b410c0e07d630cc.
> Unfortunatly, regarding the main question on git-cat-file I cannot
> reproduce the bug.
I've made a clean checkout of git using git-fetch:
git-clone git://www.kernel.org/pub/scm/git/git.git
Now qgit complains about 1ed91937e5cd59fdbdfa5f15f6fac132d2b21ce0.
> The problem is that on my box the object
> 23ea3e201cea0deea909569e08e950a9ec2345f7 is
> _never_ fed to git-cat-file because is filtered out ending with "^{}"
> git-ls-remote ./.git |grep 23ea3e201cea0deea909569e08e950a9ec2345f7
> 23ea3e201cea0deea909569e08e950a9ec2345f7 refs/tags/v0.99.9g^{}
Same for me.
> The corresponding tag feeded to git-cat-file is
> bd67d7d845eb5ae929306dadd3dff41cf04ce004
>
> I have just made a
> git pull
> git fetch --tags
>
> from git repository.
OK, "git fetch --tags" made the difference for the old repository! Now
it also complains about 1ed91937e5cd59fdbdfa5f15f6fac132d2b21ce0.
I was using cogito only on the old repository. I think cogito doesn't
run "git fetch --tags" or anything equivalent.
> So, please, test with this:
>
> --- a/src/git_startup.cpp
> +++ b/src/git_startup.cpp
> @@ -111,6 +111,7 @@ bool Git::getRefs() {
>
> if (itNext != rLst.constEnd() && (*itNext).right(3) == "^{}")
> {
> signedTag = true;
> + dbg(refSha);
> if (run("git-cat-file tag " + refSha, &runOutput)) {
> QString msg(runOutput.section("\n\n", 1));
> if (!msg.isEmpty())
>
> and send me the output. Mine is
[skip]
Both are attached.
--
Regards,
Pavel Roskin
[-- Attachment #2: log.new --]
[-- Type: text/plain, Size: 2268 bytes --]
refSha is <a0e7d36193b96f552073558acf5fcc1f10528917>
refSha is <f25a265a342aed6041ab0cc484224d9ca54b6f41>
refSha is <c5db5456ae3b0873fc659c19fafdde22313cc441>
refSha is <7ceca275d047c90c0c7d5afb13ab97efdf51bd6e>
refSha is <b3e9704ecdf48869f635f0aa99ddfb513f885aff>
refSha is <07e38db6a5a03690034d27104401f6c8ea40f1fc>
refSha is <f12e22d4c12c3d0263fa681f25c06569f643da0f>
refSha is <f8696fcd2abc446a5ccda3e414b731eff2a7e981>
refSha is <1094cf40f7029f803421c1dcc971238507c830c5>
refSha is <da30c6c39cd3b048952a15929c5440acfd71b912>
refSha is <9165ec17fde255a1770886189359897dbb541012>
refSha is <02b2acff8bafb6d73c6513469cdda0c6c18c4138>
refSha is <b041895af323bdef10cc9a718bda468ba3622bc0>
refSha is <cfc2ea6116410a545573d5fa5311d3c3b2df69d1>
refSha is <0b122201af0afb6a6a8059ff446a1e26b1d0c823>
refSha is <d186f3d21148f373a5ea5e43804f5f6707670a87>
refSha is <48055bb38d650ab39957ed07d640469176c12419>
refSha is <b79a5a49c9e412e27a336e705fb7b462367f4c16>
refSha is <ebd5d002da3f6cfbd0aa3ff5b5c4a9d9eeee630d>
refSha is <08f9f32076455ff75b59b41d7003927869082a3f>
refSha is <67b4b78858d9d9dd044f758a90a4270e48543cf1>
refSha is <c512b0344196931ad3a9a049eb3f5d3f05b09328>
refSha is <3d65a838c77f816527acf84c899419eb6825dcee>
refSha is <3521017556c5de4159da4615a39fa4d5d2c279b5>
refSha is <107e3d2b4d5b9ecd9a15a23ad1c64652b8b67ba9>
refSha is <10e5ae69eb6cdcdd149bb23e1e73131adf4ab3b7>
refSha is <b685b14cd9385e8b0f5742ebcd35ef8c8c12ec4d>
refSha is <bd67d7d845eb5ae929306dadd3dff41cf04ce004>
refSha is <5c857638d55bdd575d3f38bf3b99f1a2f99d3e46>
refSha is <4a6a394c62f33a3bf94badd6b14bc1f48647905f>
refSha is <c0f7d44ecba75d54a73ba542adde0ff80d2da03a>
refSha is <0c675e9d0b5f5d1fbb7b0169d71769993b225701>
refSha is <ca6cec9c5843d85d23b1184d584a11699d92e927>
refSha is <93ea4a9599564101be20507a3a756d38427a70ac>
refSha is <71c1a700da60da8cf99d586cc618c46fef201ed1>
refSha is <1ed91937e5cd59fdbdfa5f15f6fac132d2b21ce0>
refSha is <5f4cd4ca015dc795b9f7f4fed11b3f80a60ac175>
refSha is <112c4fd6b3fe400a075d575c0fe1a583aafe8f2c>
refSha is <dcd118f6b933d7a81739c3c4269e2bf4654e4a99>
refSha is <055e4ae3ae6eb344cbabf2a5256a49ea66040131>
refSha is <2d2846cd06fce719c35b58a8b81f7ae42f1986ca>
refSha is <781aab17fe544cbfcaba0f0ea5cacf7672717236>
[-- Attachment #3: log.old --]
[-- Type: application/x-trash, Size: 1590 bytes --]
next prev parent reply other threads:[~2005-12-16 0:36 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-13 0:24 qgit reports errors in the git repository Pavel Roskin
2005-12-13 1:06 ` Linus Torvalds
2005-12-15 5:27 ` Pavel Roskin
[not found] ` <e5bfff550512150501v48bb65abwf44b3fc21f33bdf6@mail.gmail.com>
2005-12-15 16:44 ` Pavel Roskin
[not found] ` <e5bfff550512151100k33a66db5tdb2eb1ff2da10a59@mail.gmail.com>
2005-12-16 0:35 ` Pavel Roskin [this message]
[not found] ` <e5bfff550512152258t3f7b2eb1i1c709572b18fe3f7@mail.gmail.com>
[not found] ` <1134757942.2248.11.camel@dv>
[not found] ` <e5bfff550512161247v4c187cc0gedae8234d454c3b6@mail.gmail.com>
2005-12-16 21:37 ` Junio C Hamano
2005-12-17 6:55 ` Junio C Hamano
[not found] ` <e5bfff550512170044v59f96262ica6511e981889ea9@mail.gmail.com>
2005-12-17 9:36 ` Junio C Hamano
2005-12-20 2:11 ` Pavel Roskin
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=1134693349.22652.22.camel@dv \
--to=proski@gnu.org \
--cc=git@vger.kernel.org \
--cc=mcostalba@gmail.com \
--cc=mcostalba@yahoo.it \
--cc=torvalds@osdl.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.