This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: SVN for src, status?
On Fri, 8 May 2009, Pascal Obry wrote:
> Joseph,
>
> > How does git handle the key feature for src, sparse checkouts (a single
> > repository from which you can check out just the parts relevant for
> > binutils, or GDB, or ..., or everything, and do single commits affecting
> > various subsets of the directories)?
>
> Git doesn't support this. You can use submodules for binutils, GDB...
> but it won't allow a single commit affecting the main repository and
> some submodules. But Git does bring lot of nice stuff that Subversion
Then Git is not yet ready for the src repository, in my view, unless you
can make it look to users like they are running a single commit command to
the central repository with the details of submodules being hidden in the
implementation of that command; commits to both BFD and another directory
using BFD are a very common use case for this repository, and version
control systems firstly need to make the common cases easy and reduce the
risk of user error in the common cases. Checking out just one component
of src (e.g. binutils or GDB, with their overlapping sets of directories
and common toplevel), updating such a checkout, and checking in (to the
central repository) changes across such a checkout, are likely the most
common use cases.
CVS makes the first easy (whereas SVN might require some sort of script; I
don't think it's as easy as with CVS), the second rather harder than it
should be (cvs update doesn't get new directories, update -d gets those
outside the module you originally checked out, so you need src -> .
symlinks and to rerun cvs checkout to update properly) and the third easy
but with error cases that seem common to many version control systems
(easy to commit in a subdirectory accidentally and so fail to commit the
changes in other directories, or to fail to "cvs add" new files and commit
without them and without the version control system warning about this and
making sure it's what you really wanted).
I'm sure Git brings many features of use to advanced users, but most users
are not advanced and it should be easy for them to do the common tasks and
difficult for them to make mistakes in so doing (bearing in mind they may
not know from extensive experience what the likely mistakes are) without
the version control system catching them.
--
Joseph S. Myers
joseph@codesourcery.com
- References:
- SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?
- Re: SVN for src, status?