* 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
[parent not found: <20080416062925.8028e952@zebulon.innova-card.com>]
* 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: 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
[parent not found: <200805051608.55200.brian.foster@innova-card.com>]
* 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
[parent not found: <200805061231.30135.brian.foster@innova-card.com>]
* 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).