Commit Graph

9425 Commits

Author SHA1 Message Date
mpm@selenic.com
ffc0d3cdc2 commands: better argument processing, per-command help
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

commands: better argument processing, per-command help

This passes command line arguments as positional arguments rather than
as a list and attempt to catch exceptions if the arguments don't match up.

It also adds 'hg help [cmd]' which prints the syntax and docstring for
the given command.

manifest hash: cef3ac7076f99fce4265a5dc7acb57fb03d93270
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnghXywK+sNU5EO8RAv+5AJ9MfCCRxE+pNu3i44v5I4IyQoRaiQCeNqEK
wBzAiP+Q6F/9PL2xOrrZGHw=
=EYdk
-----END PGP SIGNATURE-----
2005-06-01 11:11:19 -08:00
mpm@selenic.com
c2d54398a7 commands: fix up some help strings
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

commands: fix up some help strings

manifest hash: e9e6061cd37d77e8061cab6a0cd3ca701e6900d7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCngG/ywK+sNU5EO8RAnhCAJ422e7LecJ5D/15I5PcQZxGvsgvvQCeOWIb
7LTyyAYDeht6yOQCdLWmXIE=
=bjQG
-----END PGP SIGNATURE-----
2005-06-01 10:43:11 -08:00
mpm@selenic.com
4e26999123 hg undo: fixup working dir state
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg undo: fixup working dir state

manifest hash: 60fd7a5621f7c4e87c7c36097aaf11b22e7ee0b4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCngETywK+sNU5EO8RAiC/AKChvIgy61YfOLJcTQg5BKkTLLErRgCgnJMr
+xb+XsjeNfK+83MzeuE8UOk=
=EIlj
-----END PGP SIGNATURE-----
2005-06-01 10:40:19 -08:00
mpm@selenic.com
4cc432f9f1 Beginning of new command parsing interface
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Beginning of new command parsing interface

This adds commands.py, with a primary interface dispatch(args)

Dispatch searches a table of known commands, handles switches, sets up
a repo object if appropriate, and dispatches the command.

It also handles KeyboardInterrupt and can handle similar exceptions in
the future.

If the command is unknown, it falls through to the current command handler.

Commands currently handled by the new scheme: help, init, and annotate

manifest hash: 134cd032c880985e3f92f82efb8b629dd862ba4c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnXEGywK+sNU5EO8RAuDAAJ9q7K4w7qGVWv1NWjCPFGO/UJc6VQCdEhMQ
sBBlSRzah9QPy8K94catZyg=
=wuRf
-----END PGP SIGNATURE-----
2005-06-01 00:25:42 -08:00
mpm@selenic.com
91589c0bf7 revlog: remove some unnecessary imports
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

revlog: remove some unnecessary imports

manifest hash: 63c887eceb54c8bd5a10692a905fb79079057246
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnXASywK+sNU5EO8RAkxVAJ92do7puoVbgHE2whbow4MGKKv4pQCeMmms
bt2r/9oVoFclTh2dL3SaQ2Q=
=Jeuv
-----END PGP SIGNATURE-----
2005-06-01 00:21:38 -08:00
mpm@selenic.com
5064b78681 Move ui class to its own module
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Move ui class to its own module

manifest hash: f75c8f9cdfe16f143ab633d0072c14ba88ac88be
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnVxxywK+sNU5EO8RAgPgAJ48p7w4Do/saCC8WkBvHj/rdnoiEgCgrSs9
Wu1fOSgST3rn/2JpZAdFRdA=
=91tt
-----END PGP SIGNATURE-----
2005-05-31 22:57:53 -08:00
mpm@selenic.com
79bacd4c40 hg rawcommit command
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg rawcommit command

From: Christopher Li <hg@chrisli.org>

This allows direct access to the commit command, primarily for
importing from other SCMs.

manifest hash: bea39fa8207582c9fa7ba0904721eb5113c61cf4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnUinywK+sNU5EO8RAhWqAJ9PiafRbfEIA3VsO07BbGZr5adNvgCfT2k7
blYTdkrIiRzzCxn6yPq8Yu4=
=o8k0
-----END PGP SIGNATURE-----
2005-05-31 21:33:27 -08:00
mpm@selenic.com
c6171242df hgweb: add template filters, template style maps, and raw pages
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: add template filters, template style maps, and raw pages

