public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Phil Muldoon <pmuldoon@redhat.com>
To: "Joseph S. Myers" <joseph@codesourcery.com>
Cc: gdb@sourceware.org
Subject: Re: GIT and CVS
Date: Thu, 13 Oct 2011 23:14:00 -0000	[thread overview]
Message-ID: <m3botkmqn3.fsf@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1110132135270.23193@digraph.polyomino.org.uk>	(Joseph S. Myers's message of "Thu, 13 Oct 2011 21:50:33 +0000 (UTC)")

"Joseph S. Myers" <joseph@codesourcery.com> writes:

> On Thu, 13 Oct 2011, Phil Muldoon wrote:
>
>> "Joseph S. Myers" <joseph@codesourcery.com> writes:
>> 
>> > On Thu, 13 Oct 2011, Phil Muldoon wrote:
>> >
>> >> So why are we still on CVS?  I'm not a release manager, so I do not have
>> >
>> > Because the complications associated with having many projects in the same 
>> > repository are a lot of work to disentangle, and it is a lot of work to do 
>> > the conversion (including all the infrastructure scripts, user 
>> > instructions etc.) for any one project.
>> >
>> > I think binutils+gdb is the right unit to aim for getting into a separate 
>> > repository, as discussed in 
>> > <http://gcc.gnu.org/ml/gcc/2011-03/msg00486.html>.
>> 
>> Ok, thanks for your response.  Beyond the reason why they were in the
>> same repository for how many years, why do they still have to be?
>> 
>> I can understand that projects so closely involved need to be in
>> lock-step in their release objectives, but with healthy communities for
>> each project, do they need to be still?
>
> I've given my arguments many times before in past threads.  In essence:
>
> * normal operations (checkouts, updates, tagging etc.) should be done in 
> the normal way for the relevant version control systems, and the 
> non-transparency of various systems for grafting pieces from different 
> repositories tends to rule those out;

I agree on the branching, but I do not understand why GDB has to be
tagged/branched in tandem with other projects.  We survive OK with the
disparate GCC versions, as well as GLIBC and other close dependencies.


> * that a normal operation ("cvs update -d") doesn't work properly is one 
> of the serious problems with the present system;

This really catches a lot of newbies out, myself included.

>
> * commits affecting both BFD and its clients are normal operations.
>
> So I think putting the BFD users together with BFD is right - but I think 
> a separate master repository for the shared toplevel files is also right 
> (with hooks in other repositories to check for attempts to commit changes 
> to shared files - on the mainline - that aren't just merges from the 
> separate master).  The alternative for toplevel is the DVCSly pure 
> approach with all repositories equal and no one master, but I think that 
> would work less well in practice.

BFD is an important part of the GDB setup, no doubt it is.  But has
anyone (myself included), talked to the community about it?  Is there
any reason why BFD cannot be an external dependency?  GCC, as an
external dependency has far more radical design shifts, I think, than
BFD, and we cope just fine.


>> I think though, I am missing the point.  If GDB decides, on its own, to
>> go with GIT, what happens to the other projects?  What are the outcomes?
>
> Synchronizing BFD would be a great pain.  For the projects other than 
> binutils, I think they could continue just fine if gdb+binutils moves out 
> (though with more toplevel pain if proper procedures aren't set up for 
> keeping toplevel in sync).

I think really, we need to understand the relationship with BFD more
deeply.  If we are such in lock-step, then I agree a dual effort should
be undertaken.  I'm not sure I truly understand why this dependency has
to be managed internally, over every other dependency that GDB has to
cope with to be built.

>> I nearly decided to delete that line from the email as I did not want to
>> dilute the arguments.  I wrote the ChangeLog parser for Eclipse as I found
>> ChangeLogs tiresome to write when history basically replaced it.  I must
>> admit, even when I hack on emacs, it is still a pain.  I'll continue to
>> do it, if people find it useful.  However, git log is very, highly
>> configurable.  The options are very broad.  And, as you can generate a
>> git log from a local repository, the NFS thing should not be too
>> difficult to overcome?
>
> Even with local disk, git is much more I/O intensive.  I timed looking at 
> logs from a glibc checkout on local disk:
>
> $ time git log > /dev/null
>
> real    0m18.324s
> user    0m0.560s
> sys     0m0.304s
> $ time cat ChangeLog* > /dev/null
>
> real    0m0.314s
> user    0m0.000s
> sys     0m0.012s

From a metric point of view, yes your numbers point to your argument.
But 18 seconds in the real world? How do those numbers compare with CVS?
I think I want to divorce the argument with ChangeLogs.  That was
something, I regret, putting in.  If we have to put ChangeLogs with GIT
so be it, I can live with that.

>
> That's nearly 60 times slower.  And apart from I/O cost the point remains 
> that it is useful to have this information in tarballs and ad hoc 
> snapshots, separated from the version control system and possibly imported 
> into another.  I'd be glad to *expand* ChangeLogs - add information about 
> *why* changes were made to the existing *what* - and so make them more 
> useful, but they are useful anyway.

If we have to continue ChangeLogs, so be it.  I am willing to make that
concession.

Cheers,

Phil

  parent reply	other threads:[~2011-10-13 23:14 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-13 19:37 Phil Muldoon
2011-10-13 20:21 ` Joseph S. Myers
2011-10-13 20:55   ` Phil Muldoon
2011-10-13 21:33     ` DJ Delorie
2011-10-13 21:44       ` Phil Muldoon
2011-10-13 21:43     ` Alfred M. Szmidt
2011-10-13 21:51       ` Jan Kratochvil
2011-10-13 22:08         ` Eli Zaretskii
2011-10-13 22:25           ` Jan Kratochvil
2011-10-13 22:41             ` Alfred M. Szmidt
2011-10-13 22:44             ` Alfred M. Szmidt
2011-10-14 10:31             ` Eli Zaretskii
2011-10-13 22:19         ` Alfred M. Szmidt
2011-10-13 22:45           ` Jan Kratochvil
2011-10-13 23:37             ` Alfred M. Szmidt
2011-10-14  5:56               ` Jan Kratochvil
2011-10-14  6:51                 ` Alfred M. Szmidt
2011-10-13 23:03       ` Phil Muldoon
2011-10-13 23:51         ` Alfred M. Szmidt
2011-10-14  6:01           ` Jan Kratochvil
2011-10-14  6:52             ` Alfred M. Szmidt
2011-10-14  7:01               ` Jan Kratochvil
2011-10-14  7:13                 ` Alfred M. Szmidt
2011-10-14 15:39                 ` Joseph S. Myers
2011-10-14 15:49                   ` Jan Kratochvil
2011-10-13 21:51     ` Joseph S. Myers
2011-10-13 21:59       ` Jan Kratochvil
2011-10-13 22:08         ` Joseph S. Myers
2011-10-13 22:17         ` Eli Zaretskii
2011-10-14  5:03           ` Joel Brobecker
2011-10-14  8:04             ` Eli Zaretskii
2011-10-13 23:14       ` Phil Muldoon [this message]
2011-10-13 23:56         ` Joseph S. Myers
2011-10-14  6:04           ` Jan Kratochvil
2011-10-13 21:58 ` Eli Zaretskii
2011-10-13 23:20   ` Phil Muldoon
2011-10-14  8:13     ` Eli Zaretskii
2011-10-14 10:23       ` Mark Kettenis
2011-10-14 10:55         ` Eli Zaretskii
2011-10-14 14:09           ` Li, Rongsheng
2011-10-14 12:54         ` Jan Kratochvil
2011-10-14 13:07           ` Jonas Maebe
2011-10-14 14:26           ` Eli Zaretskii
2011-10-14 14:32             ` Jan Kratochvil
2011-10-14 15:05             ` Phil Muldoon
2011-10-14 15:21               ` Eli Zaretskii
2011-10-14 14:52         ` Phil Muldoon
2011-10-14 15:05           ` Eli Zaretskii
2011-10-14 15:47             ` Jonas Maebe
2011-10-14 16:12             ` Andreas Schwab
2011-10-14 16:20             ` Andreas Schwab
2011-10-14 16:25               ` Eli Zaretskii
2011-10-14 17:06                 ` Matt Rice
2011-10-14 17:25                   ` Eli Zaretskii
2011-11-11 21:00         ` Steinar Bang
2011-11-12  8:30           ` Eli Zaretskii
2011-11-12 15:30             ` Steinar Bang
2011-10-14  5:10 ` Joel Brobecker
2011-10-14 15:38   ` Joseph S. Myers
2011-10-14 12:36 ` André Pönitz
2011-10-14 14:19   ` Eli Zaretskii
2011-10-14 15:02     ` Phil Muldoon
2011-10-14 15:16       ` Eli Zaretskii
2011-10-14 16:59     ` André Pönitz
2011-10-14 14:58   ` Phil Muldoon
2011-10-14 15:02     ` Paul_Koning
2011-10-16 15:04       ` Ralf Corsepius
2011-10-14 16:10     ` André Pönitz
2011-11-11 22:50 ` Pedro Larroy
2011-11-12  8:28   ` Steinar Bang
2011-11-13  0:05     ` John Hein
2011-11-15 15:02   ` Tom Tromey
2011-11-16 16:59     ` Christopher Faylor

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=m3botkmqn3.fsf@redhat.com \
    --to=pmuldoon@redhat.com \
    --cc=gdb@sourceware.org \
    --cc=joseph@codesourcery.com \
    /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 read-only IMAP folder(s) and NNTP newsgroup(s).