emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What a modern collaboration toolkit looks like


From: David Kastrup
Subject: Re: What a modern collaboration toolkit looks like
Date: Sat, 05 Jan 2008 09:55:57 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.50 (gnu/linux)

Richard Stallman <address@hidden> writes:

>     So perhaps you hack all day, periodically making commits (using "git
>     commit") which store your changes into the .git subdir.  Then when you
>     later connect to the net, you can merge the new changes in .git into the
>     remote emacs repository on savannah (using "git push").
>
> It sounds like "git push" is the real analogue of CVS commit,

No.  Pushing works between repositories.  It is the way to propagate
changes to others.

> and that this is the closest match-up between the concepts of git
> and the concepts of CVS:
>
>         CVS           GIT
>         save file  =  commit

No.  Saving a file will not give you all the version control history and
tools and diffs and branching and other tools that committing does under
git.  You have all that working machinery to your disposal once you have
committed.  Pushing just pushes out your commits (and not just a
snapshot) to the remote repository.  It does not change what you are
working with.  Your own repository and workflow is not affected.  You
never need to push in order to get something into better working order
for yourself.

Note that while you have not pushed out anything, git has a variety of
tools for rewriting and cleaning up your own branches/repository.  In
that manner, a new feature usually arrives in one coherent series of
commits.  Also, if you are developing a new feature, you need not push
it out to the central repository, but can still share the development
with a private set of other people.

>         commit     =  pull or push
>
> But I still don't understand what step actually alters the trunk that
> users will get by default from the public repository.  Does `push' do
> that?  If not `push', then what?

Pushing will, yes.  The act of pushing will make the remote trunk assume
the state of the current trunk (without dropping changes only available
in the remote trunk: in that case, git requires you to pull and merge
those first).

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum




reply via email to

[Prev in Thread] Current Thread [Next in Thread]