Template filters:

in templates, you can now specify a chain of filters like

#desc|firstline|escape#
#desc|escape|addbreaks#
#date|age#

to specify how you'd like raw text (or whatever) to be transformed.

Template style maps:

add ;style=foo to a URL and we'll use templates/map-foo if it exists.

Raw output:

Together, these two features make it east to implement raw
downloadable files and patches. Simply link to the same page with
style=raw and present the output as unfiltered text/plain with that
template.

manifest hash: 5954a648b3d6b4e6dc2dcd1975f96b4b0178da2a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnUMyywK+sNU5EO8RAkKjAJ9h9JElSCbWBPUnL+koCSDxgo38AwCgrccM
0qwyKdh/fUNglICxSh3HBNA=
=Svlo
-----END PGP SIGNATURE-----
2005-05-31 21:10:10 -08:00
mpm@selenic.com
4c466962c7 annotate: memory efficiency
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

annotate: memory efficiency

Keep track of how many times a given ancestor is referenced and delete
the annotation information after it's no longer relevant. This tends
to reduce the number of cached revisions to just a couple.

manifest hash: 281e48b67ce310e355bed1615e0f16a643850f56
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnJjyywK+sNU5EO8RAkZ1AKCugPjkRgwVB+71amZf8H5dLCbNvgCfePIB
4FHI1c9IOEzHUNkYPDGqt+0=
=OnFo
-----END PGP SIGNATURE-----
2005-05-31 09:03:46 -08:00
mpm@selenic.com
8037bd584f annotate: deal with merges
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

annotate: deal with merges

This rewrite of the annotate code deals with merges:
- - find all ancestors
- - sort ancestors topologically
- - for each ancestor, pairwise annotate with parents
- - keep a cache of annotations for efficiency

manifest hash: b960d9b9c6a7f6ba351c97675b00a1dd3004dcf1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCnJclywK+sNU5EO8RAphZAKCkUuHh4jEJz7YwD9uzCT76GaSR/wCfUVUQ
VbGna/9jrOAFlrB3mZ3e4qg=
=yDFy
-----END PGP SIGNATURE-----
2005-05-31 08:56:05 -08:00
mpm@selenic.com
49b6b62ead hgweb: fix tip so that it doesn't need refreshing
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: fix tip so that it doesn't need refreshing

manifest hash: 5bf1837a29c5612872ab206053f9d15e899e3664
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCm1mhywK+sNU5EO8RAjdQAKCLrRFv2/rfHYNI2tFvF5HKINaTjQCfRhxo
ca39aZ0SaNeCBqc1nMPOTcw=
=4pHG
-----END PGP SIGNATURE-----
2005-05-30 10:21:21 -08:00
mpm@selenic.com
74463f46b4 hgweb: add view-only support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: add view-only support

Turning on hgweb.viewonly prevents pulls. This is a good idea for
machines with limited CPU/bandwidth.

manifest hash: 68d1d04dad83743f3326e8b4f2e51387787f06c0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCm0tnywK+sNU5EO8RAm1fAJ9rNjWOr+e3UosFyauBSEgyie8meACeKwjc
QqbfuXPLg/+TKr2HIrC3DA4=
=i8Yj
-----END PGP SIGNATURE-----
2005-05-30 09:20:39 -08:00
mpm@selenic.com
e4703accd9 hgweb: make age() smarter
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: make age() smarter

manifest hash: 3aa19b2960d81843e573a8ce79a242defeb80f6a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCm0JYywK+sNU5EO8RAvLUAKCJbWqvnzfirS64LbaWbBaWlkfbfACcCyGq
Y9UMZRGDBGCEIVu9f/F/F6U=
=+ULo
-----END PGP SIGNATURE-----
2005-05-30 08:42:00 -08:00
mpm@selenic.com
55d14e5d8d Changes to network protocol
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Changes to network protocol

Stream changes at the delta level rather than at whole delta groups
 this breaks the protocol - we now send a zero byte delta to indicate
 the end of a group rather than sending the entire group length up front
Fix filename length asymmetry while we're breaking things
Fix hidden O(n^2) bug in calculating changegroup
 list.append(e) is O(n), list + [element] is not
Decompress chunks on read in revlog.group()
Improve status messages
 report bytes transferred
 report nothing to do
Deal with /dev/null path brokenness
Remove untriggered patch assertion

manifest hash: 3eedcfe878561f9eb4adedb04f6be618fb8ae8d8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmzlqywK+sNU5EO8RAn0KAJ4z4toWSSGjLoZO6FKWLx/3QbZufACglQgd
S48bumc++DnuY1iPSNWKGAI=
=lCjx
-----END PGP SIGNATURE-----
2005-05-30 08:03:54 -08:00
mpm@selenic.com
32cfa6a5d1 merge: add count of new manifests, files, and revisions
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge: add count of new manifests, files, and revisions

manifest hash: ff29e3124693a0172ac936fac03fd73cc91778f5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmfrjywK+sNU5EO8RAnHZAJ4gwnv4QUipIcP2PhyFVS1lXh9TQwCgipSi
r+6d9lUHu2U9UJGFkJPyi/4=
=Caod
-----END PGP SIGNATURE-----
2005-05-29 09:24:51 -08:00
mpm@selenic.com
afc4fce136 merge: short-circuit search for merge into empty repo
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge: short-circuit search for merge into empty repo

We should have 3 cases for merge:

- - we have no changesets
- - we have less than half the changesets
- - we have more than half the changesets

For no changesets, we can immediately tell that we need everything.
This happens when we initially branch from a remote repo, so we simply shortcircuit the search and grab everything from the root

When we're actually tracking a project, we should generally have most
of the changesets, so the current search algorithm should minimize
searching.

It should rarely occur that upstreams gets far ahead of us, in which
case, we suffer a longer search.

manifest hash: eabd55841b03225176ea72b985aad36431a438a9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmfajywK+sNU5EO8RAuyKAKCf7Nw6XSK5HEzbrZae7Q06e3dk4wCgjbK6
YUTEfkpPP1h3mNHIHRKz+aI=
=eGMq
-----END PGP SIGNATURE-----
2005-05-29 09:06:43 -08:00
mpm@selenic.com
0c92a53dcc Fix two minor merge bugs
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fix two minor merge bugs

Fix variable name for printing manifest node
Trouble with empty between lists from remote repos

manifest hash: 000e9267b17c870f673210c8aae50d99e0e5b72b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmOmtywK+sNU5EO8RAs7AAJ9dVyOn5Ne+EopdUqOe8IKVH86R3wCfUhNO
CLpuRURCB5Ang19YZ5MLGeg=
=NF1T
-----END PGP SIGNATURE-----
2005-05-28 13:59:09 -08:00
mpm@selenic.com
68acd15143 Add $HGEDITOR hook and example script
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Add $HGEDITOR hook and example script

This hook makes signing commits easier.

manifest hash: ba8723e4b52323528dfa681a58658a5b4b2c02e4
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmONFywK+sNU5EO8RAj87AKCEa5r9EepdYPiYRGo/jAjjwCIcVACfeBPe
QDInXr7karo6/P8d2bM/tVU=
=rxIQ
-----END PGP SIGNATURE-----
2005-05-28 13:31:49 -08:00
mpm@selenic.com
868bdf2214 Add manifest hash to commit messages for easy signing
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Here's an example:

This is the current manifest hash:

 e06d11165178d03c296ea7e7854f91e612a8d6bf

It was copied from the HG: comment lines that are added to the commit.
Then I wrote this commit message, signed it, then closed the commit.

The manifest hash is a hash of all the files in the project together
with the hashes of manifest's parents. Thus, signing the manifest hash
allows us to verify the entire state of project at the time of the
commit.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFCmMrcywK+sNU5EO8RAoKwAJ4gPz2dI1Xh44N3tra43clUGhLVggCbBxuu
8pBZt85SA9ty39+e2+hL9WI=
=t/xS
-----END PGP SIGNATURE-----
2005-05-28 11:48:00 -08:00
mpm@selenic.com
b43cebfe40 Improved binary diff from Christopher Li
This is more intelligent/efficient by combining neighboring inserts,
replaces and deletes. Passes test of converting kernel repo, but
doesn't appear to substantially affect compression or performance.
2005-05-27 19:38:34 -08:00
mpm@selenic.com
dbf12abbe4 hgweb: Sort tags by revision number 2005-05-27 13:30:35 -08:00
mpm@selenic.com
9a234b70ad hgweb: Fix navigate to 0 bug 2005-05-27 12:45:41 -08:00
mpm@selenic.com
57a99c80af Change hg: protocol name to http: and http: to old-http:
hg: will continue to work for a bit
old-http: will be phased out soon
2005-05-27 12:26:14 -08:00
mpm@selenic.com
d5d19174b2 hgweb: make navigation of changesets a bit nicer 2005-05-26 22:47:43 -08:00
mpm@selenic.com
1dd7e5c920 hgweb: alternating colors for multifile diffs 2005-05-26 20:37:05 -08:00
mpm@selenic.com
3d6a44cc6c trivial tweak to merge3 2005-05-26 18:20:24 -08:00
mpm@selenic.com
59375bb06a hg diff: fix missing final newline bug 2005-05-26 13:02:28 -08:00
mpm@selenic.com
546aa0fdbb hgweb: add tags links and manifest links
This adds a simple new tags page to browse by tag, adds the tag link
everywhere, and adds manifest links to the tags and changelog pages.
2005-05-26 12:24:01 -08:00
mpm@selenic.com
474171f31c hgweb: don't blow up on search for unknown keys 2005-05-26 10:11:05 -08:00
mpm@selenic.com
7ac7091e05 Add tag/rev/node search to hgweb 2005-05-26 10:08:47 -08:00
mpm@selenic.com
9be61ee466 Make fancyopts handle no arguments
This lets hg serve work with no args.
2005-05-26 09:56:20 -08:00
mpm@selenic.com
f86593199d Make undo and recover friendlier
Add them to the help display, have them report failure
2005-05-26 09:48:50 -08:00
mpm@selenic.com
683f21be6a Implement recover and undo commands
This adds an interface to transaction to rollback with a given journal file
and commands to rollback an existing .hg/journal or .hg/undo.
2005-05-26 09:04:54 -08:00
mpm@selenic.com
0058e326b8 Simply repository locking
This is a first pass at implementing repo locking. Next up, journal
recovery and undo.
2005-05-26 08:53:04 -08:00
mpm@selenic.com
7bd4038f51 Add 'hg serve' command for stand-alone server
This adds a simple stand-alone web server mode to hg that exports the
current repo for merging and browsing. The default port is 8000.
2005-05-25 16:27:10 -08:00
mpm@selenic.com
949217673f Install the templates where they can be found by hgweb.py
This ought to use package_data but that doesn't exist in Python 2.3.
So we do a hack of install_data and use glob.

This also adds templatepath() to hgweb.py which finds the templates
relative to hgweb.py's location.
2005-05-25 16:21:06 -08:00
mpm@selenic.com
2424ff846c Fix some broken parent links in hgweb 2005-05-25 09:04:38 -08:00
mpm@selenic.com
7400685c33 Merge from hgweb 2005-05-25 08:54:54 -08:00
mpm@selenic.com
34f1196e86 Bail on attempts to do an empty commit 2005-05-25 08:53:34 -08:00
mpm@selenic.com
a9d4acea6a Pass filename to $HGMERGE
This lets the merge program be slightly more user-friendly
2005-05-24 23:34:06 -08:00
mpm@selenic.com
0616f6d8db Improve pruning of branches in outstanding changeset algorithm
These changes make the client keep track of what it's seen more
carefully to avoid some redundant requests.
2005-05-24 23:13:25 -08:00
mpm@selenic.com
dba1a9fc73 A new ancestor algorithm
The old ancestor algorithm could get fooled into returning ancestors
closer to root than it ought to. Hopefully this one, which strictly
orders its search by distance from room, will be foolproof.
2005-05-24 23:11:44 -08:00
mpm@selenic.com
cbe151d218 Handle merge with deletions
If you merge with a repo that has deleted a file after editing it, hg
attempted to resolve the file. This (correctly) resulted in hg verify
errors because the resolved version didn't show up in the manifests.

