* time to be serious about dropping CVS
@ 2010-01-01 8:02 Joel Brobecker
2010-01-01 8:35 ` Eli Zaretskii
` (4 more replies)
0 siblings, 5 replies; 39+ messages in thread
From: Joel Brobecker @ 2010-01-01 8:02 UTC (permalink / raw)
To: gdb, binutils
Hello everyone,
Happy New Year!
Since I started using SVN, and even more so since I started using git,
I have found that using CVS is very inconvenient, bordering on unbearable.
But now that I'm making massive mechanical changes (Start of New Year
procedure), I am really having a hard time accepting it - Just to do a diff
in order to verify my changes took 11mins. Same for the commit. Another
smaller diff aborted 2mins after I started it because I made a mistake
in the command line.
There is no reason why every contributor should be continuing to waste
more time because we're stuck with an outdated tool.
I am prepared to do whatever it takes to switch to either SVN or git.
The problem is that i don't know how to solve the one sticky issue
of partial-checkouts :-).
Right now, git is so much more powerful and fast, that I will personally
focus on a transition to git. What I'd like to do is for a group of
motivated contributors to form a "task force" whose goal is to come up
with possible suggestions on how to transition, and then offer them up
for review, with pros and cons, to the maintainers of the affected
projects. Target date - I'm thinking sometime during the summer,
maybe the GCC Summit? At the very latest, end of year 2010.
Anyone interested, please email me.
--
Joel
^ permalink raw reply [flat|nested] 39+ messages in thread* Re: time to be serious about dropping CVS 2010-01-01 8:02 time to be serious about dropping CVS Joel Brobecker @ 2010-01-01 8:35 ` Eli Zaretskii 2010-01-01 9:00 ` Joel Brobecker 2010-01-01 15:39 ` Matthias Urlichs 2010-01-01 10:26 ` Mark Kettenis ` (3 subsequent siblings) 4 siblings, 2 replies; 39+ messages in thread From: Eli Zaretskii @ 2010-01-01 8:35 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, binutils > Date: Fri, 1 Jan 2010 12:01:37 +0400 > From: Joel Brobecker <brobecker@adacore.com> > > Right now, git is so much more powerful and fast, that I will personally > focus on a transition to git. If it is going to be git, then I would request to set up a two-way (i.e., writable) gateway for bzr, cvs, or svn (in that order of preference). All of my GDB related work is done on a Windows machine at home, with native Windows tools, and I have no resources to deal with the complications that are imminent when a Windows (MSYS) port of git is installed in parallel to an otherwise native win32 development environment. If none of such gateways will be available when CVS access is shut down, I will regretfully resign from my GDB-related development work. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 8:35 ` Eli Zaretskii @ 2010-01-01 9:00 ` Joel Brobecker 2010-01-01 10:34 ` Eli Zaretskii 2010-01-01 15:39 ` Matthias Urlichs 1 sibling, 1 reply; 39+ messages in thread From: Joel Brobecker @ 2010-01-01 9:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: gdb, binutils > If it is going to be git, then I would request to set up a two-way > (i.e., writable) gateway for bzr, cvs, or svn (in that order of > preference). Understood, we will keep this in mind. Note for the record, that I regularly do changes on Windows machines, and the cygwin git has been working just fine. It's not as fast as on a Linux machine, but still very much faster than anything else. -- Joel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 9:00 ` Joel Brobecker @ 2010-01-01 10:34 ` Eli Zaretskii 0 siblings, 0 replies; 39+ messages in thread From: Eli Zaretskii @ 2010-01-01 10:34 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, binutils > Date: Fri, 1 Jan 2010 12:59:24 +0400 > From: Joel Brobecker <brobecker@adacore.com> > Cc: gdb@sourceware.org, binutils@sources.redhat.com > > > If it is going to be git, then I would request to set up a two-way > > (i.e., writable) gateway for bzr, cvs, or svn (in that order of > > preference). > > Understood, we will keep this in mind. Note for the record, that > I regularly do changes on Windows machines, and the cygwin git has > been working just fine. That's just it: I cannot afford to install Cygwin and keep it in workable shape, in parallel to native MinGW based development environment. I simply don't have enough free time for that. What little resources I have, I must use most of them for productive work, not for tinkering with two subtly conflicting development environments. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 8:35 ` Eli Zaretskii 2010-01-01 9:00 ` Joel Brobecker @ 2010-01-01 15:39 ` Matthias Urlichs 2010-01-01 15:49 ` Eli Zaretskii 1 sibling, 1 reply; 39+ messages in thread From: Matthias Urlichs @ 2010-01-01 15:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Joel Brobecker, gdb, binutils On Fri, 2010-01-01 at 10:37 +0200, Eli Zaretskii wrote: > If it is going to be git, then I would request to set up a two-way > (i.e., writable) gateway for bzr, cvs, or svn (in that order of > preference). git comes with a two-way CVS gateway. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 15:39 ` Matthias Urlichs @ 2010-01-01 15:49 ` Eli Zaretskii 0 siblings, 0 replies; 39+ messages in thread From: Eli Zaretskii @ 2010-01-01 15:49 UTC (permalink / raw) To: Matthias Urlichs; +Cc: brobecker, gdb, binutils > From: Matthias Urlichs <matthias@urlichs.de> > Cc: Joel Brobecker <brobecker@adacore.com>, gdb@sourceware.org, binutils@sources.redhat.com > Date: Fri, 01 Jan 2010 16:39:15 +0100 > > On Fri, 2010-01-01 at 10:37 +0200, Eli Zaretskii wrote: > > If it is going to be git, then I would request to set up a two-way > > (i.e., writable) gateway for bzr, cvs, or svn (in that order of > > preference). > > git comes with a two-way CVS gateway. Thanks, that'd be fine with me. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 8:02 time to be serious about dropping CVS Joel Brobecker 2010-01-01 8:35 ` Eli Zaretskii @ 2010-01-01 10:26 ` Mark Kettenis 2010-01-01 10:46 ` Andreas Schwab ` (2 more replies) 2010-01-01 13:00 ` Joseph S. Myers ` (2 subsequent siblings) 4 siblings, 3 replies; 39+ messages in thread From: Mark Kettenis @ 2010-01-01 10:26 UTC (permalink / raw) To: brobecker; +Cc: gdb, binutils > Date: Fri, 1 Jan 2010 12:01:37 +0400 > From: Joel Brobecker <brobecker@adacore.com> > > Hello everyone, > > Happy New Year! > > Since I started using SVN, and even more so since I started using git, > I have found that using CVS is very inconvenient, bordering on unbearable. > But now that I'm making massive mechanical changes (Start of New Year > procedure), I am really having a hard time accepting it - Just to do a diff > in order to verify my changes took 11mins. Same for the commit. Another > smaller diff aborted 2mins after I started it because I made a mistake > in the command line. > > There is no reason why every contributor should be continuing to waste > more time because we're stuck with an outdated tool. SVN is acceptable. I simply cannot wrap my head around git. I've tried. There's no equivalent of a quick "cvs update" of a checked out tree that contains modifications. And I can't get myself to commit half-finished or half-tested changes to a local repo. And even when I get over that barrier I'd need to think for a couple of minutes to write an appopriate commit message. So instead I find myself moving modified source files out of my tree, spending half an hour browsing the web to figure out how I can get back the origional unmodified source file, update the tree, compare the new source file with the one I saved and applying the changes by hand. If we switch to using git, I'll probably stop contributing to GDB. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 10:26 ` Mark Kettenis @ 2010-01-01 10:46 ` Andreas Schwab 2010-01-01 11:03 ` Joel Brobecker 2010-01-01 16:06 ` Matthias Urlichs 2 siblings, 0 replies; 39+ messages in thread From: Andreas Schwab @ 2010-01-01 10:46 UTC (permalink / raw) To: Mark Kettenis; +Cc: brobecker, gdb, binutils Mark Kettenis <mark.kettenis@xs4all.nl> writes: > There's no equivalent of a quick "cvs update" of a checked out tree > that contains modifications. And I can't get myself to commit > half-finished or half-tested changes to a local repo. That's what "git stash" is for. Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 10:26 ` Mark Kettenis 2010-01-01 10:46 ` Andreas Schwab @ 2010-01-01 11:03 ` Joel Brobecker 2010-01-01 16:06 ` Matthias Urlichs 2 siblings, 0 replies; 39+ messages in thread From: Joel Brobecker @ 2010-01-01 11:03 UTC (permalink / raw) To: Mark Kettenis; +Cc: gdb, binutils > I simply cannot wrap my head around git. I understand how you feel, since I went through the same process, particularly since I started using it a while ago, when the user interface was, er, rough. Fortunately, it has come a long way and is a lot better, now. I will not deny that learning git takes a bit of effort. But, I truly wholeheartedly believe that the initial pain is well worth the effort, because it's going to help save so much time later - everything is easier and faster with git. There's just this initial hump at the beginning. There is a great book for learning git relatively quickly, and it is even available on the web: Pro git. It's one of the rare books that I read from cover to cover. http://progit.org/ That being said, we can help you in a way that you will not have to learn much git. If we ever switch to git, we will provide a detailed procedure, recipes really, on how to do with git all the usual operations that most contributors need. For instance, to put your changes aside, just "git stash". To reapply them again: "git stash pop". But you'll soon learn that even that is not easy enough, and before you know it, you'll naturally be using branches. If you're managing a set of patches (eg for a new port, or a new feature), you'll love "git rebase". > If we switch to using git, I'll probably stop contributing to GDB. We'll have ways to allow you to work comfortably, be it SVN or a git-cvs server. -- Joel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 10:26 ` Mark Kettenis 2010-01-01 10:46 ` Andreas Schwab 2010-01-01 11:03 ` Joel Brobecker @ 2010-01-01 16:06 ` Matthias Urlichs 2010-01-01 17:57 ` H.J. Lu 2 siblings, 1 reply; 39+ messages in thread From: Matthias Urlichs @ 2010-01-01 16:06 UTC (permalink / raw) To: Mark Kettenis; +Cc: brobecker, gdb, binutils On Fri, 2010-01-01 at 11:25 +0100, Mark Kettenis wrote: > There's no equivalent of a quick "cvs update" of a checked out > tree that contains modifications. That's a bad habit from CVS/SVN usage which you should train yourself out of. It's the cause of many a "my half-tested changes don't work at all after the cvs update, how the hell do I figure out what went wrong" trap I've fallen into before switching to git. No longer: a script which runs a git_bisect/apply_my_change/test/repeat-until-culprit-is-found is so cheap that I write it from scratch every time I need it. This, by the way, is just one command where git _really_ shines. Consider: You just updated from GCC 4.3 to 4.4. One of your tests shows a regression. You want to figure out which of the 4527 patches and/or 293 merges which went into 4.4 caused it, so as to fix the regression and/or render a qualified bug report and/or figure out how to circumvent the problem. With "git bisect", this requires less than 15 compile/test cycles (ceil(log2(4527+293))) and can be fully automated. (Yes, the numbers of patches and merges are made up.) > And I can't get myself to commit half-finished or half-tested changes > to a local repo. Somebody else already mentioned "git stash". Writing a small script which does a stash/merge/stash_pop, or a commit/merge/rebase, is trivial. Problem solved. SVN is _not_ acceptable for anybody who ever tried to do nontrivial work when disconnected, e.g. on an airplane. Among other problems. Please select a distributed VCS. SVN is not. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 16:06 ` Matthias Urlichs @ 2010-01-01 17:57 ` H.J. Lu 0 siblings, 0 replies; 39+ messages in thread From: H.J. Lu @ 2010-01-01 17:57 UTC (permalink / raw) To: Matthias Urlichs; +Cc: Mark Kettenis, brobecker, gdb, binutils On Fri, Jan 1, 2010 at 8:05 AM, Matthias Urlichs <matthias@urlichs.de> wrote: > SVN is _not_ acceptable for anybody who ever tried to do nontrivial work > when disconnected, e.g. on an airplane. Among other problems. > > Please select a distributed VCS. SVN is not. > > Agreed. I have switched my gcc, binutils, gdb and glibc work to git. It is so much better than svn. I regularly work on N different patches, each on a different branch, at the same time. When they are done, I create a new branch from trunk and do # git merge to merge them with minimum editing so that I can test them together. When something goes wrong, I can fix it on problem branches and do another merge. "git revert" was also nice. I have used it more than once when I checked in something which was totally broken. BTW, I found this http://cheat.errtheblog.com/s/git was helpful to me. -- H.J. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 8:02 time to be serious about dropping CVS Joel Brobecker 2010-01-01 8:35 ` Eli Zaretskii 2010-01-01 10:26 ` Mark Kettenis @ 2010-01-01 13:00 ` Joseph S. Myers 2010-01-01 14:18 ` Joel Brobecker 2010-01-08 12:58 ` Phil Muldoon 2010-12-20 17:35 ` Joseph S. Myers 4 siblings, 1 reply; 39+ messages in thread From: Joseph S. Myers @ 2010-01-01 13:00 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, binutils Since you sent this to the GDB and Binutils lists, I'll just repeat one point from my previous comments, which are all in the list archives. Do not try to plan a transition for the whole src repository. Try to plan one for GDB and Binutils together at most [*], on the basis that other projects such as Cygwin and Newlib should choose their own version control systems in their own way and at such times as are convenient to them. Thus you should operate on the basis that the shared toplevel files will always need merging between multiple repositories using multiple version control systems, simply because the various projects using them are independently run and should not be constrained to use a single system. My suggestion is to handle the shared toplevel files in a DVCS-pure way - no one master repository, changes committed to any repository get merged to the others automatically. But a separate master for them with all commits to them in the trunk of other repositories being rejected unless marked as merges from the master would be reasonable as well - as long as you don't constrain the repositories all to use the same VCS. [*] I leave open the question of whether Insight is considered part of GDB here - though making it a GDB branch rather than something present on the trunk might be a possibility with a VCS with better merging than CVS. I consider sim part of GDB here. I consider the cpu/ directory as part of binutils (necessarily, as the source code of some binutils files), but cgen/ as a separate project. I do not think there should be tcl/ and tk/ directories in the new GDB repository. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 13:00 ` Joseph S. Myers @ 2010-01-01 14:18 ` Joel Brobecker 2010-01-02 18:11 ` Christopher Faylor 0 siblings, 1 reply; 39+ messages in thread From: Joel Brobecker @ 2010-01-01 14:18 UTC (permalink / raw) To: Joseph S. Myers; +Cc: gdb, binutils Thanks for the suggestions! > Do not try to plan a transition for the whole src repository. Try to plan > one for GDB and Binutils together at most [*], on the basis that other > projects such as Cygwin and Newlib should choose their own version control > systems in their own way and at such times as are convenient to them. I would be happy with such an approach - in fact, I think that makes the task easier too, since we'd have fewer groups to coordinate. > My suggestion is to handle the shared toplevel files in a DVCS-pure way - > no one master repository, changes committed to any repository get merged > to the others automatically. I think GCC has something more or less similar where they have a semi- automated merge mechanism? That would perfectly work for me. -- Joel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 14:18 ` Joel Brobecker @ 2010-01-02 18:11 ` Christopher Faylor 2010-01-02 19:08 ` Christopher Faylor 2010-01-03 13:52 ` Matthias Urlichs 0 siblings, 2 replies; 39+ messages in thread From: Christopher Faylor @ 2010-01-02 18:11 UTC (permalink / raw) To: Joel Brobecker, gdb, binutils, Joseph S. Myers On Fri, Jan 01, 2010 at 06:18:06PM +0400, Joel Brobecker wrote: >Thanks for the suggestions! > >> Do not try to plan a transition for the whole src repository. Try to plan >> one for GDB and Binutils together at most [*], on the basis that other >> projects such as Cygwin and Newlib should choose their own version control >> systems in their own way and at such times as are convenient to them. > >I would be happy with such an approach - in fact, I think that makes >the task easier too, since we'd have fewer groups to coordinate. Although I'd like to move Cygwin to git, I really and sincerely think that making Cygwin part of the source tree for gdb and binutils is a historical mistake. I'd love to rectify it. I'll be happy to assist in setting things up for git on sourceware. I think it's time that all of the random git processes that are running there should somehow be consolidated. If that makes sense. >>My suggestion is to handle the shared toplevel files in a DVCS-pure way >>- no one master repository, changes committed to any repository get >>merged to the others automatically. > >I think GCC has something more or less similar where they have a semi- >automated merge mechanism? That would perfectly work for me. I'm a real novice when it comes to git. Does it allow "merging" two separate repositories? Could we have a separate repository containing the configury and libiberty which was shared between gdb/binutils/gcc? cgf ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-02 18:11 ` Christopher Faylor @ 2010-01-02 19:08 ` Christopher Faylor 2010-01-03 13:52 ` Matthias Urlichs 1 sibling, 0 replies; 39+ messages in thread From: Christopher Faylor @ 2010-01-02 19:08 UTC (permalink / raw) To: gdb, Joel Brobecker, binutils, Joseph S. Myers On Sat, Jan 02, 2010 at 01:11:34PM -0500, Christopher Faylor wrote: >On Fri, Jan 01, 2010 at 06:18:06PM +0400, Joel Brobecker wrote: >>Thanks for the suggestions! >> >>> Do not try to plan a transition for the whole src repository. Try to plan >>> one for GDB and Binutils together at most [*], on the basis that other >>> projects such as Cygwin and Newlib should choose their own version control >>> systems in their own way and at such times as are convenient to them. >> >>I would be happy with such an approach - in fact, I think that makes >>the task easier too, since we'd have fewer groups to coordinate. > >Although I'd like to move Cygwin to git, I really and sincerely think >that making Cygwin part of the source tree for gdb and binutils is a >historical mistake. I'd love to rectify it. Hmm. On rereading the "Although" above doesn't really belong there since I was just expressing my support for the idea. Sorry for the lack of clarity. cgf ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-02 18:11 ` Christopher Faylor 2010-01-02 19:08 ` Christopher Faylor @ 2010-01-03 13:52 ` Matthias Urlichs 1 sibling, 0 replies; 39+ messages in thread From: Matthias Urlichs @ 2010-01-03 13:52 UTC (permalink / raw) To: Christopher Faylor; +Cc: Joel Brobecker, gdb, binutils, Joseph S. Myers On Sat, 2010-01-02 at 13:11 -0500, Christopher Faylor wrote: > I'm a real novice when it comes to git. Does it allow "merging" two > separate repositories? Yes. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 8:02 time to be serious about dropping CVS Joel Brobecker ` (2 preceding siblings ...) 2010-01-01 13:00 ` Joseph S. Myers @ 2010-01-08 12:58 ` Phil Muldoon 2010-01-08 13:08 ` Tristan Gingold ` (3 more replies) 2010-12-20 17:35 ` Joseph S. Myers 4 siblings, 4 replies; 39+ messages in thread From: Phil Muldoon @ 2010-01-08 12:58 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb On 01/01/2010 08:01 AM, Joel Brobecker wrote: > Hello everyone, > > Happy New Year! > > Since I started using SVN, and even more so since I started using git, > I have found that using CVS is very inconvenient, bordering on unbearable. Beyond the usual arguments and cons about CVS, the one thing that really bites is that CVS always has to talk to a remote server. It is not distributed, so there is no local repository copy. On a small project that is ok, but currently diffs with GDB CVS take 12-15 minutes. Commits are the same. The same operations in GIT take seconds. It is even worse in the US 8am - 6pm hours. This might be because I live in the UK, and the server is on another continent. Maybe folks closer to the server get a snappier response. But if there was problem that a distributed version control system was meant to fix, it was this. I don't know why CVS is so slow. Whether it is CPU bound on the sourceware machine, or the bandwidth at the hosting site is at capacity .. who knows? I'm not even sure how to find out. But would SVN solve any of the problem relating to performance? My preference is for GIT, simply because of the speed. Cheers, Phil ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 12:58 ` Phil Muldoon @ 2010-01-08 13:08 ` Tristan Gingold 2010-01-08 13:20 ` Joel Brobecker 2010-01-08 13:13 ` Joel Brobecker ` (2 subsequent siblings) 3 siblings, 1 reply; 39+ messages in thread From: Tristan Gingold @ 2010-01-08 13:08 UTC (permalink / raw) To: Phil Muldoon; +Cc: Joel Brobecker, gdb On Jan 8, 2010, at 1:58 PM, Phil Muldoon wrote: > On 01/01/2010 08:01 AM, Joel Brobecker wrote: >> Hello everyone, >> >> Happy New Year! >> >> Since I started using SVN, and even more so since I started using git, >> I have found that using CVS is very inconvenient, bordering on unbearable. > > Beyond the usual arguments and cons about CVS, the one thing that > really bites is that CVS always has to talk to a remote server. [...] Agreed. > My preference is for GIT, simply because of the speed. Sure. I now always work on gdb.git (from git mirror) but still use CVS to do my commit. Using this approach makes the switch much less necessary (IMHO). Tristan. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 13:08 ` Tristan Gingold @ 2010-01-08 13:20 ` Joel Brobecker 2010-01-08 13:26 ` Tristan Gingold 0 siblings, 1 reply; 39+ messages in thread From: Joel Brobecker @ 2010-01-08 13:20 UTC (permalink / raw) To: Tristan Gingold; +Cc: Phil Muldoon, gdb > Sure. I now always work on gdb.git (from git mirror) but still use > CVS to do my commit. Using this approach makes the switch much less > necessary (IMHO). I disagree entirely. We're wasting time everytime someone does a commit. I think I spend about half a day doing the copyright year updates, and in the end, I decided to simply stop checking the diffs before doing the commit, since getting a diff was simply taking too much time. Regardless of what we end up choosing, there is no doubt in my mind that we must stop using CVS ASAP. You guys also don't have to deal with branches, but branches just do not work neither with CVS, nor with SVN. I realize that this discussing might seem a little deja-vu and boring, so I'll stop now, and spend the energy on working on an alternative. -- Joel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 13:20 ` Joel Brobecker @ 2010-01-08 13:26 ` Tristan Gingold 0 siblings, 0 replies; 39+ messages in thread From: Tristan Gingold @ 2010-01-08 13:26 UTC (permalink / raw) To: Joel Brobecker; +Cc: Phil Muldoon, gdb On Jan 8, 2010, at 2:20 PM, Joel Brobecker wrote: >> Sure. I now always work on gdb.git (from git mirror) but still use >> CVS to do my commit. Using this approach makes the switch much less >> necessary (IMHO). > > I disagree entirely. We're wasting time everytime someone does a commit. > I think I spend about half a day doing the copyright year updates, and > in the end, I decided to simply stop checking the diffs before doing > the commit, since getting a diff was simply taking too much time. > Regardless of what we end up choosing, there is no doubt in my mind > that we must stop using CVS ASAP. I agree. I should have said 'less urgent'. I also sympathize with the copyright year work. > You guys also don't have to deal with branches, but branches just do > not work neither with CVS, nor with SVN. Yes, I agree. Back-porting is boring. For binutils I have a script that does the work from the commit mail. > I realize that this discussing might seem a little deja-vu and boring, > so I'll stop now, and spend the energy on working on an alternative. Good luck! Tristan. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 12:58 ` Phil Muldoon 2010-01-08 13:08 ` Tristan Gingold @ 2010-01-08 13:13 ` Joel Brobecker 2010-01-08 13:21 ` Jonas Maebe 2010-01-08 13:34 ` Andreas Schwab 2010-01-08 13:14 ` Jonas Maebe 2010-01-08 18:41 ` Michael Snyder 3 siblings, 2 replies; 39+ messages in thread From: Joel Brobecker @ 2010-01-08 13:13 UTC (permalink / raw) To: Phil Muldoon; +Cc: gdb > I don't know why CVS is so slow. Whether it is CPU bound on the > sourceware machine, or the bandwidth at the hosting site is at > capacity .. who knows? I'm not even sure how to find out. But would > SVN solve any of the problem relating to performance? My observations on SVN is that it is a huge I/O hog. I don't know what it's doing, and how it encodes it's meta data, but you definitely feel it when your home directory is not on a local hard drive. -- Joel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 13:13 ` Joel Brobecker @ 2010-01-08 13:21 ` Jonas Maebe 2010-01-08 13:34 ` Andreas Schwab 1 sibling, 0 replies; 39+ messages in thread From: Jonas Maebe @ 2010-01-08 13:21 UTC (permalink / raw) To: Joel Brobecker; +Cc: Phil Muldoon, gdb On 08 Jan 2010, at 14:12, Joel Brobecker wrote: >> I don't know why CVS is so slow. Whether it is CPU bound on the >> sourceware machine, or the bandwidth at the hosting site is at >> capacity .. who knows? I'm not even sure how to find out. But would >> SVN solve any of the problem relating to performance? > > My observations on SVN is that it is a huge I/O hog. I don't know > what it's doing, and how it encodes it's meta data, but you definitely > feel it when your home directory is not on a local hard drive. That's indeed true. As far as I know, it's due to svn creating lock files (or lock attributes) in every sub directory of the current working directory when performing any operation that might modify anything (unless you perform a non-recursive operation, but those are rare). I guess the reason is that svn allows treating every subdirectory as a separate "repository" should you wish to do so, so e.g. a commit in gdb/intl could be executed in parallel with an update gdb/bfd, since both would be locked separately. The downside is obviously that updating gdb requires locking gdb/ and also all of its subdirectories. Afaik, in case of git the entire repository is atomic and hence it doesn't have to lock/unlock all the subdirectories every time. Jonas ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 13:13 ` Joel Brobecker 2010-01-08 13:21 ` Jonas Maebe @ 2010-01-08 13:34 ` Andreas Schwab 1 sibling, 0 replies; 39+ messages in thread From: Andreas Schwab @ 2010-01-08 13:34 UTC (permalink / raw) To: Joel Brobecker; +Cc: Phil Muldoon, gdb Joel Brobecker <brobecker@adacore.com> writes: > My observations on SVN is that it is a huge I/O hog. I don't know > what it's doing, and how it encodes it's meta data, but you definitely > feel it when your home directory is not on a local hard drive. SVN spreads out its meta data in every tracked directory (like CVS), and when you do an update it has to update files in every such directory. Most modern VCS keep the meta data in a single directory. Andreas. -- Andreas Schwab, schwab@redhat.com GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E "And now for something completely different." ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 12:58 ` Phil Muldoon 2010-01-08 13:08 ` Tristan Gingold 2010-01-08 13:13 ` Joel Brobecker @ 2010-01-08 13:14 ` Jonas Maebe 2010-01-08 18:41 ` Michael Snyder 3 siblings, 0 replies; 39+ messages in thread From: Jonas Maebe @ 2010-01-08 13:14 UTC (permalink / raw) To: Phil Muldoon; +Cc: Joel Brobecker, gdb On 08 Jan 2010, at 13:58, Phil Muldoon wrote: > I don't know why CVS is so slow. Whether it is CPU bound on the > sourceware machine, or the bandwidth at the hosting site is at > capacity .. who knows? I'm not even sure how to find out. But would > SVN solve any of the problem relating to performance? Probably, yes. CVS does virtually everything on the server. A cvs diff sends a full copy of every potentially modified local file (i.e., those of which the time stamp has changed) to the remote server, the server diffs it, and then sends a diff back to the client. Similarly, when you commit then a complete copy of all potentially modified local files is sent to the server, instead of only a diff, and the server has to create a diff. In case of svn, all the diff'ing is done on the client side and the client only ever sends diffs to the server (of actually modified files). Of course, git can do even more on the client side. Jonas ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-08 12:58 ` Phil Muldoon ` (2 preceding siblings ...) 2010-01-08 13:14 ` Jonas Maebe @ 2010-01-08 18:41 ` Michael Snyder 2010-01-08 18:49 ` Paul Koning 3 siblings, 1 reply; 39+ messages in thread From: Michael Snyder @ 2010-01-08 18:41 UTC (permalink / raw) To: Phil Muldoon; +Cc: Joel Brobecker, gdb Phil Muldoon wrote: > On 01/01/2010 08:01 AM, Joel Brobecker wrote: >> Hello everyone, >> >> Happy New Year! >> >> Since I started using SVN, and even more so since I started using git, >> I have found that using CVS is very inconvenient, bordering on unbearable. > > Beyond the usual arguments and cons about CVS, the one thing that > really bites is that CVS always has to talk to a remote server. It is > not distributed, so there is no local repository copy. On a small > project that is ok, but currently diffs with GDB CVS take 12-15 > minutes. Commits are the same. The same operations in GIT take > seconds. It is even worse in the US 8am - 6pm hours. This might be > because I live in the UK, and the server is on another continent. > Maybe folks closer to the server get a snappier response. But if > there was problem that a distributed version control system was meant > to fix, it was this. > > I don't know why CVS is so slow. Whether it is CPU bound on the > sourceware machine, or the bandwidth at the hosting site is at > capacity .. who knows? I'm not even sure how to find out. But would > SVN solve any of the problem relating to performance? > > My preference is for GIT, simply because of the speed. FYI, my cvs operations are usually pretty snappy. I live and work on the US west coast, and operate during daylight hours. time cvs -q update == 14 seconds for gdb "module" top level. ^ permalink raw reply [flat|nested] 39+ messages in thread
* RE: time to be serious about dropping CVS 2010-01-08 18:41 ` Michael Snyder @ 2010-01-08 18:49 ` Paul Koning 0 siblings, 0 replies; 39+ messages in thread From: Paul Koning @ 2010-01-08 18:49 UTC (permalink / raw) To: gdb There are lots of good reasons to get rid of CVS. Its lack of performance, its lack of atomicity, etc. etc. Personally I'm a happy Subversion user. I also observe that a closely related large GNU project -- GCC -- uses Subversion. So all things being equal that's the one I would prefer. Git I've used once or twice, really just for fetching current sources for projects that use it. That seemed to work ok. It does seem to have its collection of partisans. Assuming that it too has the atomicity properties that any real source control system has to have, that would be an acceptable replacement as well. Whatever is picked, I agree, it's time to get rid of that antique junk. paul ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-01-01 8:02 time to be serious about dropping CVS Joel Brobecker ` (3 preceding siblings ...) 2010-01-08 12:58 ` Phil Muldoon @ 2010-12-20 17:35 ` Joseph S. Myers 2010-12-21 3:27 ` Joel Brobecker 4 siblings, 1 reply; 39+ messages in thread From: Joseph S. Myers @ 2010-12-20 17:35 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, binutils On Fri, 1 Jan 2010, Joel Brobecker wrote: > Right now, git is so much more powerful and fast, that I will personally > focus on a transition to git. What I'd like to do is for a group of > motivated contributors to form a "task force" whose goal is to come up > with possible suggestions on how to transition, and then offer them up > for review, with pros and cons, to the maintainers of the affected > projects. Target date - I'm thinking sometime during the summer, > maybe the GCC Summit? At the very latest, end of year 2010. Just checking: is your task force still on target to have proposals by the end of the year? A report on progress would be good even if there aren't full proposals yet. http://sourceware.org/ml/gdb/2010-01/msg00000.html -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-20 17:35 ` Joseph S. Myers @ 2010-12-21 3:27 ` Joel Brobecker 2010-12-21 3:46 ` Jim Blandy ` (3 more replies) 0 siblings, 4 replies; 39+ messages in thread From: Joel Brobecker @ 2010-12-21 3:27 UTC (permalink / raw) To: Joseph S. Myers; +Cc: gdb, binutils > Just checking: is your task force still on target to have proposals by the > end of the year? A report on progress would be good even if there aren't > full proposals yet. I am a bit ashamed, but I have procrastinated :-(. I was introduced a while ago to the "git cvsexportcommit" command, which effectively allows me to work exclusively in git, thanks to our git mirror. The only downsides at, the moment, are: The git mirror is only updated every 30mins, and I need to do a CVS update before I push a commit from git to CVS. On the other hand of the equation, we have a number of hurdles to face before a conversion can be started, and the problem is that the hurdles are not all just technical (multiple projects sharing portions of the same repository), but human as well (convincing people to change). So the balance of benefits versus effort made me give up a bit on the idea, at least for now. For now, in order for this to happen, we would have to change something in the way we either get the sources, or in the way we build, or both. We might also not be able to do the transition just on our own, and that means coordination with other projects, etc. Perhaps, as more git features appear, we might be able to find a simpler way to transition, and that could be the trigger for transition to really start... One of the things that we could think about, is getting away from our 'partial checkout' way of getting the sources. It's convenient, but it is also makes us utterly dependent on CVS. I think there is a simple solution to that: (1) Separate out the projects that could go on to live their lives on their own (Eg: expect, tcl, tck, winsup, rda, etc) (2) And for the remaining projects, either: (a) Share one large repository: We would have to change the way we configure or the "make" command we use to build; (b) Have our own set of sources, with synchronization issues (which if effectively the same as (1), really). Option (1) is not strictly necessary for option (2a), but I think it would be a good cleanup, and probably benficial to those projects too - as they would be getting more freedom, I think. I just realized for instance that dejagnu is no longer part of src/. It's under git, now. The problem is that you have to convince people that all these changes are desirable, and that, I think, is more difficult than the technical work itself... -- Joel ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 3:27 ` Joel Brobecker @ 2010-12-21 3:46 ` Jim Blandy 2010-12-21 7:16 ` Pascal Obry ` (2 subsequent siblings) 3 siblings, 0 replies; 39+ messages in thread From: Jim Blandy @ 2010-12-21 3:46 UTC (permalink / raw) To: Joel Brobecker, Joseph S. Myers, gdb, binutils As one of the original designers of SVN, I really recommend switching to either git or Mercurial. It takes some getting used to, but any GDB hacker can handle that challenge. Once you switch, you will love the speed so much you'll cry when you have to use CVS (or SVN). Perhaps it would help to declare git usage questions from contributors "on topic" for the GDB lists, at least for a few months, so the developers familiar with the tools can help out the others. On 12/20/10, Joel Brobecker <brobecker@adacore.com> wrote: >> Just checking: is your task force still on target to have proposals by the >> >> end of the year? A report on progress would be good even if there aren't >> full proposals yet. > > I am a bit ashamed, but I have procrastinated :-(. I was introduced > a while ago to the "git cvsexportcommit" command, which effectively > allows me to work exclusively in git, thanks to our git mirror. > The only downsides at, the moment, are: The git mirror is only updated > every 30mins, and I need to do a CVS update before I push a commit > from git to CVS. On the other hand of the equation, we have a number > of hurdles to face before a conversion can be started, and the problem > is that the hurdles are not all just technical (multiple projects sharing > portions of the same repository), but human as well (convincing people > to change). > > So the balance of benefits versus effort made me give up a bit on > the idea, at least for now. For now, in order for this to happen, > we would have to change something in the way we either get the sources, > or in the way we build, or both. We might also not be able to do > the transition just on our own, and that means coordination with > other projects, etc. Perhaps, as more git features appear, we might > be able to find a simpler way to transition, and that could be > the trigger for transition to really start... > > One of the things that we could think about, is getting away from > our 'partial checkout' way of getting the sources. It's convenient, > but it is also makes us utterly dependent on CVS. I think there is > a simple solution to that: > (1) Separate out the projects that could go on to live their lives > on their own (Eg: expect, tcl, tck, winsup, rda, etc) > (2) And for the remaining projects, either: > (a) Share one large repository: We would have to change the way > we configure or the "make" command we use to build; > (b) Have our own set of sources, with synchronization issues > (which if effectively the same as (1), really). > Option (1) is not strictly necessary for option (2a), but I think > it would be a good cleanup, and probably benficial to those projects > too - as they would be getting more freedom, I think. I just realized > for instance that dejagnu is no longer part of src/. It's under git, > now. > > The problem is that you have to convince people that all these changes > are desirable, and that, I think, is more difficult than the technical > work itself... > > -- > Joel > ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 3:27 ` Joel Brobecker 2010-12-21 3:46 ` Jim Blandy @ 2010-12-21 7:16 ` Pascal Obry 2010-12-21 15:14 ` Tom Tromey 2010-12-21 18:42 ` Joseph S. Myers 2010-12-21 19:21 ` DJ Delorie 3 siblings, 1 reply; 39+ messages in thread From: Pascal Obry @ 2010-12-21 7:16 UTC (permalink / raw) To: Joel Brobecker; +Cc: Joseph S. Myers, gdb, binutils Joël, > One of the things that we could think about, is getting away from > our 'partial checkout' way of getting the sources. It's convenient, > but it is also makes us utterly dependent on CVS. I think there is > a simple solution to that: Just to note that Git has support for partial checkout. Maybe this would help transition. As it is a common misconception I'd like to mention that Git support /partial checkout/ and NOT /partial fetch/. That is, the whole repository is fetched and you can just checkout the part that you want to work on. This is hardly a problem as the network support in Git is very efficient. -- Pascal Obry -- gpg --keyserver keys.gnupg.net --recv-key F949BD3B ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 7:16 ` Pascal Obry @ 2010-12-21 15:14 ` Tom Tromey 2010-12-21 16:15 ` Christopher Faylor 0 siblings, 1 reply; 39+ messages in thread From: Tom Tromey @ 2010-12-21 15:14 UTC (permalink / raw) To: obry; +Cc: Joel Brobecker, Joseph S. Myers, gdb, binutils >>>>> "Pascal" == Pascal Obry <obry@adacore.com> writes: Pascal> Just to note that Git has support for partial checkout. Nice -- new in 1.7: http://www.kernel.org/pub/software/scm/git/docs/git-read-tree.html#_sparse_checkout Pascal> As it is a common misconception I'd like to mention that Git Pascal> support /partial checkout/ and NOT /partial fetch/. That is, the Pascal> whole repository is fetched and you can just checkout the part Pascal> that you want to work on. This is hardly a problem as the Pascal> network support in Git is very efficient. Perhaps some people will be concerned about the disk space. (Though I am not.) I looked through CVSROOT/modules a little. I think it would be good if we could split some of the modules off into their own repositories. However, I don't know what in there is active or even what projects would not mind being split off. Tom ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 15:14 ` Tom Tromey @ 2010-12-21 16:15 ` Christopher Faylor 2010-12-21 18:39 ` Joseph S. Myers 0 siblings, 1 reply; 39+ messages in thread From: Christopher Faylor @ 2010-12-21 16:15 UTC (permalink / raw) To: Tom Tromey, gdb, Joel Brobecker, obry, binutils, Joseph S. Myers On Tue, Dec 21, 2010 at 08:13:24AM -0700, Tom Tromey wrote: >>>>>> "Pascal" == Pascal Obry <obry@adacore.com> writes: > >Pascal> Just to note that Git has support for partial checkout. > >Nice -- new in 1.7: > >http://www.kernel.org/pub/software/scm/git/docs/git-read-tree.html#_sparse_checkout > >Pascal> As it is a common misconception I'd like to mention that Git >Pascal> support /partial checkout/ and NOT /partial fetch/. That is, the >Pascal> whole repository is fetched and you can just checkout the part >Pascal> that you want to work on. This is hardly a problem as the >Pascal> network support in Git is very efficient. > >Perhaps some people will be concerned about the disk space. >(Though I am not.) > >I looked through CVSROOT/modules a little. I think it would be good if >we could split some of the modules off into their own repositories. >However, I don't know what in there is active or even what projects >would not mind being split off. As I've said before, I'd welcome splitting Cygwin into its own repository and I would be interested in helping on the sourceware side. cgf ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 16:15 ` Christopher Faylor @ 2010-12-21 18:39 ` Joseph S. Myers 2010-12-21 19:26 ` Tom Tromey 0 siblings, 1 reply; 39+ messages in thread From: Joseph S. Myers @ 2010-12-21 18:39 UTC (permalink / raw) To: gdb; +Cc: Tom Tromey, Joel Brobecker, obry, binutils On Tue, 21 Dec 2010, Christopher Faylor wrote: > >I looked through CVSROOT/modules a little. I think it would be good if > >we could split some of the modules off into their own repositories. > >However, I don't know what in there is active or even what projects > >would not mind being split off. > > As I've said before, I'd welcome splitting Cygwin into its own > repository and I would be interested in helping on the sourceware side. And I think that gdb+binutils (that is, the files and directories you get by checking out that module) should be split into its own repository - keep those two together, leave other projects to transition or not in their own time and their own way. (The toplevel configure already supports --disable-<directory> generically, so with a combined source tree you can already use --disable-gdb --disable-sim --disable-readline to build binutils only, or --disable-binutils --disable-gas --disable-gprof --disable-ld --disable-gold to build GDB only - though simpler aliases might be useful.) -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 18:39 ` Joseph S. Myers @ 2010-12-21 19:26 ` Tom Tromey 0 siblings, 0 replies; 39+ messages in thread From: Tom Tromey @ 2010-12-21 19:26 UTC (permalink / raw) To: Joseph S. Myers; +Cc: gdb, Joel Brobecker, obry, binutils >>>>> "Joseph" == Joseph S Myers <joseph@codesourcery.com> writes: Joseph> And I think that gdb+binutils (that is, the files and Joseph> directories you get by checking out that module) should be split Joseph> into its own repository - keep those two together, leave other Joseph> projects to transition or not in their own time and their own Joseph> way. I agree binutils+gdb should be a single repository. I didn't know about the generic --disable-<directory> support; developers could either use that or sparse checkouts, as they like. Looking at CVSROOT/modules, I see a couple problem cases. sid depends on BFD, and also includes cgen. There is insight, which depends on gdb. Tom ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 3:27 ` Joel Brobecker 2010-12-21 3:46 ` Jim Blandy 2010-12-21 7:16 ` Pascal Obry @ 2010-12-21 18:42 ` Joseph S. Myers 2010-12-21 19:21 ` DJ Delorie 3 siblings, 0 replies; 39+ messages in thread From: Joseph S. Myers @ 2010-12-21 18:42 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, binutils On Tue, 21 Dec 2010, Joel Brobecker wrote: > too - as they would be getting more freedom, I think. I just realized > for instance that dejagnu is no longer part of src/. It's under git, > now. I don't think it ever was part of src in the sense of src being the master development repository for it - there simply used to be some imports of copies of it into the src repository. Likewise tcl, tk, itcl still present on HEAD. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 3:27 ` Joel Brobecker ` (2 preceding siblings ...) 2010-12-21 18:42 ` Joseph S. Myers @ 2010-12-21 19:21 ` DJ Delorie 2010-12-22 15:23 ` Christopher Faylor 3 siblings, 1 reply; 39+ messages in thread From: DJ Delorie @ 2010-12-21 19:21 UTC (permalink / raw) To: Joel Brobecker; +Cc: gdb, binutils Just my two cents: 1. I really hate the way GIT works. Yes, I use it often, no, I don't seem to be getting used to it. 2. If src/ is split up, keeping the toplevels and libiberty in sync will be much harder. I don't think I'm willing to sign up for that job. ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-21 19:21 ` DJ Delorie @ 2010-12-22 15:23 ` Christopher Faylor 2010-12-22 15:29 ` NightStrike 0 siblings, 1 reply; 39+ messages in thread From: Christopher Faylor @ 2010-12-22 15:23 UTC (permalink / raw) To: DJ Delorie, gdb, Joel Brobecker, binutils On Tue, Dec 21, 2010 at 02:20:38PM -0500, DJ Delorie wrote: > >Just my two cents: > >1. I really hate the way GIT works. Yes, I use it often, no, I don't > seem to be getting used to it. > >2. If src/ is split up, keeping the toplevels and libiberty in sync will > be much harder. I don't think I'm willing to sign up for that job. IMO, in a perfect world, there would be only one version of libiberty and the top-level configury. cgf ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-22 15:23 ` Christopher Faylor @ 2010-12-22 15:29 ` NightStrike 2010-12-22 16:48 ` Joseph S. Myers 0 siblings, 1 reply; 39+ messages in thread From: NightStrike @ 2010-12-22 15:29 UTC (permalink / raw) To: DJ Delorie, gdb, Joel Brobecker, binutils On Wed, Dec 22, 2010 at 10:23 AM, Christopher Faylor <cgf-use-the-mailinglist-please@sourceware.org> wrote: > On Tue, Dec 21, 2010 at 02:20:38PM -0500, DJ Delorie wrote: >> >>Just my two cents: >> >>1. I really hate the way GIT works. Yes, I use it often, no, I don't >> seem to be getting used to it. >> >>2. If src/ is split up, keeping the toplevels and libiberty in sync will >> be much harder. I don't think I'm willing to sign up for that job. > > IMO, in a perfect world, there would be only one version of libiberty > and the top-level configury. > > cgf > That's easy to do with svn and svn:externals ^ permalink raw reply [flat|nested] 39+ messages in thread
* Re: time to be serious about dropping CVS 2010-12-22 15:29 ` NightStrike @ 2010-12-22 16:48 ` Joseph S. Myers 0 siblings, 0 replies; 39+ messages in thread From: Joseph S. Myers @ 2010-12-22 16:48 UTC (permalink / raw) To: NightStrike; +Cc: DJ Delorie, gdb, Joel Brobecker, binutils [-- Attachment #1: Type: TEXT/PLAIN, Size: 2978 bytes --] On Wed, 22 Dec 2010, NightStrike wrote: > On Wed, Dec 22, 2010 at 10:23 AM, Christopher Faylor > <cgf-use-the-mailinglist-please@sourceware.org> wrote: > > On Tue, Dec 21, 2010 at 02:20:38PM -0500, DJ Delorie wrote: > >> > >>Just my two cents: > >> > >>1. I really hate the way GIT works. Yes, I use it often, no, I don't > >> seem to be getting used to it. > >> > >>2. If src/ is split up, keeping the toplevels and libiberty in sync will > >> be much harder. I don't think I'm willing to sign up for that job. > > > > IMO, in a perfect world, there would be only one version of libiberty > > and the top-level configury. > > > > cgf > > > > That's easy to do with svn and svn:externals No solution I've ever seen suggested for this, including svn:externals and git submodules, counts as easy. The basic requirements for being easy are: * You can branch, or tag, GCC, or binutils, or GDB, or any other component including the library, using the native command for branching or tagging in that version control system, and thereby have a branch or tag wherein the affected subdirectories are also branched or tagged. This applies to both remote branches and tags, and to local ones in a DVCS. * Anyone with write access to any relevant component can do so, as well as being able to make ordinary changes to the library, and the normal commands for committing changes can be used, including for changes including both shared and non-shared files. (I would add a further requirement "each project can choose its VCS independently", but that's not a matter of a solution being easy, it's a desire to avoid in future one of the two things that has made it so hard for the projects in src to move away from CVS. One is tying independently maintained projects too closely together; the other is making use of a feature, CVS modules, that is too specific to a single VCS.) When you get into special commands being needed to branch, tag or check in changes you get trouble and lose the advantages of familiarity with a VCS across multiple projects. I think there are two sensible solutions for shared files: * The DVCSly pure one: no master copy, people make changes in whichever project they are working on and they or someone else merges them to other copies as convenient. This passes both my points above for being easy for normal contributors (at the expense of being hard for mergers). * A single master repository for the shared files and directories, with all commits to those files in the trunk of the other repositories being forbidden by commit hooks unless they contain some magic string in the commit log to indicate they are merges from the master repository. All people with write access to any affected project also given write access to this new master repository. This passes my first point but fails the second. -- Joseph S. Myers joseph@codesourcery.com ^ permalink raw reply [flat|nested] 39+ messages in thread
end of thread, other threads:[~2010-12-22 16:48 UTC | newest] Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2010-01-01 8:02 time to be serious about dropping CVS Joel Brobecker 2010-01-01 8:35 ` Eli Zaretskii 2010-01-01 9:00 ` Joel Brobecker 2010-01-01 10:34 ` Eli Zaretskii 2010-01-01 15:39 ` Matthias Urlichs 2010-01-01 15:49 ` Eli Zaretskii 2010-01-01 10:26 ` Mark Kettenis 2010-01-01 10:46 ` Andreas Schwab 2010-01-01 11:03 ` Joel Brobecker 2010-01-01 16:06 ` Matthias Urlichs 2010-01-01 17:57 ` H.J. Lu 2010-01-01 13:00 ` Joseph S. Myers 2010-01-01 14:18 ` Joel Brobecker 2010-01-02 18:11 ` Christopher Faylor 2010-01-02 19:08 ` Christopher Faylor 2010-01-03 13:52 ` Matthias Urlichs 2010-01-08 12:58 ` Phil Muldoon 2010-01-08 13:08 ` Tristan Gingold 2010-01-08 13:20 ` Joel Brobecker 2010-01-08 13:26 ` Tristan Gingold 2010-01-08 13:13 ` Joel Brobecker 2010-01-08 13:21 ` Jonas Maebe 2010-01-08 13:34 ` Andreas Schwab 2010-01-08 13:14 ` Jonas Maebe 2010-01-08 18:41 ` Michael Snyder 2010-01-08 18:49 ` Paul Koning 2010-12-20 17:35 ` Joseph S. Myers 2010-12-21 3:27 ` Joel Brobecker 2010-12-21 3:46 ` Jim Blandy 2010-12-21 7:16 ` Pascal Obry 2010-12-21 15:14 ` Tom Tromey 2010-12-21 16:15 ` Christopher Faylor 2010-12-21 18:39 ` Joseph S. Myers 2010-12-21 19:26 ` Tom Tromey 2010-12-21 18:42 ` Joseph S. Myers 2010-12-21 19:21 ` DJ Delorie 2010-12-22 15:23 ` Christopher Faylor 2010-12-22 15:29 ` NightStrike 2010-12-22 16:48 ` Joseph S. Myers
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox