[haiku-development] Re: Begeistert warmup: Git migration, releases

  • From: Alex Wilson <yourpalal2@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Fri, 28 Oct 2011 16:24:26 -0600

On 10/28/11, Oliver Tappe <zooey@xxxxxxxxxxxxxxx> wrote:
>
>  Hi Alex,
>
>  my motivation to contribute to yet another DVCS discussion is pretty
>  low, so I'd
>  just like to comment on the actual problems you've mentioned.

That's fine, in fact, I can empathize with you there. I only bring it
up now because I have some new insight into the matter, and I wanted
to contribute that to the group before discussion on the topic starts
at BG.

>  Am Freitag, den 28.10.2011, 13:54 +0200 schrieb Alex Wilson
>  <yourpalal2@xxxxxxxxx>:
>  [ ... ]
>>
>> Unfortunately, my experiences have been a bit of a mixed bag. Git and
>> github are great, but I already knew that. What's not so great is the
>> how either of them handle our 40k 'lightweight' tags. Unfortunately,
>> even after executing git pack-refs --all, things go *really* slowly
>> for me. Granted, I don't have a powerful processor (it's an atom) but
>> I don't think one should need a powerful processor to run 'git
>> status'. Git simply isn't built to handle this many tags.
>> Incidentally, neither is github, and the repository view hangs in
>> Web+
>> when trying to view my repo.
>
>  Just a couple of days ago, I have dropped all tags from Haiku's github
>  and gitorious mirrors,
>  so one way to get rid of the tags is to fork again.

Yeah, that's what I ended up doing. (For future reference, how did you
drop all the tags? The only method I could find was to delete them one
by one, and even with a script, this seemed pretty slow).

>  I don't know what makes git so slow for you, maybe it's the slow CPU,
>  but I haven't
>  experienced anything like that with packed tags. Just to check - after
>  you've packed
>  the tags, the folder .git/refs/tags should be empty and all the tags
>  should be in
>  .git/packed-refs - is that the case?

It is indeed. It could be a combination of slow stat(), slow processor
and tags that was causing problems for me. At any rate, after packing
the tags, I deleted them all, and things _felt_ faster (doesn't mean
they were, of course).

>> What frustrates me the most about these tags is that they are
>> basically useless.
>
>  As is obvious from my previous posts on that topic, I don't agree.

I think I could have phrased that better. The goal in creating the
tags is admirable, but they simply don't meet the intended purpose.
You can't tell much at all about the configuration of a build by
looking at such a simple tag unless you know that the builder hasn't
made any modifications. Essentially, these tags only do their jobs on
nightly builds, which means that having a tag on every single revision
is overkill.

The other problem is that a commit in my fork that gets pushed to
master might be tagged as 'hrev43210', but in my repo, it could come
before 'hrev43200' for instance. If the tags lose all meaning when
you're not looking at the haiku master repo, we might as well just
stick with svn.

--Alex

Other related posts: