Next: ロックでの基本的なバージョンコントロール, Up: バージョンコントロール下での基本的な編集 [Contents][Index]
With a modern merging-based version control system (such as Git and Hg; see バージョンコントロールにおけるマージベースとロックベース), C-x v v does the following when invoked from a buffer that visits a version-controlled file or a VC Directory or Dired buffer:
With modern decentralized version control systems (Git, Mercurial, etc.), the changes are committed locally and not automatically propagated to the upstream repository (which is usually on a remote host). In these cases, if the repository has been changed since your last update, the commit may fail. In that case, you must update from upstream and then try again. Use C-x v + (see ブランチへ/からの変更のpull/push) or C-x v m (see ブランチのマージ) for that.
With a centralized version control system, if the commit fails due to upstream changes, type C-x v v again to merge in the upstream repository changes.
これらのルールは、変更はレポジトリから自動的にマージされない点をのぞき、RCSを非ロックモードで使用している場合も適用されます。あなたがファイルの編集を始めた後に、他のユーザーが同じファイルをコミットした場合、何の情報も与えられません。あなたのリビジョンをコミットしたとき、他のユーザーの変更は失われます(しかし、それはレポジトリには残るので、決定的に失われるわけではありません)。したがって、変更をコミットする前に、カレントリビジョンが変更されていないことを調べなければなりません。それに加えて、このモードでもRCSでロックすることが可能です。変更されていないファイルでのC-x v vは、RCSの通常のロックモードのようにそのファイルをロックします。(ロックでの基本的なバージョンコントロールを参照してください)。
If C-x v v is invoked from a buffer under Diff Mode, the command assumes the buffer holds a set of patches for one or more files. It then applies the changes to the respective files and commits the changes after popping up the *vc-log* buffer to allow you to type a suitable commit log message.
Next: ロックでの基本的なバージョンコントロール, Up: バージョンコントロール下での基本的な編集 [Contents][Index]