Commit Graph

343 Commits

Author SHA1 Message Date
mpm@selenic.com
fad79b21a5 Make most file opening binary
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Make most file opening binary

This should make Windows happier

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

iD8DBQFCp52mywK+sNU5EO8RAtOzAJwK8MOtl3B0MDAXyJDnDFt9mHNINwCfVdRG
8z35hXvIJhz3sRo0ogdUZ0s=
=eM45
-----END PGP SIGNATURE-----
2005-06-08 17:38:46 -08:00
mpm@selenic.com
7ddff96dc1 Add wopener for opening files in the working directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Add wopener for opening files in the working directory

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

iD8DBQFCp5qxywK+sNU5EO8RAkfAAJ9C7V8zlbUVM8Dfs4raXMtT2bk4RQCfRfVt
IfYoaVsbOUW4U1XipOZycAw=
=5JDH
-----END PGP SIGNATURE-----
2005-06-08 17:26:09 -08:00
mpm@selenic.com
7209a3bed2 replace hg branch with hg init [source]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

replace hg branch with hg init [source]

This does the hardlink trick if both repos are on the same filesystem,
otherwise it does a pull.

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

iD8DBQFCp5anywK+sNU5EO8RArdDAJ9Tiia0YZmZ6xiTYdKhZJ2UZY8V5wCfeoPy
DamQ2Zyz3yTjNqu4ge0CuRQ=
=EXv5
-----END PGP SIGNATURE-----
2005-06-08 17:08:55 -08:00
mpm@selenic.com
346aff0bc3 hg commit: add -t and -l options
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg commit: add -t and -l options

This lets you specify commit text on the command line or point to a
file containing it.

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

iD8DBQFCp40yywK+sNU5EO8RAgirAJ9ZAkfN+RyhPQGJBXKz3f7cR2xC0gCgo5l2
I9LQHVXT22rPb4tYUVq/bgQ=
=pA04
-----END PGP SIGNATURE-----
2005-06-08 16:28:34 -08:00
mpm@selenic.com
62655b2307 commit: edit text fixups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

commit: edit text fixups

if given text, don't call editor
if editor returned only whitespace, abort

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

iD8DBQFCp4zXywK+sNU5EO8RAqCrAJ921nNgI/akM8oacXewkIYdxaoiAgCffOP5
UOIl4GzvkOkcqd5YFS83pa8=
=seZT
-----END PGP SIGNATURE-----
2005-06-08 16:27:03 -08:00
mpm@selenic.com
86e8dabf8d commit: abort with empty commit text
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

commit: abort with empty commit text

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

iD8DBQFCp4oLywK+sNU5EO8RAulBAKCOhHn6p/xNaJUFs/IsOY8+1ad3ZQCfbUNb
XigHO+zgvzzsFWIvLnZFiGI=
=lldi
-----END PGP SIGNATURE-----
2005-06-08 16:15:07 -08:00
mpm@selenic.com
78007b3d26 hg pull: ditch .hgpaths for new .hgrc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg pull: ditch .hgpaths for new .hgrc

The format is like this:

[paths]
main = http://selenic.com/hg
hgweb = http://edge2.net/hg/hgweb/
hgdoc = http://edge2.net/hg/man/

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

iD8DBQFCp3VKywK+sNU5EO8RAsbfAKCrzNh2yKI0KF9qCzHPz7eXjx688wCeKmIL
RXfAOuycKOTVJU6oFnBbBBo=
=OjMb
-----END PGP SIGNATURE-----
2005-06-08 14:46:34 -08:00
mpm@selenic.com
9299550092 ui: add configuration file support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

ui: add configuration file support

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

iD8DBQFCp3TyywK+sNU5EO8RArYYAJ4+wWQmO7HIXewuGwB3a5DjiWGHwgCcDpeF
Pz2lScnpVZPPbDQiS+VnBnM=
=ffwc
-----END PGP SIGNATURE-----
2005-06-08 14:45:06 -08:00
mpm@selenic.com
70fff322e4 verify: don't die from new permission bits
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

verify: don't die from new permission bits

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

