Commit Graph

368 Commits

Author SHA1 Message Date
mpm@selenic.com
0b40b51431 hg merge: fix time asymmetry bug with deleting files on update to past
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg merge: fix time asymmetry bug with deleting files on update to past

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

iD8DBQFCsm6XywK+sNU5EO8RAncbAKCwn/W4cr6civp4Zt79JFH6um0/lQCdFCh8
F7ZOQ+S/PL3HL4iE6avOBDc=
=kHPm
-----END PGP SIGNATURE-----
2005-06-16 22:32:55 -08:00
mpm@selenic.com
7bdae1e0eb Move httprangereader into its own file
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Move httprangereader into its own file

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

iD8DBQFCsPj4ywK+sNU5EO8RAizKAJ9kbYVAC+iL4cKml14BcwX9okdnJQCgjLAP
cWM5/y9FdC3THOC6DkUNic0=
=PkL6
-----END PGP SIGNATURE-----
2005-06-15 19:58:48 -08:00
mpm@selenic.com
c36436262c Add hg copy
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Add hg copy

extend dirstate to remember copies
add copy command
add copy repo operation
write copy metadata with commit

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

iD8DBQFCsMBTywK+sNU5EO8RAjXpAJ9fvNtTP1A/4veqFWQHcWGro7buyACgoVXz
/ngGOFowxS/zGkvUvGavYGQ=
=drb1
-----END PGP SIGNATURE-----
2005-06-15 15:57:07 -08:00
mpm@selenic.com
da73063c69 filelog: add metadata support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

filelog: add metadata support

To add metadata, we add an escape sequence "\1\n" to indicate that
some key:value metadata pairs follow.

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

iD8DBQFCsJfFywK+sNU5EO8RAl1AAJ9BJPgDWnot5MUdPnzPiNxlyhG0rACfVo10
6q9fGaPUpf8mxefz7G8D0Z0=
=1BL6
-----END PGP SIGNATURE-----
2005-06-15 13:04:05 -08:00
mpm@selenic.com
f82d510aa2 [PATCH] manifest.readflags performance buglet
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[PATCH] manifest.readflags performance buglet

From: Chris Mason <mason@suse.com>

Performance buglet in manifest.readflags: only re-read the manifest
when the mapcache is not present or does not correspond to this node

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

iD8DBQFCsG4wywK+sNU5EO8RAv+IAJ9sU87MythE/HYf3wH/V7ctzNdR1gCfclr9
ydsk6wtk/n6uKb4U7BvGvLM=
=5cOx
-----END PGP SIGNATURE-----
2005-06-15 10:06:40 -08:00
mpm@selenic.com
92f8f94e43 merge3: fix argument order
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge3: fix argument order

We were passing the wrong argument order to hgmerge. Add a merge
conflict test case.

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

iD4DBQFCr+ZoywK+sNU5EO8RAouJAKCOx5oxhVXkLqsfCPBXx0+wP5IeogCYoZzF
ooZT2fyN3tL3uVM2YP8KcA==
=O4fE
-----END PGP SIGNATURE-----
2005-06-15 00:27:20 -08:00
mpm@selenic.com
9db9caef14 Fix yet another resolve corner case
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Fix yet another resolve corner case

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

iD8DBQFCr+IvywK+sNU5EO8RAt49AJwLBBq7AZfo1WqcwZvzSVENvJGLmgCePumQ
0/9RwjL/PorsvFJi+CiFYyY=
=S6HA
-----END PGP SIGNATURE-----
2005-06-15 00:09:19 -08:00
mpm@selenic.com
051bbe3f44 rework all code using tags
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

rework all code using tags

Add three utility functions:

tags(): get (and possibly load) the tags mapping
tagslist(): sort tag,node by revision (aka topologically)
nodetags(): return a list of tags associated with a node (also cached)

Update all the code using tags to use these.

Simplify identify code
 make unknown always visible if printed
 don't ignore tip pseudo-tag

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

