TableOfContents

On Using Hg

  1. There are only branches and revisions.
    • Think of code development as a process through time and space.
      • Space is discretized into developers
      • Time is discretized into commits
      • Add a little meta data linking points in the eveloper / commit Field, throw on some collision free identifiers (SHA-1) and you have the complete genetic history of every line of code
    • Repositories are a cache and no importance / significance WRT the general abstraction of DVCS
    • don't forget to push or you might lose some DNA
  2. Patching is a degenerate way to use Hg
    • Based on CVS / SVN when branching and merging were hard
    • Hg isn't SVN

Hg for sage-finance and dsageng

The current model is you only push to your own repo's. For most, this will mean pushing to a repo in your home directory on sage.math. I'll pull revisions / branches into my repo which is, by convention only, the official state for finance and dsageng.

It is critical to push to your public repo often. We'll come up with a naming convention but there will be branches marked as your current working state. You shouldn't merge your working branch into your "ready to merge with ghtdak branch" unless you've checked for collisions with the blessed trunk at a minimum... and it would help if you would check for collisions with my primary working branch.

To facilitate this process, my repo, can be found at

http://tarbox.org:9000 which can be browsed and "pulled" from using hg

I'll also clone that repo on sage.math from time to time but thats really only useful for those with accounts there.

You should read the mercurial docs... but some hints.

If you want a clean all by itself repo with all the history from the beginning of time:

hg clone http://tarbox.org:9000 sage-ght

remember about branches. Some helpful commands


CategoryCategory