Skip to content

Latest commit

 

History

History
127 lines (101 loc) · 4.84 KB

reference.md

File metadata and controls

127 lines (101 loc) · 4.84 KB
layout permalink
reference
/reference/

A Better Kind of Backup

  • Create a ~/.hgrc (or %USERPROFILE%\Mercurial.ini on Windows) to configure a user name, email address, editor, and other preferences once per machine.
  • hg init initializes a repository.
  • hg status shows the status of a repository.
  • Files are stored in a project's working directory (which users see), and the local repository (where committed snapshots are permanently recorded).
  • hg add tells Mercurial to track files.
  • hg commit creates a snapshot of the changes to 1 or more files in the local repository.
  • Always write a log message when committing changes.
  • hg diff displays differences between revisions.
  • hg revert recovers old versions of files.
  • The .hgignore file tells Mercurial what files to ignore.

Collaborating

  • A local Mercurial repository can be connected to one or more remote repositories.
  • Use the HTTPS protocol to connect to remote repositories until you have learned how to set up SSH.
  • hg push copies changes from a local repository to a remote repository.
  • hg pull copies changes from a remote repository to a local repository.
  • hg clone copies a remote repository to create a local repository with a remote called default automatically set up.

Conflicts

  • Conflicts occur when two or more people change the same file(s) at the same time.
  • The version control system does not allow people to blindly overwrite each other's changes. Instead, it highlights conflicts so that they can be resolved.

Open Science

  • Open scientific work is more useful and more highly cited than closed.
  • People who incorporate GPL'd software into theirs must make theirs open; most other open licenses do not require this.
  • The Creative Commons family of licenses allow people to mix and match requirements and restrictions on attribution, creation of derivative works, further sharing, and commercialization.
  • People who are not lawyers should not try to write licenses from scratch.
  • Projects can be hosted on university servers, on personal domains, or on public forges.
  • Rules regarding intellectual property and storage of sensitive information apply no matter where code and data are hosted.

Glossary

{:auto_ids} changeset : A group of changes to one or more files that are committed to a version control repository in a single operation.

clone : To make a local copy of a version control repository. See also: fork.

commit : To record the current state of a set of files (a changeset) in a version control repository.

conflict : A change made by one user of a version control system that is incompatible with changes made by other users. Helping users resolve conflicts is one of version control's major tasks.

fork : To clone a version control repository on a server.

HTTP : The Hypertext Transfer Protocol used for sharing web pages and other data on the World Wide Web.

infective license : A license such as the GPL that compels people who incorporate material into their own work to place similar sharing requirements on it.

Internet Service Provider (ISP) : A company or other organization that provides access to the Internet. Many ISPs provide hosting services for websites.

merge : To reconcile two sets of changes to a repository.

protocol : A set of rules that define how one computer communicates with another. Common protocols on the Internet include HTTP and SSH.

remote : A version control repository other than the current one that the current one is somehow connected to or mirroring.

repository : A storage area where a version control system stores old revisions of files and information about who changed what, when.

resolve : To eliminate the conflicts between two or more incompatible changes to a file or set of files being managed by a version control system.

revision : A recorded state of a version control repository.

SSH : The Secure Shell protocol used for secure communication between computers.

timestamp : A record of when a particular event occurred.

version control : A tool for managing changes to a set of files. Each set of changes creates a new revision of the files; the version control system allows users to recover old revisions reliably, and helps manage conflicting changes made by different users.