iD8DBQFCp3TQywK+sNU5EO8RAkiSAKCd0wEciYzcZYmeMic+9QLVtbf9SACginpE
1pjBr5SyqQu66rh+zWPgZqQ=
=cgDM
-----END PGP SIGNATURE-----
2005-06-08 14:44:32 -08:00
mpm@selenic.com
c91ce39fc5 mpatch: properly NULL out return in lalloc
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

mpatch: properly NULL out return in lalloc

From: K Thananchayan <thananck@yahoo.com>

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

iD8DBQFCp0B+ywK+sNU5EO8RAuGdAJ4iZOnxExpZuhTjO0fcOFE9mNn/IACgjXbw
7mVqfBJeLbxViBorImLE12k=
=A1Vj
-----END PGP SIGNATURE-----
2005-06-08 11:01:18 -08:00
mpm@selenic.com
c9932ec2cb hg cat: relative file support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg cat: relative file support

also fix a bug in relpath

From: K Thananchayan <thananck@yahoo.com>

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

iD8DBQFCp0AGywK+sNU5EO8RAgfVAJ9vlXfLKs1A/TegG3wuPeuxoSQMCACbBPGF
RObiYj1st0k1zQYBlvSlQbk=
=GZbB
-----END PGP SIGNATURE-----
2005-06-08 10:59:18 -08:00
mpm@selenic.com
2665f365bd permissions merge: remove a debugging print
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

permissions merge: remove a debugging print

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

iD8DBQFCpz4KywK+sNU5EO8RAi+YAKCBmiiDkhe2ygCv4LF21RS3/iH0VgCeLwd5
c/yhTklZ9lnLWXy5dmuPNZk=
=UtDf
-----END PGP SIGNATURE-----
2005-06-08 10:50:50 -08:00
mpm@selenic.com
551154e610 unidiff: handle empty diffs more gracefully
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

unidiff: handle empty diffs more gracefully

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

iD8DBQFCpz0uywK+sNU5EO8RAnt4AJ9pyaS6/xNnlhCUocq3m0HbCwHJ/gCgrP/H
IvBJtq1eXvRedfitF25vBgw=
=pd5n
-----END PGP SIGNATURE-----
2005-06-08 10:47:10 -08:00
mpm@selenic.com
e2c2b50378 merge: update permissions even if file contents didn't change
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge: update permissions even if file contents didn't change

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

iD8DBQFCpz0PywK+sNU5EO8RArOMAJ9CImCJMdubq5HsB3KrxOt1EG7PEgCgpPWg
lnVxviZhv31EHtnxujQBoqM=
=qxYq
-----END PGP SIGNATURE-----
2005-06-08 10:46:39 -08:00
mpm@selenic.com
dda2865a7f add tracking of execute permissions
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

add tracking of execute permissions

Changes to executable permissions are now tracked. We only track one
bit here as the others tends to be problematic. "hg manifest" now
shows file permissions.

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

iD8DBQFCpzYBywK+sNU5EO8RAgkMAJ48l2ac12E20EFS24/i8ScwOtG4HwCgkbaE
ue6l1RJroqzNA7vNeqwCwK4=
=sEmJ
-----END PGP SIGNATURE-----
2005-06-08 10:16:33 -08:00
mpm@selenic.com
850c76c740 various merge improvements
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

various merge improvements

add -C flag: force update and overwrite local changes
add -m flag: allow merges with conflicts
  we no longer do merge by default
  and we print a warning message when the merge fails
fix bug in printing merge failure message
fix bug diffing files in 'm' state

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

iD8DBQFCpm6tywK+sNU5EO8RAvb+AJ0euC3YkUYA944hds3ooPxbw6NpVwCfc1dj
TiNsPIds560S5jgw44eWNto=
=GPXN
-----END PGP SIGNATURE-----
2005-06-07 20:06:05 -08:00
mpm@selenic.com
97511c7cdc merge: Fix bug where we overwrote local when local was newer
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge: Fix bug where we overwrote local when local was newer

Spotted by Arun Sharma

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

iD8DBQFCpl9oywK+sNU5EO8RAtseAJ92EEMovbVy0J1rFuxcGvED066m+ACfaWYF
Q1/PcvkuH9aIqwMNkMK+aPU=
=61JM
-----END PGP SIGNATURE-----
2005-06-07 19:00:56 -08:00
mpm@selenic.com
6fe3792f6b diff: use tab to separate date from filename
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

diff: use tab to separate date from filename

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

iD8DBQFCpdDxywK+sNU5EO8RAhKwAKCFcUa/p6ALbjoOl4I8VKJknZtu7gCdFvoE
HQn1iq4gnJoeurB7YLMRpqc=
=ltYP
-----END PGP SIGNATURE-----
2005-06-07 08:53:05 -08:00
mpm@selenic.com
2155d2e394 hgweb: ignore pipe errors
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: ignore pipe errors

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

iD8DBQFCpVkhywK+sNU5EO8RAo5aAJ9KPR/Gwp8YBswhyKqzVYVlgBl49ACghr65
sGKxB7ctoX9XB1WDht8WUzk=
=J2bp
-----END PGP SIGNATURE-----
2005-06-07 00:21:53 -08:00
mpm@selenic.com
e6b0f779c9 Reverse order of hg log and hg history lists
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Reverse order of hg log and hg history lists

Suggested by Arun Sharma

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

iD8DBQFCpVXDywK+sNU5EO8RApeOAJsFXG0qeO+yidIwyPrBHSmDMaKfdwCeMAWl
uClUZxGNburRXmNLLAPHk9k=
=1ytE
-----END PGP SIGNATURE-----
2005-06-07 00:07:31 -08:00
mpm@selenic.com
ee779f3908 hgweb: shrink the default changelog list to 10
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: shrink the default changelog list to 10

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

iD8DBQFCpVUbywK+sNU5EO8RAlmTAJ9HzQz9C1lmL22IGU0tXYDTLqcVAQCfTD1U
pDF449wXA8ocjAF+UUJ7sL8=
=YyBZ
-----END PGP SIGNATURE-----
2005-06-07 00:04:43 -08:00
mpm@selenic.com
4369356848 unknown command fixups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

unknown command fixups

from Andrew Thompson

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

iD8DBQFCpVTaywK+sNU5EO8RAkvLAJ0ff8/kVQc93jGy5t1uJ5R8m0M4OACfZ1Ba
O7CldaLkwEzqybw/5iL6NAw=
=WGtU
-----END PGP SIGNATURE-----
2005-06-07 00:03:38 -08:00
mpm@selenic.com
f9509bed55 Fix argument processing for patch and rawcommit
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fix argument processing for patch and rawcommit

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

iD8DBQFCpVNMywK+sNU5EO8RAn2nAJ4gBbdn8K6xN55Igh6J2ZJEMgRGBACgr0Xb
KkjbnOrNL5uQmBHx59C7HdY=
=qsQi
-----END PGP SIGNATURE-----
2005-06-06 23:57:00 -08:00
mpm@selenic.com
3dc346edec hgweb: fix non-existent source or destination for diff
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: fix non-existent source or destination for diff

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

iD8DBQFCpJtjywK+sNU5EO8RAsaTAKCso0BDI3GQxN9ZZRNeMXjeZXCXLgCfYM+R
JpTBR7gUZtV+pEexSfFlRDQ=
=moF8
-----END PGP SIGNATURE-----
2005-06-06 10:52:19 -08:00
mpm@selenic.com
d7c489168a Attempt to make diff deal with null sources properly
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Attempt to make diff deal with null sources properly

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

iD8DBQFCpJsdywK+sNU5EO8RAr5gAJ9sIik+3FDyI8UvIvrWlku4QgMZWQCcDFvh
MvtqY8pFYTFLp7tM2zzTlu4=
=a0oy
-----END PGP SIGNATURE-----
2005-06-06 10:51:09 -08:00
mpm@selenic.com
8cb7d2e30b Fix empty repository transaction bug
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fix empty repository transaction bug

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

iD8DBQFCo0lbywK+sNU5EO8RAr0TAJ9g9703187KXlpBOffNUGcYKGTLzwCgrqdq
jYjtTvZZ3nRCt8biaTcad3c=
=+riB
-----END PGP SIGNATURE-----
2005-06-05 10:50:03 -08:00
mpm@selenic.com
1b992606bb implement demand loading hack
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

implement demand loading hack

