From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: vc for git users. Date: Tue, 29 Oct 2019 15:48:34 +0200 Message-ID: <83k18npsr1.fsf@gnu.org> References: <20191028142107.koe7faofoqmsljel@Ergus> <834kzssv58.fsf@gnu.org> <2E3DDD9F-5E02-4C7A-AAFE-83A4B0345830@aol.com> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="117997"; mail-complaints-to="usenet@blaine.gmane.org" To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Tue Oct 29 14:49:12 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iPRrz-000UW9-0t for geh-help-gnu-emacs@m.gmane.org; Tue, 29 Oct 2019 14:49:11 +0100 Original-Received: from localhost ([::1]:57044 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iPRrx-0000Va-2D for geh-help-gnu-emacs@m.gmane.org; Tue, 29 Oct 2019 09:49:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56757) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iPRrU-0000RH-E4 for help-gnu-emacs@gnu.org; Tue, 29 Oct 2019 09:48:41 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:39532) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iPRrU-0007LZ-5j for help-gnu-emacs@gnu.org; Tue, 29 Oct 2019 09:48:40 -0400 Original-Received: from [176.228.60.248] (port=2591 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iPRrT-00081s-Es for help-gnu-emacs@gnu.org; Tue, 29 Oct 2019 09:48:39 -0400 In-reply-to: <2E3DDD9F-5E02-4C7A-AAFE-83A4B0345830@aol.com> (message from Ergus on Tue, 29 Oct 2019 03:42:21 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:121751 Archived-At: > Date: Tue, 29 Oct 2019 03:42:21 +0100 > From: Ergus > > I was referring more to the terminology in the documentation, not the functionality. Only by reading the > documentation a git user can't understand what means "next action". Of course. But the same is true for every non-trivial Emacs command, isn't it? For example, "C-x `", a.k.a. "next-error". Why do you expect VC commands to be more self-explanatory? > Or can't find if it is possible to stage changes (or even if it is > needed). Staging is Git-specific. VC doesn't support that, at least not AFAIK. VC does the staging when necessary behind the scenes. The user only sees the "commit" operation. > There are also some git specific interactive functions I didn't find the > documentation for them. Which functions are those? > It looks like the documentations and functions were actually written for older VCS with different > terminologies/steps/workflows. Not common anymore in git or mercurial. Are you sure? I see the modern VCSes described in the VC chapter. We actually made an effort a few years back to describe the modern systems before the older ones. Of course, there could always be ways to improve the documentation, but the general assertion that the manual is written for old VCS systems is factually incorrect. Bottom line, I don't understand the specifics of the complaint. Perhaps you have in mind a user who wants to find an Emacs command for every Git command they are familiar with: vc-push for pushing, vc-pull for pulling, vc-merge for merging, vc-blame, vc-cherry-pick, etc. But VC doesn't work that way, it attempts to abstract common VCS operations and provide a unified UI that depends on specific VCS features as little as practically possible. That has a disadvantage: you need to learn the VC concepts and commands before you can use them efficiently, but the significant advantage is that once you learned them, you can use them with any supported VCS.