This moves the manifest resolution before file resolution and decides
which files to resolve based on the (partially) resolved manifest.
After files are resolved, the final manifest is committed.
2005-05-24 20:30:35 -08:00
jake@edge2.net
8778053fe5 changed pos to rev for changelog cmd, changed & to ; 2005-05-24 07:42:05 -07:00
mpm@selenic.com
a2b716acff Fix transaction handling bug by reverting fileopener change 2005-05-23 22:14:41 -08:00
mpm@selenic.com
e4397937b5 Prettify the web interface
Add header, footer templates
Add null parent handling
Combine files and directories
Add parity flag for alternating line colors
Add line numbers to filerevision
2005-05-23 20:57:48 -08:00
mpm@selenic.com
84eb10c391 Minor safety checks to manifest diff 2005-05-23 16:05:48 -08:00
mpm@selenic.com
61d83d35a2 Revamped templated hgweb 2005-05-23 16:00:02 -08:00
mpm@selenic.com
97321927a5 Merge from hgweb 2005-05-22 08:13:38 -08:00
jake@edge2.net
74291d2018 added annotate
fixed error page to get tmpl_dir
2005-05-21 22:43:14 -07:00
jake@edge2.net
3e268da5fc change template to a generator
add write call to output generator
2005-05-21 20:31:54 -07:00
jake@edge2.net
b58f1149d5 fix problem with non wrapping file list
fix file list not appearing in checkin
2005-05-21 16:21:16 -07:00
jake@edge2.net
318e83d25f added template support for some hgweb output, also, template files for
the parts that have been converted
2005-05-21 16:13:42 -07:00
mpm@selenic.com
e7e047fdee Add safety checking to mpatch 2005-05-21 13:14:58 -08:00
jake@edge2.net
1f51ebafe5 making hgweb class 2005-05-21 11:46:16 -07:00
jake@edge2.net
e4aeedbc5c moving hgweb to mercurial subdir 2005-05-21 11:35:26 -07:00
mpm@selenic.com
a264d87bbd Fix braindamaged import in mdiff. 2005-05-20 19:19:25 -08:00
mpm@selenic.com
b4d3ada8cd Remove some debugging code from lazyparser 2005-05-20 17:50:11 -08:00
mpm@selenic.com
36152aee36 Remove python version of the patches code 2005-05-20 17:49:25 -08:00
mpm@selenic.com
4e35c669ab Add a function to return the new text from a binary diff 2005-05-20 17:42:29 -08:00
mpm@selenic.com
ea4eabe690 Add code to retrieve or construct a revlog delta 2005-05-20 17:40:24 -08:00
mpm@selenic.com
484dde5595 Add fileopener to move some pathname knowledge from filelog to repository 2005-05-20 17:38:01 -08:00
mpm@selenic.com
a8e8d775f0 Make revision code slightly faster 2005-05-20 17:36:02 -08:00
mpm@selenic.com
a3b0765ce7 Only use lazy indexing for big indices and avoid the overhead of the
lazy index in the small index case.
2005-05-20 17:35:20 -08:00
mpm@selenic.com
06820561ca Make lazyindex load slightly faster 2005-05-20 17:34:04 -08:00
mpm@selenic.com
24c5c243a2 Simplify checkout slightly, replace checkdir with os.makedirs 2005-05-20 17:33:24 -08:00
mpm@selenic.com
066f1e4183 Sort files on check-in for good I/O patterns 2005-05-20 17:31:55 -08:00
mpm@selenic.com
8b0e7913c6 Make compression more intelligent:
- we don't attempt to compress things under 44 bytes (empirical)
- we check whether larger objects actually compress
- we tag objects to indicate their compression
  NUL means uncompressed and starts with NUL
  x means gzipped and starts with x (handy)
  u means uncompressed, drop the u