This attempts to speed up start-up times without pushing imports down
into local scopes.

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

iD8DBQFCo0kHywK+sNU5EO8RAg5HAKCxRKAz3FXDyv4wScq1ZbwTgfPa2gCfW9K+
dg5nC3Uvp4FilP8waF6liAY=
=dolF
-----END PGP SIGNATURE-----
2005-06-05 10:48:39 -08:00
mpm@selenic.com
69571cc22f fix addremove
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

fix addremove

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

iD8DBQFCoqunywK+sNU5EO8RAuICAJ9x7W0xz1ZBJ7nFYiiQEBljyYwqhACfVE7R
oiP0nigB4SzQMMmifrQ7UkA=
=/c5l
-----END PGP SIGNATURE-----
2005-06-04 23:37:11 -08:00
mpm@selenic.com
3ef1f33074 hgweb: watch changelog for changes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: watch changelog for changes

Check the mtime of the changelog for updates on each invocation of
run(). For the standalone server, this means you don't need to re-run
it to pick up changes.

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

iD8DBQFConlTywK+sNU5EO8RAljMAKCigJKR2aXabt1kuYeiAl+PZEN1owCeKShZ
oZKfo+I7e967FqI9l7NIPFE=
=pTp6
-----END PGP SIGNATURE-----
2005-06-04 20:02:27 -08:00
mpm@selenic.com
f490c35a61 Sort tags in revision order
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sort tags in revision order

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

iD8DBQFConLsywK+sNU5EO8RAkBTAJ0c71AIsyi3YFyNIZTAMgEIMgEHNACggAKC
YrPLqJ3nzAX/tLSprvR/SUY=
=WTsq
-----END PGP SIGNATURE-----
2005-06-04 19:35:08 -08:00
mpm@selenic.com
736738b892 minor fixes for update()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

minor fixes for update()

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

iD8DBQFCom+pywK+sNU5EO8RAqOxAJ9Cbk8NTlFAmlF3phcmz9MlaVYRuwCdGDjC
oMFBjhRhvif/nBJbHjqW2Qw=
=RN0T
-----END PGP SIGNATURE-----
2005-06-04 19:21:13 -08:00
mpm@selenic.com
70d641d612 hg help: use docstrings only
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg help: use docstrings only

Now all Mercurial commands are at least partially self-documenting

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

iD8DBQFComzMywK+sNU5EO8RAr3dAJ0dtlW4h7xZgaj1T3lchPnO2HHb/QCfcSnJ
e3SRVwd8DjsfxHFNQfOx+Qk=
=+6jb
-----END PGP SIGNATURE-----
2005-06-04 19:09:00 -08:00
mpm@selenic.com
c92138acf3 unify checkout and resolve into update
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

unify checkout and resolve into update

This replaces checkout and resolve with a single command:

$ hg help co
hg update [node]

update or merge working directory

    If there are no outstanding changes in the working directory and
    there is a linear relationship between the current version and the
    requested version, the result is the requested version.

    Otherwise the result is a merge between the contents of the
    current working directory and the requested version. Files that
    changed between either parent are marked as changed for the next
    commit and a commit must be performed before any further updates
    are allowed.

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

iD8DBQFComS7ywK+sNU5EO8RAmgRAJ96GA6qvHLy0Jp0fzUrR2os2azPuACePsdC
YBldZtA7yIuTnV2vIbn7OSE=
=QtM/
-----END PGP SIGNATURE-----
2005-06-04 18:34:35 -08:00
mpm@selenic.com
cf588a4602 Remove invalid state from dirstate
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Remove invalid state from dirstate

It's no longer needed now that we backup and restore dirstate properly

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

iD8DBQFCojZgywK+sNU5EO8RApaEAKCXO9Tl5h8vAC7GcQyUCx+feFExyACaAjfp
2hWiAJ9+B7EQgx2BJFE9Xek=
=apay
-----END PGP SIGNATURE-----
2005-06-04 15:16:48 -08:00
mpm@selenic.com
c99fbdbb54 Handle unknown commands nicely
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Handle unknown commands nicely

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

