From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.devel Subject: git commit/push and VC Date: Thu, 20 Nov 2014 00:36:29 +0100 Message-ID: <871toysqyq.fsf@rosalinde.fritz.box> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1416440243 2216 80.91.229.3 (19 Nov 2014 23:37:23 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Nov 2014 23:37:23 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Nov 20 00:37:12 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XrEo9-0004Sz-CX for ged-emacs-devel@m.gmane.org; Thu, 20 Nov 2014 00:37:09 +0100 Original-Received: from localhost ([::1]:32935 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XrEo9-0004m3-0A for ged-emacs-devel@m.gmane.org; Wed, 19 Nov 2014 18:37:09 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:53532) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XrEnq-0004lx-B3 for emacs-devel@gnu.org; Wed, 19 Nov 2014 18:36:56 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XrEnj-0006yL-Qy for emacs-devel@gnu.org; Wed, 19 Nov 2014 18:36:50 -0500 Original-Received: from plane.gmane.org ([80.91.229.3]:57585) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XrEnj-0006yH-K3 for emacs-devel@gnu.org; Wed, 19 Nov 2014 18:36:43 -0500 Original-Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XrEng-0004G3-TA for emacs-devel@gnu.org; Thu, 20 Nov 2014 00:36:40 +0100 Original-Received: from i59f54011.versanet.de ([89.245.64.17]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 20 Nov 2014 00:36:40 +0100 Original-Received: from stephen.berman by i59f54011.versanet.de with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 20 Nov 2014 00:36:40 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 51 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: i59f54011.versanet.de User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 80.91.229.3 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:177833 Archived-At: I'm still learning how to use git, and have two questions about `git commit' and `git push'. I've read the "GitForEmacsDevs" page at emacswiki.org and Conversational Git (recommended on that page), and unless I'm misunderstanding something (which is not unlikely), they disagree about what's needed to export changes from one repository to another, or from one branch to another within a single repository. Conversational Git say to use `git commit' and then `git push'. GitForEmacsDevs says this: If you are a committer, you can merge to the upstream master directly. First, update your repository: cd $DEVHOME/emacs git checkout master git pull git merge TASKNAME git push Run the tests: make check and then commit git status git commit -m "fixes debbugs:12345" which merges all your new commits to the upstream master. I don't understand why `git commit' follows `git push' here (or why there isn't another `git push' after `git commit'). Indeed, I've done local tests of moving changes between branches and repositories, and they appear to confirm what Conversational Git says: unless `git push' follows `git commit', the changes are not available in the other branch or repositories. So is GitForEmacsDevs wrong or is there something else going on here? My second question is about using VC in Emacs. With bzr, typing `C-c C-c' in the *vc-log* buffer exported my local trunk changes to trunk at Savannah, because my local trunk was a bound branch. But according to my local tests, with git typing `C-c C-c' in the *vc-log* buffer only commits the changes to the checked out branch; they do not show up in branch or repository the checked out branch was branched from (or its repository was cloned from). Is this correct? I don't want to accidentally push changes to master or another branch at Savannah. And if `C-c C-c' does only do commits on the checked out local branch, it is possible to use VC to push changes to another branch or repository, and if so, how? Steve Berman