iD8DBQFCr+HjywK+sNU5EO8RAh4/AJ90cI0WxmvQAj6Lq2ZiG8LmqZan/QCfR8B5
ltu8tOIEHDa8LhfS9wtBu0k=
=pv3t
-----END PGP SIGNATURE-----
2005-06-15 00:08:03 -08:00
mpm@selenic.com
2bdabb4c9d Add support for .hg/hgrc file
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Add support for .hg/hgrc file

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

iD8DBQFCr5QZywK+sNU5EO8RApnlAJ9nD65i2aEQcljV+Y39zgImpcdtgwCgpT9G
O2D8FDFpRNyYki/QPt5e/AQ=
=bQCZ
-----END PGP SIGNATURE-----
2005-06-14 18:36:09 -08:00
mpm@selenic.com
d2dd697347 hg pull: more query fixes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg pull: more query fixes

Pull was getting confused by single-element branches because it had
seen the top end already.

Also, the previous change to do seenbranch on the base of the branch
was bogus.

Minor cleanup and a bit more diagnostics in the branch-narrowing code.

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

iD8DBQFCrjLgywK+sNU5EO8RAsxSAJ92U31Pz7K14Ctje4SEec2857Ut7QCgoVwY
ho65mloslCSidLsEnxYfBDI=
=Wts9
-----END PGP SIGNATURE-----
2005-06-13 17:29:04 -08:00
mpm@selenic.com
c03e65957e hg merge: some getchangegroup fixups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg merge: some getchangegroup fixups

- - filter more duplicates
- - request batching
- - lookup ordering
- - request counting

After these fixes, grabbing 1800 changesets on top of the 28k
changeset kernel history takes 23 round trips rather than a couple
hundred.

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

iD8DBQFCrea0ywK+sNU5EO8RAv3cAKCQveivdApJIlslTCMLMp2VogRXfACeNRnx
Ihsf5yLz60fFpqlzAmZBACk=
=Euku
-----END PGP SIGNATURE-----
2005-06-13 12:04:04 -08:00
mpm@selenic.com
bb97db269e Transparent proxy support
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Transparent proxy support

Originally from "Michael S. Tsirkin" <mst@mellanox.co.il>

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

iD8DBQFCrSIUywK+sNU5EO8RAje1AJ41ALW8soF78Mo3UTraV1QQvJoFSQCgrqvc
I9ohlI4hzdjOD+wSwRGlERQ=
=Ugfi
-----END PGP SIGNATURE-----
2005-06-12 22:05:08 -08:00
mpm@selenic.com
1b72add8c7 hg commit: user and date options
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg commit: user and date options

- From Ted Ts'o

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

iD8DBQFCrHx4ywK+sNU5EO8RAp/uAKCEGhvm1tpBJ9Bub8BlalWaIpMeqgCfUejo
IoevMbk4cjxQ5P3Zo2pSFs8=
=Ibp3
-----END PGP SIGNATURE-----
2005-06-12 10:18:32 -08:00
mpm@selenic.com
b077acf769 More tweaking to rawcommit for repo conversion
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

More tweaking to rawcommit for repo conversion

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

iD8DBQFCrGdBywK+sNU5EO8RApbrAKCPVvxnSgkzAWpwc6uRDCCYAsqO7QCeMonn
tZS4URbMI2aDQYw15wDEZHg=
=C2Vn
-----END PGP SIGNATURE-----
2005-06-12 08:48:01 -08:00
mpm@selenic.com
9e30d45970 Minor caching improvement for manifest
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Minor caching improvement for manifest

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

iD8DBQFCrGGBywK+sNU5EO8RAotVAJ93JTk6XoHnZrbGzcZQ1N+P7kNKiACfYj+F
RlcmcLHc3rEMkcM127BszDg=
=5zAN
-----END PGP SIGNATURE-----
2005-06-12 08:23:29 -08:00
mpm@selenic.com
d5231c190f Optimize diff and status in subdirectories
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Optimize diff and status in subdirectories

This walks the tree from the subdirectory down.

Based on a patch by Arun Sharma

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