iD8DBQFCojXfywK+sNU5EO8RAlniAJ4gow9qBZ80Rvv8J3Rp8Ow2J/HOzwCglI3z
Ra50GpqCglTuqWvPcBNfdMQ=
=2s1i
-----END PGP SIGNATURE-----
2005-06-04 15:14:39 -08:00
mpm@selenic.com
a4d9f7b253 backup dirstate for undo
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

backup dirstate for undo

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

iD8DBQFCojXDywK+sNU5EO8RAotIAKC3P3Oz+9n/EgqkFc0UMTlUErSNAQCgpjYm
hpuZlC4lNO6aRiDfPVDL8Cw=
=DDtT
-----END PGP SIGNATURE-----
2005-06-04 15:14:11 -08:00
mpm@selenic.com
aef4dbabbe Catch broken pipes in command interpreter
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Catch broken pipes in command interpreter

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

iD8DBQFCoipEywK+sNU5EO8RAg2WAKCu3NUArYzOX2UwGj8pv3AnDQCwoQCffPWk
RcaNt0+COwST2FlbQQOxEk8=
=jbZG
-----END PGP SIGNATURE-----
2005-06-04 14:25:08 -08:00
mpm@selenic.com
f95bf8d95c import and startup cleanups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

import and startup cleanups

add commands:run()
add copyright notice to commands
eliminate/reorganize imports to speed up start time:

0.5b:
$ time bash -c 'for i in `seq 100`; do ~/bin/hg > /dev/null; done'

real    0m7.718s
user    0m6.719s
sys     0m0.794s

new:

$ time bash -c 'for i in `seq 100`; do hg > /dev/null; done'
real    0m2.171s
user    0m1.684s
sys     0m0.444s

just python:

$ time bash -c 'for i in `seq 100`; do python -c pass; done'
real    0m0.988s
user    0m0.771s
sys     0m0.207s

Ignoring the fixed cost of loading the Python interpreter, we're 5.6
times faster. With the Python load time, we're still 3.5 times faster.

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

iD8DBQFCoihAywK+sNU5EO8RAqMdAJwMe6Ur0R9G6jjayNa5hH2C3c4k/gCeIYvc
N178vaWWGciX9zq+g5qCAls=
=buhv
-----END PGP SIGNATURE-----
2005-06-04 14:16:32 -08:00
mpm@selenic.com
0b9e66eded migrate remaining commands
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

migrate remaining commands

This removes basically everything from the top-level hg script

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

iD8DBQFCoiD7ywK+sNU5EO8RAh0cAKCeOO9vahYs0tGmMNKk8bflw35p2wCgr6Wr
y0SNLHSVBMCzXtC9zlfDPog=
=3nJx
-----END PGP SIGNATURE-----
2005-06-04 13:45:31 -08:00
mpm@selenic.com
cede7eda00 migrate verify
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

migrate verify

Move the bulk of the verify code into the localrepository class and move
the command into commands.py

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

iD8DBQFCog33ywK+sNU5EO8RApfBAJ4mCmiMmZE1fEfbR6sA+aP1csPvqQCfXHzY
3XK7yc19AivXf5HGKEOL3eM=
=GISf
-----END PGP SIGNATURE-----
2005-06-04 12:24:23 -08:00
mpm@selenic.com
58e0ba5a39 Migrate rawcommit, import, export, history, and merge
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Migrate rawcommit, import, export, history, and merge

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

iD8DBQFCoguVywK+sNU5EO8RAtohAKCe9Qr5R+YeLRluJlTxRGrJW/nnoQCfW/+F
I0BSOeNpb6jdUxTZY1jV0xo=
=hNXm
-----END PGP SIGNATURE-----
2005-06-04 12:14:14 -08:00
mpm@selenic.com
aeaf337d80 big heap of command clean-up work
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

big heap of command clean-up work

Migrate add, forget, remove, commit, diff, addremove, tip, log,
recover, and serve.

Fix up filterfiles, relfilter, and relpath to be a bit more bulletproof

Alphabetize functions and the command table

Make everything in commands.py relative-path aware

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

iD8DBQFCof6gywK+sNU5EO8RAoW1AJsHu8vchPSjls7wVbvsq/UKlGhqtgCgtnnl
xSBxyf/TEVWjHIk3uTa8WSE=
=YPMl
-----END PGP SIGNATURE-----
2005-06-04 11:18:56 -08:00
mpm@selenic.com
3e7e8842c6 root relative IO and valid commit states
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