2005-05-20 17:31:12 -08:00
mpm@selenic.com
c60581071a Move hg from storing files in data with base64 encoding to full
pathnames with .i and .d extensions. This means we naturally get good
FS layout, and cp and tar fix things up nicely rather than pessimizing
layout.
2005-05-20 17:27:21 -08:00
mpm@selenic.com
836655a3c5 Annotate was being too clever trying to work in place, and triggering
its assert. Simplify it, fix it, and speed it up a tiny bit.
2005-05-20 17:22:02 -08:00
mpm@selenic.com
7a540c10d5 Warn if we fail to truncate something 2005-05-20 17:20:39 -08:00
mpm@selenic.com
aea9850302 Make prompting go
Minor UI tweaking
Add merge prompting
2005-05-18 18:25:37 -08:00
mpm@selenic.com
fb1218fe40 Add paranoia to diff code 2005-05-18 16:59:54 -08:00
mpm@selenic.com
21089cd87c Add iterator to the lazymap code 2005-05-18 16:47:49 -08:00
mpm@selenic.com
785f7947d7 Add updated merge3 code 2005-05-18 16:45:44 -08:00
mpm@selenic.com
2bbb8b5a72 Beginnings of transaction undo support 2005-05-18 16:31:51 -08:00
mpm@selenic.com
7e5280f30b Refactor merge code
Delete old code
Fix calculation of newer nodes on server
Fix branch recursion on client
Fix manifest merge problems
Add more debugging and note messages to merge
2005-05-18 16:29:39 -08:00
mpm@selenic.com
060e7fe13f Fix manifest merge swap bug
Add more debug info to merge
2005-05-17 13:38:21 -08:00
mpm@selenic.com
f2ebab86cb Friendlier exceptions for unknown node errors 2005-05-17 12:20:29 -08:00
mpm@selenic.com
ca952e3eda Fix merge bug, I hope 2005-05-17 11:40:45 -08:00
mpm@selenic.com
6795b63eb7 More useful message on broken addgroup chain 2005-05-17 11:40:26 -08:00
mpm@selenic.com
77028dbcc6 Add -q quiet option
Make -d and -v do something
Add a bunch of debug and note messages
2005-05-17 11:06:59 -08:00
mpm@selenic.com
e85a2a9d28 Gotos are embarrassing. 2005-05-17 10:13:00 -08:00
mpm@selenic.com
08e7e95781 Add basic annotation support
filelog.annotate() will get the change number on each line.

