Hi Miles, Miles Bader <[EMAIL PROTECTED]> wrote: > Jim Meyering <[EMAIL PROTECTED]> writes: >> I'm using git for projects I control, and find that I am less and less >> tolerant of the abysmal (by comparison) performance of CVS and SVN > > Git is enticing, but the main issue that's prevented me from adopting it > has been the (apparent) clumsiness of maintaining tag information in > conjunction with a "remote shared" repository. > > It's a bit hard to describe, but basically I want a single central git > repository (for myself in this case, but something similar might be > desirable for a project like Emacs) with multiple "branches" in it, and > I want to be able to have different "checkouts" of that (e.g., a > checkout of 'tag FOO'). When I make a change locally, I want to then > commit the changes to the branch described by 'tag FOO' and _update the > central repository's notion of 'tag FOO'_. The latter point seems to be > where the problems occur.
You can do this with what git calls "branches", not tags. > My vague impression is that working this way is possible, but not > entirely trivial, and that other projects trying to use a similar model I suspect that branching is never entirely trivial in any dVCS :-) > (x.org?) use big .git-config files specifying the proper tag > synchronization to use, which seems kind of fragile. I haven't looked at their set-up, but... I can imagine that a complex process would seem fragile. However, I'll bet you can set up hooks to serve as a safety net and/or to enforce complicated policy. Sounds like you want to use branches the way git itself is using them. Clone git, then do "git branch -a". Here are some of them (in addition to the usual master and origin ones) todo next - the published list of upcoming (to-be-merged-to-master) topics maint - maintenance fixes go here first, then are merged into master For some use cases involving those branches, see the "Integrator" section of Documentation/everyday.txt In reading through the documentation, look at what they mean by a "topic branch", and consider how "git rebase ..." can be used to keep one up to date with e.g., its parent branch. -------------------------- Also, to visualize a repository, try the "gitk" tool. Run it from inside a cloned repository. E.g., git clone git://git.sv.gnu.org/emacs.git; cd emacs; gitk _______________________________________________ emacs-pretest-bug mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