root relative IO and valid commit states

do all working dir manipulation relative to localrepository.root
change the valid commit states

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

iD8DBQFCof1VywK+sNU5EO8RArEVAJ9F/zFYqRvS2dWxOhONCm1OjEjILQCfcmDq
ARbGkSFSyVmyUSBSEq4n//E=
=qIEI
-----END PGP SIGNATURE-----
2005-06-04 11:13:25 -08:00
mpm@selenic.com
bc554a1e69 fix heads for rev 0
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

fix heads for rev 0

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

iD8DBQFCofyyywK+sNU5EO8RAjkeAJ4rfOQ9HV+gpndsTzuoS6R3f+mzEQCfcb0P
IWhTz6XDpTWEkjzcK++mZ4k=
=mINY
-----END PGP SIGNATURE-----
2005-06-04 11:10:42 -08:00
mpm@selenic.com
3b426c1a49 Resolve bits from TAH
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Resolve bits from TAH

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

iD8DBQFCoRIaywK+sNU5EO8RAswQAKCiEcQ5RV3C2JZXgQBch28VO3NpSgCdEzcD
Td8bV8IKVUIXtvrcy1rCZTY=
=tAU7
-----END PGP SIGNATURE-----
2005-06-03 18:29:46 -08:00
mpm@selenic.com
63e6cb46d3 Replace tkmerge with hgmerge
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Replace tkmerge with hgmerge

hgmerge attempts to find and use merge, kdiff3, tkmerge, and diff+patch.
hg will use hgmerge unless overridden with HGMERGE

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

iD8DBQFCoRGrywK+sNU5EO8RAi2VAJ9bh97ChGJymP/p8rvCuyNAMnk1bQCgrIGP
vYI6qlyWKQZ01ObUTAIg92o=
=+mRH
-----END PGP SIGNATURE-----
2005-06-03 18:27:55 -08:00
mpm@selenic.com
9fec0c0d80 mdiff.py: kill #! line, add copyright notice
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

mdiff.py: kill #! line, add copyright notice

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

iD8DBQFCoM9CywK+sNU5EO8RAizVAJ41dqQxxx8nouBxJMcFmoVRRo4GfACbB9RV
Xc0cqaoPVL7p87opPKjgNWw=
=HyjH
-----END PGP SIGNATURE-----
2005-06-03 13:44:34 -08:00
mpm@selenic.com
cac235fda2 hgweb.py: kill #! line, clean up copyright notice
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb.py: kill #! line, clean up copyright notice

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

iD8DBQFCoM71ywK+sNU5EO8RAil4AJ9edZ1FJ0WbikVBYBMNO+MldBRqnACfRtuH
Nw/BuBueQfEhaI3i+9+Q9/g=
=vV8+
-----END PGP SIGNATURE-----
2005-06-03 13:43:17 -08:00
mpm@selenic.com
886068ea40 Merge from tah 2005-06-03 13:32:37 -08:00
mpm@selenic.com
f7650114aa hg resolve: merge a given node into the working directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg resolve: merge a given node into the working directory

This is the first pass at working directory-based merges. Doing a
resolve adds a second parent to the working directory state for the
next commit.

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

iD8DBQFCoMSHywK+sNU5EO8RAnOkAJsHH9jviMJcQJ4JurFuSlrbIwKqRACdHgNC
kkfoAxX2E5jkuOeSJ1Hjalk=
=bdrT
-----END PGP SIGNATURE-----
2005-06-03 12:58:47 -08:00
mpm@selenic.com
b458eb50ea add 'm' state to dirstates
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

add 'm' state to dirstates

This state indicates that a file has been merged with resolve and must
be in the next commit.

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

iD8DBQFCoMQSywK+sNU5EO8RAuxHAKCHckvSiLwegl5hbF5x5EeQg0MA2gCcCYD+
78Ol99Y9nk5ZA2bbYgM+AQw=
=vMOg
-----END PGP SIGNATURE-----
2005-06-03 12:56:50 -08:00
mpm@selenic.com
015cc81147 make diffdir default to dirstate.parents()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