Singed-Off-by: Christopher Li<hg@chrisli.org>
2005-05-17 01:12:30 -08:00
mpm@selenic.com
f16efef9d1 Add "HG: merge resolve" to editor text for merge 2005-05-17 01:07:57 -08:00
mpm@selenic.com
619ec7bc34 Fix bug in lazymap code
Add a sanity check to addgroup
2005-05-17 01:07:01 -08:00
mpm@selenic.com
1bf1e8bf4c Add lazy{parser,index,map} to speed up processing of index files 2005-05-17 00:33:22 -08:00
mpm@selenic.com
8dcd538ef7 Fix a bug in patches() if there's not text and no patch 2005-05-17 00:32:18 -08:00
mpm@selenic.com
00b4996d46 Change revlog to use new patch code 2005-05-16 22:10:02 -08:00
mpm@selenic.com
f161c8bdc8 Add an O(m + nlog n) patching extension 2005-05-16 22:08:33 -08:00
mpm@selenic.com
e56388d1b4 Add mdiff.patches to speed up applying thousands of patches to the manifest 2005-05-14 10:27:14 -08:00
mpm@selenic.com
7c6f4b49c8 Add tag support 2005-05-13 13:12:32 -08:00
mpm@selenic.com
d9094f35ef Fix up a bunch of bugs in the new merge code
Move getchangegroup/addchangegroup to generators
2005-05-13 11:47:16 -08:00
mpm@selenic.com
264f689db9 Diff in subdirectories from Jake Edge
Dates in diff
Fix O(n^2) behaviour of manifest diff
Add a/ and b/ to work with patch -p1
2005-05-12 17:54:55 -08:00
mpm@selenic.com
f6de60c79e Add hg:// protocol
Fix some of the getchangegroup logic
2005-05-12 01:21:58 -08:00
mpm@selenic.com
27770f7f5d Add getchangegroup code to efficiently calculate and request a changegroup 2005-05-11 15:06:41 -08:00
mpm@selenic.com
1171a0a7b6 From: Thomas Arendsen Hein <thomas@intevation.de>
Good. Attached is a patch which also tries to use $EMAIL as the
commit user and removed a try/except by using os.environ.get.
2005-05-11 14:38:26 -08:00
mpm@selenic.com
40a6faf20b Fix resolve bug putting unchanged files in resolve cset 2005-05-11 09:44:12 -08:00
mpm@selenic.com
8bd85e1add Add changegroup support 2005-05-10 00:40:49 -08:00
mpm@selenic.com
22ff07bd9b Fix recursion depth trouble with ancestor algorithm 2005-05-10 00:34:57 -08:00
mpm@selenic.com
af712781e7 Fix occassional diff bug with manifests 2005-05-10 00:33:48 -08:00
mpm@selenic.com
60afa3551c Attempt to recover journal automatically 2005-05-10 00:32:05 -08:00
mpm@selenic.com
97820ba3c6 Fix multiple changes to file per transaction 2005-05-10 00:31:00 -08:00
mpm@selenic.com
9bc9418a12 Fix truncate logic for indices again 2005-05-07 16:33:31 -08:00
mpm@selenic.com
c99659b446 Date is an int as a string in changelog 2005-05-07 16:33:09 -08:00
mpm@selenic.com
90b1458af6 Move hex/bin bits to revlog
Handle lookup of rev -1 of changelog
2005-05-07 16:12:31 -08:00
mpm@selenic.com
8e1b58ff84 Add smart node lookup by substring or by rev number 2005-05-07 16:11:36 -08:00
mpm@selenic.com
e10ce18d5b unidiff: punt on comparing empty files 2005-05-07 16:10:50 -08:00
mpm@selenic.com
ec57dd3c61 Support for 0, 1, or 2 diff revs 2005-05-07 09:27:52 -08:00
mpm@selenic.com
6d687f705b Add diffrevs function to compare two nodes 2005-05-06 09:09:35 -08:00
mpm@selenic.com
daf47e9d59 Fix up commit arg breakage 2005-05-05 15:20:56 -08:00
mpm@selenic.com
e36ca808fb Make diffdir take a revision argument 2005-05-05 15:05:50 -08:00
mpm@selenic.com
cd521a6348 Simplify integrity checking
More fiddling with transaction truncate points (still untested)
2005-05-04 22:51:25 -08:00
mpm@selenic.com
fc0d37860b Fix corruption from manifest.listcache optimization
Put the remove edit text in the right place
2005-05-04 22:47:25 -08:00
mpm@selenic.com
1fb1f1ae9a The actual hg remove fix from Thomas Hein 2005-05-04 15:42:30 -08:00
mpm@selenic.com
1e4e38aea7 From: Thomas Arendsen Hein <thomas@intevation.de>
mercurial 0.4d had the same problems with removing files, but
attached is a patch which fixes that problem.

The key change is in dircache.remove():
 del self[f] should have been del self.map[f]

This error was hidden by the 'except: pass' statement.
2005-05-04 15:32:16 -08:00
mpm@selenic.com
e35c6e552f Fix network pull of repo files with "%" in their base64 encoding. 2005-05-04 10:07:10 -08:00
mpm@selenic.com
070c0db3c5 Fix off-by-one truncation in transaction rollback. 2005-05-04 09:33:46 -08:00
mpm@selenic.com
89e337b327 Fix empty transaction destruction 2005-05-04 09:32:39 -08:00
mpm@selenic.com
78a55d241c Delete journal on destruction even if there are no entries to replay. 2005-05-04 09:30:56 -08:00
oxymoron@cinder.waste.org
c7e0bb4f93 Fix linking of changeset revs when merging 2005-05-03 23:37:43 -08:00
mpm@selenic.com
b713cdf587 Ignore empty ignore patterns 2005-05-03 18:51:52 -08:00
mpm@selenic.com
45bf6cd115 Fix exception handling for reading current working version 2005-05-03 18:36:16 -08:00
mpm@selenic.com
62cccd42a6 Handle nullid better for ancestor 2005-05-03 18:35:03 -08:00
mpm@selenic.com
ca8cb8ba67 Add back links from file revisions to changeset revisions
Add simple transaction support
Add hg verify
Improve caching in revlog
Fix a bunch of bugs
Self-hosting now that the metadata is close to finalized
2005-05-03 13:16:10 -08:00