view TODO @ 862:d70c1c31fd45

Fix 3-way-merge of original parent, workdir and new parent. The dirstate has to match what is in the repository (what would be checked out with 'hg update -C'), because the resulting file may be identical to the new parent, or it may be completely different. Previously the dirstate wasn't updated, so if you changed the file to look like the original parent, it might be considered unmodified relative to the new parent.
author Thomas Arendsen Hein <thomas@intevation.de>
date Wed, 10 Aug 2005 06:47:46 +0100
parents b8ff3f8c4062
children c2e77581bc84 d4cb383e7de7 62ec665759f2 01215ad04283
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