make diffdir default to dirstate.parents()

update various diffdir users to use default

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

iD8DBQFCoMPcywK+sNU5EO8RAkY8AJ90UHQXnJnkG9PJKG7IsgPeOZ2WZACgiarS
HhS2zX3TRM9WdZHo5nLvZGw=
=7YyP
-----END PGP SIGNATURE-----
2005-06-03 12:55:56 -08:00
mpm@selenic.com
862bcc8767 teach commit about dirstate.parents()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

teach commit about dirstate.parents()

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

iD8DBQFCoMOeywK+sNU5EO8RAj6rAJ9NBf0401gAlzA315m7gaEPeteaewCfe6A4
Bn3nm77acgIukB1ePfK1o1Y=
=P2y2
-----END PGP SIGNATURE-----
2005-06-03 12:54:54 -08:00
mpm@selenic.com
0e2281d551 teach rawcommit about dirstate.parents()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

teach rawcommit about dirstate.parents()

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

iD8DBQFCoMN2ywK+sNU5EO8RAnJpAKCh5MVSMNlk1GRYPm7IOavhurYPLgCfYc9w
k4bTiV62lgoyItdmkynS1Jg=
=gVyk
-----END PGP SIGNATURE-----
2005-06-03 12:54:14 -08:00
mpm@selenic.com
f554f899b0 move repo.current to dirstate.parents()
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

move repo.current to dirstate.parents()

dirstate now tracks the parents for the working dir
add a parents command to show them

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

iD8DBQFCoMGuywK+sNU5EO8RAg5UAKCVLUrsJtkoIOTM+e0BLqEVN3Ni3gCeNDyy
ZF8jD728cl9K7S4sIN4gX4Y=
=P4bu
-----END PGP SIGNATURE-----
2005-06-03 12:46:38 -08:00
mpm@selenic.com
34a8455a78 fix repo locking
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

fix repo locking

We've actually got to assign the lock to a local variable, otherwise
it gets released immediately.

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

iD8DBQFCoMERywK+sNU5EO8RAgqwAKCPhmTOK/n5bjJ6Xh4mC9Q8mJDx4wCfZBGX
Uik+3sUcQRqgHjsP0fIjjiU=
=U1p0
-----END PGP SIGNATURE-----
2005-06-03 12:44:01 -08:00
mpm@selenic.com
2a4127e46c fix bad assumption about uniqueness of file versions
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

fix bad assumption about uniqueness of file versions

Mercurial had assumed that a given file hash could show up in only one
changeset, and thus that the mapping from file revision to changeset
was 1-to-1. But if two people perform the same edit with the same
parents, we can get an identical hash in different changesets.

So we've got to loosen up our uniqueness checks in addgroup and in
verify.

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

iD8DBQFCoMDkywK+sNU5EO8RAg9PAJ9YWSknfFBoeYve/+Z5DDGGvytDkwCgoMwj
kT01PcjNzGPr1/Oe5WRvulE=
=HC4t
-----END PGP SIGNATURE-----
2005-06-03 12:43:16 -08:00
mpm@selenic.com
7189fac106 add back tempfile import
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

add back tempfile import

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

iD8DBQFCoMBAywK+sNU5EO8RAvTAAKCwlVzxvm9enBR+xMmkj2aRMEYkkwCfXUqT
SlEdijBZ9fnktzxadp7/evU=
=uL7e
-----END PGP SIGNATURE-----
2005-06-03 12:40:32 -08:00
mpm@selenic.com
788383bd38 make pull work for multiple heads
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

make pull work for multiple heads

add repository.heads()
teach remoterepository and hgweb about heads command
teach getchangegroup about multiple heads
break apart addchangegroup and merge (cleaning up merge saved for later)

after this change, it is now possible to pull and get multiple heads, but
not possible to merge the heads

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

iD8DBQFCn8SZywK+sNU5EO8RAkSvAJ9NOA4UZ3cFyyzymlYBZnV+PpGRcACeLL+R
PFaSgJHGKvxsXpvPYiZA0O0=
=L2Xr
-----END PGP SIGNATURE-----
2005-06-02 18:46:49 -08:00
mpm@selenic.com
beee203034 Beginning of multi-head support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Beginning of multi-head support