iD8DBQFCrF6/ywK+sNU5EO8RAosUAKC0KWcMfsLErEInDk1X1vpM54HFEgCfUwcN
gXhaAviQZJ8h0ssl3BMmMfI=
=KnRD
-----END PGP SIGNATURE-----
2005-06-12 08:11:43 -08:00
mpm@selenic.com
e5f91203c2 fix KeyErrors from reading empty dirstate
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

fix KeyErrors from reading empty dirstate

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

iD4DBQFCqyj+ywK+sNU5EO8RAoepAJYp2TjjaMq3l+ZrRfogyvUGCebgAJ9nKPdr
nP/Y3F1GvOle58NTIQ6UBA==
=0k3O
-----END PGP SIGNATURE-----
2005-06-11 10:10:06 -08:00
mpm@selenic.com
5a13901487 Add tip to tags
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Add tip to tags

This makes a tag for the current tip that always overrides what's in
the tags files.

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

iD8DBQFCqfzVywK+sNU5EO8RAgdEAJ41VvLHIIzNZbIC/nHmoJOpZL0+4gCfRxpC
eSq341nfmMZNcrqmGYYALe4=
=miH1
-----END PGP SIGNATURE-----
2005-06-10 12:49:25 -08:00
mpm@selenic.com
d1d2bb53b2 add tip to repo.lookup 2005-06-10 12:48:12 -08:00
mpm@selenic.com
a8abcc624e more merge fixes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

more merge fixes

Logic for getting a remote change should work going backwards and forwards

Mark all the changes in the merge that we don't get or merge so we
have the right list of files in the changeset

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

iD8DBQFCqc+CywK+sNU5EO8RAjOKAJwNkC7phUO77IGW20R7MKyWBGP01gCgjxP6
K2CqUESHr2+0J96q3N74Siw=
=zb2f
-----END PGP SIGNATURE-----
2005-06-10 09:36:02 -08:00
mpm@selenic.com
2b99655794 various fixups for git import
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

various fixups for git import

cache manifest flags properly after add
rawcommit
  handle flags
  handle multiple parents better
  commit a complete manifest
verify
  changesets and manifests are no longer necessarily 1:1
  check for duplicate nodes

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

iD8DBQFCqU9wywK+sNU5EO8RApUUAJ9sXVIKMcmLChdk2M95U6DW37qNNQCgid08
/1E9Y4vw25HcxwJlXopV1lU=
=oohz
-----END PGP SIGNATURE-----
2005-06-10 00:29:36 -08:00
mpm@selenic.com
0af71ae547 Merge with TAH
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Merge with TAH

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

iD4DBQFCqIECywK+sNU5EO8RAg56AJ95hB6uw7Fc55XgwgZls4UUNRt1jACYrkrq
V9VJhhv29Fd/LEZy+ydoGQ==
=unEK
-----END PGP SIGNATURE-----
2005-06-09 09:48:50 -08:00
mpm@selenic.com
be968da64f hg update: fix clobbering files when going backwards
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hg update: fix clobbering files when going backwards

spotted by Andrew Thompson

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

iD8DBQFCqH9BywK+sNU5EO8RAoHrAJwN9Y2Jrvbdp/seTkGl6D/g1uxK0wCglZWz
jQ6F3A6ikzTXwhEq+KsR8Qw=
=9IPU
-----END PGP SIGNATURE-----
2005-06-09 09:41:21 -08:00
Thomas Arendsen Hein
01375d2142 Turn on +x for every +r bit when making a file executable and obey umask. 2005-06-09 09:24:08 +01:00
Thomas Arendsen Hein
ed63b972a6 Fixed usage of removed variable 'wp'. 2005-06-09 08:53:07 +01:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
3d6a44cc6c trivial tweak to merge3 2005-05-26 18:20:24 -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
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
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
mpm@selenic.com
a2b716acff Fix transaction handling bug by reverting fileopener change 2005-05-23 22:14:41 -08:00
mpm@selenic.com
84eb10c391 Minor safety checks to manifest diff 2005-05-23 16:05:48 -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
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
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
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
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
ca952e3eda Fix merge bug, I hope 2005-05-17 11:40:45 -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
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
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
af712781e7 Fix occassional diff bug with manifests 2005-05-10 00:33:48 -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
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
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
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
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