* fsck --full is Ok, but clones are not, "missing commits"?!
[not found] <20080416062925.8028e952@zebulon.innova-card.com>
@ 2008-04-16 6:37 ` Brian Foster
2008-04-16 9:14 ` David Kastrup
2008-05-05 4:25 ` Bryan Donlan
0 siblings, 2 replies; 9+ messages in thread
From: Brian Foster @ 2008-04-16 6:37 UTC (permalink / raw)
To: git
(many many apologies if this turns into a double post,
there seems to have been problems with the 1st attempt?)
I've recently inherited a bare git repository,
which, as far as I can tell (I'm something of
a newbie with git), seems Ok: `git fsck --full'
does not report any problems. however, any
clones I make from it are not Ok:
$ git-fsck --full # clone (same command for bare repo is Ok)
broken link from commit dd3f3c0636cfd50719c706b030db5473b0270add
to commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
missing commit fb57c018d15005b60f104e57f198ff34a6035b99
missing commit f8947cb0b5fe605e6cb5f73c89f262424b64ef3c
missing commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
missing commit dff364d8da15be0b856a174062fb785acb1c363e
broken link from commit 8700854c41a40d333e90104971c3abbbcf082e57
to commit b8b78d1c09e7009f97a1d624f4d771d7e5bd8551
missing commit ce33a5e8c32816f38862bc41560a1d646d0803a6
missing commit 91483db9b01b547ae9cc45c8c98b217642acb40a
missing commit b8b78d1c09e7009f97a1d624f4d771d7e5bd8551
broken link from commit c87c46fe892211f8aa4fd363ccff4f667a9aaf7d
to commit ce33a5e8c32816f38862bc41560a1d646d0803a6
broken link from commit fb5967688f7b464421cff28f266b64ad2a313a9e
to commit f8947cb0b5fe605e6cb5f73c89f262424b64ef3c
broken link from commit e5a60f1636cceac33777bb8098a0b7a4a136a56c
to commit fb57c018d15005b60f104e57f198ff34a6035b99
broken link from commit 2dcaaf2decd31ac9a21d616604c0a7c1fa65d5a4
to commit 91483db9b01b547ae9cc45c8c98b217642acb40a
broken link from commit 0ff75b3afff6fb306bef221bf1823ccf5ffc568b
to commit dff364d8da15be0b856a174062fb785acb1c363e
$
the Ok(?) bare repository only has a `master' branch.
it has numerous tags. AFAIK, it has been "inactive"
for the last c.6+ months (or longer?), except (maybe)
for browsing, probably with gitweb. there have been,
as far as I can tell, no commits or other "writes"
for the last c.6+ months.
to my extreme disgust, it was never(?!) backed-up,
except for one not entirely coincidental backup,
also c.6+ months ago. ;-( (this mind-boggling
silliness is being fixed ASAP!)
this is happening regardless of whether the clone
is made on the same machine or a different one,
regardless of the transport, and for both `--bare'
and not-bare clones. nothing fancy is being done
during the cloning: `git clone [--bare] DIR_or_URL'
a test (tried by someone else) using that one
backup apparently produced the same results: the
backup seems Ok, but clones made from it are not.
the missing commits are linux-mips.org/kernel.org
mergers (mostly). apologies for being vague here,
but I don't have my notes with me. ;-(
what is going on? I'm completely baffled! to-date,
nothing terribly obvious/similar has shown up in any
searches I've tried. (and there's nothing unusual in
/var/log/* that I can see.)
I've also no idea how to "fix" the problem.
explanations, suggestions, questions, &tc are all
very welcome. (please keep in mind my current level
of knowledge/experience about git is very weak. ;-\ )
this is all(?) using git 1.5.x (where the .x varies
depending on the machine in question); the distros
being used include ubuntu 7.10, FC-5, and probably
others. (I'll check the filesystem tomorrow, but
I believe it's sane.)
cheers!
-blf-
--
"How many surrealists does it take to | Brian Foster
change a lightbulb? Three. One calms | somewhere in south of France
the warthog, and two fill the bathtub | Stop E$$o (ExxonMobil)!
with brightly-coloured machine tools." | http://www.stopesso.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: fsck --full is Ok, but clones are not, "missing commits"?!
2008-04-16 6:37 ` Brian Foster
@ 2008-04-16 9:14 ` David Kastrup
2008-05-05 4:25 ` Bryan Donlan
1 sibling, 0 replies; 9+ messages in thread
From: David Kastrup @ 2008-04-16 9:14 UTC (permalink / raw)
To: git
Brian Foster <brian.foster@innova-card.com> writes:
> (many many apologies if this turns into a double post,
> there seems to have been problems with the 1st attempt?)
>
> I've recently inherited a bare git repository,
> which, as far as I can tell (I'm something of
> a newbie with git), seems Ok: `git fsck --full'
> does not report any problems. however, any
> clones I make from it are not Ok:
>
> $ git-fsck --full # clone (same command for bare repo is Ok)
> broken link from commit dd3f3c0636cfd50719c706b030db5473b0270add
> to commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
> missing commit fb57c018d15005b60f104e57f198ff34a6035b99
> missing commit f8947cb0b5fe605e6cb5f73c89f262424b64ef3c
> missing commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
> missing commit dff364d8da15be0b856a174062fb785acb1c363e
>From the git-clone manpage
--shared, -s
When the repository to clone is on the local machine,
instead of using hard links, automatically setup
.git/objects/info/alternates to share the objects with
the source repository. The resulting repository starts
out without any object of its own. NOTE: this is a
possibly dangerous operation; do not use it unless you
understand what it does. If you clone your repository
using this option, then delete branches in the source
repository and then run git-gc(1) using the --prune
option in the source repository, it may remove objects
which are referenced by the cloned repository.
Did you use something like that?
--
David Kastrup
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Re: fsck --full is Ok, but clones are not, "missing commits"?!
[not found] <200804161128.04245.brian.foster@innova-card.com>
@ 2008-04-16 9:45 ` Brian Foster
2008-04-16 11:26 ` Dmitry Potapov
0 siblings, 1 reply; 9+ messages in thread
From: Brian Foster @ 2008-04-16 9:45 UTC (permalink / raw)
To: git
David Kastrup <dak@gnu.org> sensibly asks:
> Brian Foster <brian.foster@innova-card.com> writes:
> > I've recently inherited a bare git repository,
> > which, as far as I can tell (I'm something of
> > a newbie with git), seems Ok: `git fsck --full'
> > does not report any problems. however, any
> > clones I make from it are not Ok:
> >
> > $ git-fsck --full # clone (same command for bare repo is Ok)
> > broken link from commit dd3f3c0636cfd50719c706b030db5473b0270add
> > to commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
> > missing commit fb57c018d15005b60f104e57f198ff34a6035b99
> > missing commit f8947cb0b5fe605e6cb5f73c89f262424b64ef3c
> > missing commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
> > missing commit dff364d8da15be0b856a174062fb785acb1c363e
>
> From the git-clone manpage
> --shared, -s [ ... ]
>
> Did you use something like that?
NO, not for any of the clones I've made. basically,
I've tried:
git clone git://SERVER/PATH # on a remote machine
git clone --bare git://SERVER/PATH # on a remote machine
git clone /FULL/PATH # on the SERVER
git clone --bare /FULL/PATH # on the SERVER
and possibly a few other variants along similar lines.
nothing fancy. just the sort of routine simple stuff
you'd expect to work, and expect(?) a newbie to use.
none of my clones, nor the repro on SERVER I'm trying
to clone, have any .../objects/info/alternates
cheers!
-blf-
--
"How many surrealists does it take to | Brian Foster
change a lightbulb? Three. One calms | somewhere in south of France
the warthog, and two fill the bathtub | Stop E$$o (ExxonMobil)!
with brightly-coloured machine tools." | http://www.stopesso.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: Re: fsck --full is Ok, but clones are not, "missing commits"?!
2008-04-16 9:45 ` Re: fsck --full is Ok, but clones are not, "missing commits"?! Brian Foster
@ 2008-04-16 11:26 ` Dmitry Potapov
0 siblings, 0 replies; 9+ messages in thread
From: Dmitry Potapov @ 2008-04-16 11:26 UTC (permalink / raw)
To: Brian Foster; +Cc: git
Hi Brian,
On Wed, Apr 16, 2008 at 11:45:39AM +0200, Brian Foster wrote:
> David Kastrup <dak@gnu.org> sensibly asks:
> > Brian Foster <brian.foster@innova-card.com> writes:
> > > I've recently inherited a bare git repository,
> > > which, as far as I can tell (I'm something of
> > > a newbie with git), seems Ok: `git fsck --full'
> > > does not report any problems. however, any
> > > clones I make from it are not Ok:
> > >
> > > $ git-fsck --full # clone (same command for bare repo is Ok)
> > > broken link from commit dd3f3c0636cfd50719c706b030db5473b0270add
> > > to commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
> > > missing commit fb57c018d15005b60f104e57f198ff34a6035b99
> > > missing commit f8947cb0b5fe605e6cb5f73c89f262424b64ef3c
> > > missing commit 0fed9c2eb14eee47097e1d870fe8e55a6430edeb
> > > missing commit dff364d8da15be0b856a174062fb785acb1c363e
I suspect your original git repository has info/grafts
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: fsck --full is Ok, but clones are not, "missing commits"?!
2008-04-16 6:37 ` Brian Foster
2008-04-16 9:14 ` David Kastrup
@ 2008-05-05 4:25 ` Bryan Donlan
[not found] ` <200805051608.55200.brian.foster@innova-card.com>
1 sibling, 1 reply; 9+ messages in thread
From: Bryan Donlan @ 2008-05-05 4:25 UTC (permalink / raw)
To: git
On Wed, Apr 16, 2008 at 08:37:39AM +0200, Brian Foster wrote:
> (many many apologies if this turns into a double post,
> there seems to have been problems with the 1st attempt?)
>
> I've recently inherited a bare git repository,
> which, as far as I can tell (I'm something of
> a newbie with git), seems Ok: `git fsck --full'
> does not report any problems. however, any
> clones I make from it are not Ok:
[snip]
> explanations, suggestions, questions, &tc are all
> very welcome. (please keep in mind my current level
> of knowledge/experience about git is very weak. ;-\ )
>
> this is all(?) using git 1.5.x (where the .x varies
> depending on the machine in question); the distros
> being used include ubuntu 7.10, FC-5, and probably
> others. (I'll check the filesystem tomorrow, but
> I believe it's sane.)
Is there an info/grafts file? If the repository doesn't have sensitive
information in it, it would probably be helpful to tarball it up and
upload it somewhere, so we can take a look at things directly.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: fsck --full is Ok, but clones are not, "missing commits"?!
[not found] ` <200805051608.55200.brian.foster@innova-card.com>
@ 2008-05-05 14:44 ` Brian Foster
2008-05-05 15:12 ` Johannes Sixt
0 siblings, 1 reply; 9+ messages in thread
From: Brian Foster @ 2008-05-05 14:44 UTC (permalink / raw)
To: git; +Cc: Bryan Donlan
On Monday 05 May 2008 06:25:46 Bryan Donlan asked:
> On Wed, Apr 16, 2008 at 08:37:39AM +0200, Brian Foster wrote:
> > I've recently inherited a bare git repository,
> > which, as far as I can tell (I'm something of
> > a newbie with git), seems Ok: `git fsck --full'
> > does not report any problems. however, any
> > clones I make from it are not Ok [ ... ]
>
> Is there an info/grafts file? If the repository doesn't have sensitive
> information in it, it would probably be helpful to tarball it up and
> upload it somewhere, so we can take a look at things directly.
Bryan,
Yes, the proximate cause was an info/grafts.
The repository in question is for a port of Linux
to the MIPS-based "secure" SoC made by the company
I work for. The repository was very simple:
master: o---o---o---o---o--...--o HEAD
where each `o' was a tagged version/release of the
Linux port. Since the chip is MIPS-based, some `o'
were the result of merges with mips-linux baseline.
Hence, the real history was, broadly:
master: o--o--o--o--o--o-----o--...--o
/ / / /
mips-linux: o--o--o----o------o--o--o--o--...--o
where, of course, `mips-linux' has its own rather
complicated history (not shown). As implied by
the diagrams above, grafts were used to "suppress"
mips-linux and its history. (Since the situation
really was as trivial as drawn above, it was easy
to recover: Add the pack representing mips-linux,
remove grafts, and ensure all the tags exist.)
What I don't know is the root-cause, that is, WHY
this was done. It wasn't a disc-space issue, and
I've no evidence it was a network-bandwidth issue,
but there is some anecdotal evidence it was some
sort of a CPU-cycles issue, albeit just what the
performance hit was is unknown.
Another possibility is the repository started life
as CVS (ugh!) before being migrated to git. It's
my (vague) understanding grafts is somehow useful
as a (temporary?) aid when doing a CVS-->git move;
and I speculate it was found so useful/simple the
practice simply continued.
The developers tended to work from tarballs (not
clones), so the cloning problem was either unknown,
not a concern, or mis-understood.
cheers!
-blf-
--
"How many surrealists does it take to | Brian Foster
change a lightbulb? Three. One calms | somewhere in south of France
the warthog, and two fill the bathtub | Stop E$$o (ExxonMobil)!
with brightly-coloured machine tools." | http://www.stopesso.com
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: fsck --full is Ok, but clones are not, "missing commits"?!
2008-05-05 14:44 ` Brian Foster
@ 2008-05-05 15:12 ` Johannes Sixt
[not found] ` <200805061231.30135.brian.foster@innova-card.com>
0 siblings, 1 reply; 9+ messages in thread
From: Johannes Sixt @ 2008-05-05 15:12 UTC (permalink / raw)
To: Brian Foster; +Cc: git, Bryan Donlan
Brian Foster schrieb:
> What I don't know is the root-cause, that is, WHY
> this was done. It wasn't a disc-space issue, and
> I've no evidence it was a network-bandwidth issue,
> but there is some anecdotal evidence it was some
> sort of a CPU-cycles issue, albeit just what the
> performance hit was is unknown.
How about this theory:
What happens if you fire up gitk as simple as
$ gitk
in the history if no grafts are present? Some months ago this took ages to
complete, and even today you get a *huge* list of commits in a *short*
window; hence, the scrollbar thumb is tiny, and if you succeed to get hold
of it without a magnifying glass, it scrolls way more than a page of
commits if you move it by only one pixel.
No wonder that $user wants to have a shorter history. So $user, being
smart, truncates the history at a suitable point with a graft.
-- Hannes
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: fsck --full is Ok, but clones are not, "missing commits"?!
[not found] ` <200805061231.30135.brian.foster@innova-card.com>
@ 2008-05-06 10:58 ` Brian Foster
2008-05-06 11:12 ` Johannes Sixt
0 siblings, 1 reply; 9+ messages in thread
From: Brian Foster @ 2008-05-06 10:58 UTC (permalink / raw)
To: git; +Cc: Johannes Sixt, Bryan Donlan
Johannes Sixt wrote:
> Brian Foster schrieb:
> > What I don't know is the root-cause, that is, WHY
> > this was done. [ ... ] there is some anecdotal
> > evidence it was some sort of a CPU-cycles issue,
> > albeit just what the performance hit was is unknown.
>
> How about this theory:
>
> What happens if you fire up gitk as simple as
>
> $ gitk
>
> in the history if no grafts are present? Some months ago this took ages to
> complete, and even today you get a *huge* list of commits in a *short*
> window; hence, the scrollbar thumb is tiny, and if you succeed to get hold
> of it without a magnifying glass, it scrolls way more than a page of
> commits if you move it by only one pixel.
>
> No wonder that $user wants to have a shorter history. So $user, being
> smart, truncates the history at a suitable point with a graft.
Hannes,
Unfortunately, I cannot fire up `gitk' in the exact
same configuration anymore (that server machine is now
being used for other purposes, albeit I'm supposed to
get the hard disc). The git on the now-vanished server
was v1.5.3, but that's probably not relevant, since the
repository must have been created with a much older git
(it goes back multiple years).
All the (now-)installed gits I've seen are 1.5.<something>.
I do not see any noticeable performance issue with 1.5.2.5
(nor with 1.5.5)? The scrollbar is, as you say, unusable.
But how important is `gitk'? Is it something that'd be
used frequently enough for the formerly-poor performance
to be such an issue that creating and maintaining such a
"truncated" repository is worthwhile?
It's an interesting and plausible hypothesis, but (in
the absence of any actual evidence) I'd be more inclined
to buy it if there was some frequent/critical operation
where poor performance clearly matters.
cheers!
-blf-
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: fsck --full is Ok, but clones are not, "missing commits"?!
2008-05-06 10:58 ` Brian Foster
@ 2008-05-06 11:12 ` Johannes Sixt
0 siblings, 0 replies; 9+ messages in thread
From: Johannes Sixt @ 2008-05-06 11:12 UTC (permalink / raw)
To: Brian Foster; +Cc: git, Bryan Donlan
Brian Foster schrieb:
> Johannes Sixt wrote:
>> What happens if you fire up gitk as simple as
>>
>> $ gitk
>>
>> in the history if no grafts are present? Some months ago this took ages to
>> complete, and even today you get a *huge* list of commits in a *short*
>> window; hence, the scrollbar thumb is tiny, and if you succeed to get hold
>> of it without a magnifying glass, it scrolls way more than a page of
>> commits if you move it by only one pixel.
>>
>> No wonder that $user wants to have a shorter history. So $user, being
>> smart, truncates the history at a suitable point with a graft.
>
> Hannes,
>
> Unfortunately, I cannot fire up `gitk' in the exact
> same configuration anymore (that server machine is now
> being used for other purposes, albeit I'm supposed to
> get the hard disc). The git on the now-vanished server
> was v1.5.3, but that's probably not relevant, since the
> repository must have been created with a much older git
> (it goes back multiple years).
>
> All the (now-)installed gits I've seen are 1.5.<something>.
> I do not see any noticeable performance issue with 1.5.2.5
> (nor with 1.5.5)? The scrollbar is, as you say, unusable.
For me, the unusable scrollbar alone would be reason enough to truncate
the history. Once it is truncated, performance is no longer an issue
(whether or not it was an issue in the first place).
> But how important is `gitk'? Is it something that'd be
> used frequently enough for the formerly-poor performance
> to be such an issue that creating and maintaining such a
> "truncated" repository is worthwhile?
Well, I have gitk running all the time. So, yes, it is "important." But I
run it basically as 'gitk --all --not origin' and press F5 frequently.
With this set of arguments the scrollbar remains usable, and performance
is not an issue, even on Windows.
-- Hannes
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2008-05-06 11:14 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200804161128.04245.brian.foster@innova-card.com>
2008-04-16 9:45 ` Re: fsck --full is Ok, but clones are not, "missing commits"?! Brian Foster
2008-04-16 11:26 ` Dmitry Potapov
[not found] <20080416062925.8028e952@zebulon.innova-card.com>
2008-04-16 6:37 ` Brian Foster
2008-04-16 9:14 ` David Kastrup
2008-05-05 4:25 ` Bryan Donlan
[not found] ` <200805051608.55200.brian.foster@innova-card.com>
2008-05-05 14:44 ` Brian Foster
2008-05-05 15:12 ` Johannes Sixt
[not found] ` <200805061231.30135.brian.foster@innova-card.com>
2008-05-06 10:58 ` Brian Foster
2008-05-06 11:12 ` Johannes Sixt
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).