Add revlog.heads()
Add heads command to list changeset heads

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

iD8DBQFCn7tFywK+sNU5EO8RAusWAJ9EojIxgqEEt8VZd5S+5Laj8tHV+ACfWLb5
TC7AnsoFGg50jAWF0EsofDA=
=nzyH
-----END PGP SIGNATURE-----
2005-06-02 18:07:01 -08:00
mpm@selenic.com
4a3f7fbb37 change dircache into dirstate
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

change dircache into dirstate

The dircache now tracks adds and removes directly

diffdir now makes a proper distinction between added and unknown files

Add a forget command to unadd files

Undo tries to fix up the state of just the files in the undone commit

Add and remove complain about files that are not in a proper state of
existence


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

iD8DBQFCn7TRywK+sNU5EO8RAhnSAKC2oHg1HJOCGsvpUYj4SBEq0HmuJQCgr5gl
jEBTs5AFD5IhF73YAgrcnkE=
=prQA
-----END PGP SIGNATURE-----
2005-06-02 17:39:29 -08:00
Thomas Arendsen Hein
344b9ab253 ui.warn can use more than one argument like the other ui methods. 2005-06-02 07:06:29 +01:00
mpm@selenic.com
1f5ef11c2b hg checkout: refuse to checkout if there are outstanding changes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg checkout: refuse to checkout if there are outstanding changes

This is a stop-gap until I make the working dir logic smarter

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

iD8DBQFCnnrKywK+sNU5EO8RAtqBAJwPQQrW5GhjMP9HMkFtfD7qhqxIcgCfXvA4
oXHO13uzBn5JOaTH3KwsMbQ=
=IzTY
-----END PGP SIGNATURE-----
2005-06-01 19:19:38 -08:00
mpm@selenic.com
9c2cf95fb6 merge: catch unexpected responses
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge: catch unexpected responses

This dumps the data received from the remote server in case we fail to
parse its output.

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

iD8DBQFCnkMRywK+sNU5EO8RApAGAKCw7ZHF4YUaTi3ychbUe5Lr47OsCwCfUqKg
lxA/sgDmeDMbmwbV5S+Beik=
=y6TB
-----END PGP SIGNATURE-----
2005-06-01 15:21:53 -08:00
mpm@selenic.com
8f7a14f45c hg annotate: actually annotate the given version
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg annotate: actually annotate the given version

Bug spotted by Edouard Gomez

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

iD8DBQFCnkF7ywK+sNU5EO8RAvvnAJsFjkpFdzQ+cPyrvQE25V16/z3dBQCeIyzf
S/N2S/RcfFd9Ca56Xvf/jAM=
=0qMq
-----END PGP SIGNATURE-----
2005-06-01 15:15:07 -08:00
mpm@selenic.com
51af397ad7 hgweb: import ui
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hgweb: import ui

Fix from Edouard Gomez

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

iD8DBQFCnj3YywK+sNU5EO8RAgHBAJ0b+oHTOyDVDtC5vsQvAzpn0saRAACfYmAU
5q/mDghl/UWYGiSAY1i/l0w=
=i9MB
-----END PGP SIGNATURE-----
2005-06-01 14:59:36 -08:00
mpm@selenic.com
dd6fb288d8 catch TERM signal in command processor
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

catch TERM signal in command processor

This keeps kill from interrupting a transaction without cleanup.

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

iD8DBQFCniLNywK+sNU5EO8RAvepAKCCnEX7vPheIyOu2IvV6dDahdFMWACeMih6
E2R3rA/MGACxG9HpSNH6lak=
=HR1s
-----END PGP SIGNATURE-----
2005-06-01 13:04:13 -08:00
mpm@selenic.com
f1f83067d7 commands: migrate status and branch
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

commands: migrate status and branch

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

iD8DBQFCnhESywK+sNU5EO8RAlBJAKCmv2gHefMOXfX/UUCy1tfV0cOqOQCfbeX8
oaT15B7GBL2lcalGrPXkzY8=
=8gVe
-----END PGP SIGNATURE-----
2005-06-01 11:48:34 -08:00
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