Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:23:57 -0800] rev 639
Add addchangegroup to the ssh protocol
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:23:27 -0800] rev 638
Add a scheme for handling remote locking
This adds an object that remembers to unlock the remote repo on
destruction and lock/unlock functions for the ssh protocol. The remote
repository should also unlock itself when the connection goes down.
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:21:23 -0800] rev 637
Fix up the broken bits in findoutgoing
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:20:56 -0800] rev 636
Move the empty changeset detection out of findincoming to pull
This lets us reuse findincoming for findoutgoing
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:20:12 -0800] rev 635
Protocol switch from using generators to stream-like objects.
This allows the the pull side to precisely control how much data is
read so that another encapsulation layer is not needed.
An http client gets a response with a finite size. Because ssh clients
need to keep the stream open, we must not read more data than is sent
in a response. But due to the streaming nature of the changegroup
scheme, only the piece that's parsing the data knows how far it's
allowed to read.
This means the generator scheme isn't fine-grained enough. Instead we
need file-like objects with a read(x) method. This switches everything
for push/pull over to using file-like objects rather than generators.
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:14:10 -0800] rev 634
Add a repo method to report repo device
This is used to establish whether repos are on the same device for
hard linking. Remote repos all return -1.
Matt Mackall <mpm@selenic.com> [Wed, 06 Jul 2005 22:11:54 -0800] rev 633
Slim down and update README a bit
thananck@yahoo.com [Tue, 05 Jul 2005 18:23:56 -0800] rev 632
Provides output option to cat command
# HG changeset patch
# User thananck@yahoo.com
# Node ID
c838b9c2c71b1d64b8bde786f6470b30f23962de
# Parent
7369ec5d93f2ffd490a43970edd9adf8d2bbe269
Provides output option to cat command
expand function in commands.doexport is moved to toplevel and renamed
to make_filename. The 'cat' command now accecpts --output <pattern>
switch to specify the destination file.
Index: hg/mercurial/commands.py
===================================================================
Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl> [Tue, 05 Jul 2005 18:23:34 -0800] rev 631
Update documentation of hg tag
# HG changeset patch
# User Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
# Node ID
8fc9bfabae06cba91b05c265545bcce2654dab2f
# Parent
7369ec5d93f2ffd490a43970edd9adf8d2bbe269
Update documentation of hg tag
This updates the FAQ, manpage and adds hg tag to the list of commands
in README.
Index: hg/README
===================================================================
Bryan O'Sullivan <bos@serpentine.com> [Tue, 05 Jul 2005 18:22:28 -0800] rev 630
Remove debug print from locate code.
# HG changeset patch
# User Bryan O'Sullivan <bos@serpentine.com>
# Node ID
5240abb57899b745f2e6465be29d9d54c4777364
# Parent
13b74665cbdf735a91f231956d0fe73e446340ea
Remove debug print from locate code.
Index: hg/mercurial/commands.py
===================================================================
Bryan O'Sullivan <bos@serpentine.com> [Tue, 05 Jul 2005 18:22:22 -0800] rev 629
Clarify man page entry for locate a little.
# HG changeset patch
# User Bryan O'Sullivan <bos@serpentine.com>
# Node ID
13b74665cbdf735a91f231956d0fe73e446340ea
# Parent
fb74eaa2b5b763ad5591b2e51dbb377bf8342064
Clarify man page entry for locate a little.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 05 Jul 2005 18:19:22 -0800] rev 628
Use repo.getcwd() in a few obvious places.
# HG changeset patch
# User Bryan O'Sullivan <bos@serpentine.com>
# Node ID
fb74eaa2b5b763ad5591b2e51dbb377bf8342064
# Parent
ebf5eba347a17a5c09000b3342caf350cd060a1b
Use repo.getcwd() in a few obvious places.
Bryan O'Sullivan <bos@serpentine.com> [Tue, 05 Jul 2005 18:19:01 -0800] rev 627
Add locate command.
# HG changeset patch
# User Bryan O'Sullivan <bos@serpentine.com>
# Node ID
ebf5eba347a17a5c09000b3342caf350cd060a1b
# Parent
d2994b5298fb20f87dc1d4747635b280db3c0526
Add locate command.
Used for finding files with names that match specific patterns,
such as "*.c".
This patch also introduces localrepository.getcwd, which returns the
current directory relative to the repository root.
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2005 18:15:38 -0800] rev 626
Fix quoting for RSS links
Spotted by Mikael Berthe <mikael.berthe@lilotux.net>
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2005 18:12:57 -0800] rev 625
Cleanups for repo.pull
Use repo.pull in pull and clone commands
Teach clone about ssh:// (temporarily)
Fix up shutil issue on failed pull
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2005 17:55:22 -0800] rev 624
Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2005 17:50:43 -0800] rev 623
Change remote repository to httprepository
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2005 17:50:02 -0800] rev 622
Add generic repo commands for pull and push
Matt Mackall <mpm@selenic.com> [Tue, 05 Jul 2005 17:49:01 -0800] rev 621
Add a function to calculate the outgoing changegroup
Matt Mackall <mpm@selenic.com> [Mon, 04 Jul 2005 15:42:26 -0800] rev 620
Attempt to handle RSS URIs properly
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Attempt to handle RSS URIs properly
manifest hash:
1546939c11a8640ca56f0b0f5c7bdc878b4faa67
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCycliywK+sNU5EO8RAukgAJ9eoJdqTiTQ8xSsSeHMIBmHnnQk9QCfQpFL
SAJKUYknvv4IJDUyHjQc61k=
=zGdJ
-----END PGP SIGNATURE-----
Matt Mackall <mpm@selenic.com> [Mon, 04 Jul 2005 12:54:42 -0800] rev 619
update tests
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
update tests
manifest hash:
70079385599132ca8f90582e1f9317ca46167532
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCyaISywK+sNU5EO8RApnGAJ0blIxE0tKPzcRQUDAHCLe5KmUSNgCgjGoA
kV4Os9FG1NmGaCysPIsKwts=
=Ee67
-----END PGP SIGNATURE-----
Bryan O'Sullivan <bos@serpentine.com> [Mon, 04 Jul 2005 12:39:35 -0800] rev 618
Handle unrecognised options correctly.
# HG changeset patch
# User Bryan O'Sullivan <bos@serpentine.com>
# Node ID
837a023781a0228e5791e8e278129d2d54d13f99
# Parent
d2994b5298fb20f87dc1d4747635b280db3c0526
Handle unrecognised options correctly.
thananck@yahoo.com [Mon, 04 Jul 2005 12:39:21 -0800] rev 617
open .hgtags as binary
# HG changeset patch
# User thananck@yahoo.com
# Node ID
2bd20bb06f817796d76b8e126f4a685426c4faf4
# Parent
7a240687674e6cf5a8dfd45973d7e3978b89af79
open .hgtags as binary
The '.hgtags' file, in tag command, is opened as binary for interoperability with the other OS
maf46@burn.cl.cam.ac.uk [Mon, 04 Jul 2005 12:38:34 -0800] rev 616
Fix zombie files in merge
# HG changeset patch
# User maf46@burn.cl.cam.ac.uk
# Node ID
57667c9b93a5a743e4629d15a0e6bd76699130c3
# Parent
d2994b5298fb20f87dc1d4747635b280db3c0526
Fix zombie files in merge
Keir Fraser observed the following:
> I made a small test case that illustrates the bug in merging changesets
> with 'hg remove's in them:
>
> 1. Create a repository A containing files foo & bar.
> 2. Create clone called B.
> 3. A removes file bar, and commits this removal.
> 4. B edits file foo, and commits this edit.
>
> Now, if B:
> # hg pull ../A; hg update -m; hg commit
> Then bar remains deleted.
>
> If A:
> # hg pull ../B; hg update -m; hg commit
> Then bar is resurrected!
>
> It looks as though, when you merge across a branch, any deletions in
> your own branch are forgotten.
> ...
> Fixing this is a must, as zombie files are a real pain. :-)
Keir later patched our local copy of hg as shown below, which fixes
the problem. I've also enclosed a test which captures the test Keir
outlined...
Files deleted on a branch should not automatically reappear in a merge
Patch notes:
1. The first chunk does not change behaviour, but cleans up the code
to more closely match check of 'force' in the second chunk. I
think it makes the code clearer.
2. The second chunk fixes two bugs --
i. If we choose to keep a remotely-changed locally-deleted file,
then we need to 'get' that file. If we choose to delete it
then no action need be taken (it is already deleted in the
working manifest). Without this fix, choosing to delete would
get a Python traceback.
ii. The test for whether the file was remotely-created is
insufficient. It is only true if f is not in the common
ancestor. Otherwise the file was deleted locally, and should
remain deleted. (this is the most important fix!)
Index: hg/tests/test-merge6
===================================================================