Differences between revisions 2 and 19 (spanning 17 versions)
Revision 2 as of 2008-06-21 17:37:19
Size: 2678
Editor: GlennTarbox
Comment:
Revision 19 as of 2022-04-12 03:02:07
Size: 0
Editor: mkoeppe
Comment: outdated
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Please edit system and help pages ONLY in the moinmaster wiki! For more
## information, please see MoinMaster:MoinPagesEditorGroup.
##master-page:CategoryTemplate
##master-date:Unknown-Date
#format wiki
#language en

[[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
 1. Patching is less useful than publishing your repo
  * Based on CVS / SVN when branching and merging were hard
  * For developers without a way to publish a repo, patches can be submitted to Trac
   * check the patch for collisions with the "blessed" repo as discussed below
   * the patch will be merged with the repo on a branch depending on its state of testing / modification

= 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

 * hg help branches
 * hg help branch
 * hg help clone
 * hg update -C finpatch
 * figure out how to get hg view to work
  * hint: get hgk from the mercurial site, adjust your .hgrc
  * this will likely be part of the sage distro soon enough.

----
CategoryCategory