view TODO @ 917:7f3f55903496

Fix hg clone race with writer Most read operations in hg don't need locks because we order reads and writes for consistency. Clone is an exception to this as we're copying entire file histories and could end up with more file history copied than we have commits. For now, make clone take a lock on the source repo. Non-hardlinked clone should eventually be changed to use lockless pull.
author mpm@selenic.com
date Tue, 16 Aug 2005 14:53:47 -0800
parents 01215ad04283
children
line wrap: on
line source

General:
- Better documentation
- More regression tests
- More specific try/except.
- less code duplication, more code in the right places
- python 2.2 support
- export to git
- Code cleanup: apply http://python.org/peps/pep-0008.html

Core:
- difflib creating/removing files (fixed except dates: should be epoch)
- directory foo.d or foo.i with existing file foo (use some quoting?)
- get various options from hgrc (e.g. history always -v, tip always -q)
- hg over https:// and rsync://
- hooks for new changesets getting pulled/imported etc.
- make showing removed files (in history etc.) faster.
- hgmerge error: merge should abort nicely and running it again should work
- if hardlinking fails, pull should be used
- .hgignore should use new patterns

Commands:
- hg add <directory> should work (currently only: hg add -I <dir>)
- hg status <filename>: file rev, changeset rev, changed, added,
  deleted, sha-1
- select to pull a subset of the heads
- commands.py: number of args too much magic (e.g. in import_())
- optionally only show merges (two parents)
- automatic pull fallback to old-http://
- pass options to ssh (debug/verbose/remote hg command etc.)
- create a commented .hg/hgrc on init/clone
- hg pull default in a subdir doesn't work, if it is a relative path
- hg clone should store corrected relative paths, so moving a directory
  containing related repositories works again
- if everyone knows 'hg clone': hg init [DIR]
- if everyone knows 'hg update -m': remove -t
- hg revert does not forget added files, it probably should.
- hg pull should state if there are more heads than before.
- hg clone: locking the repository while hardlinking.
- hg clone: fall back to pull if hardlink not possible.
- "hg diff not_existing" should yield an error message.

Web:
- optionally only show merges (two parents)
- one hgweb with many repos (another script)
- hgweb tip link too long (URL?cmd=changelog;rev=)
- hgweb: shorter links (e.g. cs=... instead of cmd=changeset;node=...?)
- hgweb: deliver static files (e.g. favicon, stylesheets)
- hgweb personalization: timezone (display/change), display of
  features, number of entries per page
- some web servers think hgweb.cgi.[di] is a CGI script with old-http://
  (use quoting (see foo.d in Core) or document server configurations?)
- link children in hgweb
- allow verbose mode
- hide trivial parent (like in show_changeset)
- default port for hg serve configurable in hgrc
- download tarball via web interface