Commit Graph

238 Commits

Author SHA1 Message Date
Thomas Arendsen Hein
6ab968eb5c Use length of file instead of length of change for the dirstate entry. 2005-08-10 07:51:37 +01:00
Thomas Arendsen Hein
20e6210ce8 Fix 3-way-merge of original parent, workdir and new parent.
The dirstate has to match what is in the repository (what would be
checked out with 'hg update -C'), because the resulting file may be
identical to the new parent, or it may be completely different.
Previously the dirstate wasn't updated, so if you changed the file to
look like the original parent, it might be considered unmodified
relative to the new parent.
2005-08-10 06:47:46 +01:00
Thomas Arendsen Hein
afee016a1d dirstate.changes() now distinguishes 'hg remove'd or just deleted files.
Interface is not yet changed.
Non-regular files are considered to be removed or deleted.
Removed the unneeded match(fn) call for adding to the unknown list.
2005-08-09 11:32:30 +01:00
Thomas Arendsen Hein
9d8a9110b0 Fixed encoding of directories ending in .d or .i:
One .d and .i was mixed up, and string replace method doesn't work in-place.
2005-08-07 17:41:13 +01:00
mpm@selenic.com
9161f5c8e4 Merge with BOS 2005-08-02 08:57:32 -08:00
mpm@selenic.com
c0f58ac983 Make ssh URL parsing more robust 2005-08-01 23:23:51 -08:00
mpm@selenic.com
7c0d9a3cf7 Warn on pushing unsynced repo or adding new heads
By popular demand
2005-08-01 23:17:22 -08:00
Bryan O'Sullivan
a159000a3d Attempt to yield names in sorted order when walking.
This is an improvement in behaviour, but the walk and changes code still
has some flaws that make sorted name presentation difficult:

- changes returns tuples of names, instead of a sorted list of (name,
  status) pairs.

- walk yields deleted names after all others.
2005-07-31 18:03:46 -08:00
Bryan O'Sullivan
25438a68e9 Ensure that dirstate.walk only yields names once.
Its predecessor code used to do this, and now it does, too.
2005-07-31 17:54:00 -08:00
Bryan O'Sullivan
2f2a31ce76 Clean up walk and changes code to use normalised names properly.
New function: commands.pathto returns the relative path from one path
to another.  For example, given foo/bar and baz/quux, it will return
../../baz/quux.  This new function is used by the walk and status code
to print relative paths correctly.

New command: debugwalk exercises the walk code without doing anything
more.

hg.dirstate.walk now yields normalised names.  For example, if you're
in the baz directory and you ask it to walk ../foo/bar/.., it will yield
names starting with foo/.

As a result of this change, all of the other walk and changes methods
in this module also return normalised names.

The util.matcher function now normalises globs and path names, so that
it will match normalised names properly.

Finally, util.matcher uses the non-glob prefix of a glob to tell walk
which directories to scan.  Perviously, a glob like foo/* would scan
everything, but only return matches for foo/*.  Now, foo/* only scans
under foo (using the globprefix function), which is much faster.
2005-07-31 17:42:46 -08:00
mpm@selenic.com
b90578da57 Merge with BOS 2005-07-30 09:00:14 -08:00
mpm@selenic.com
c29a4a3c68 add note about -C to update message 2005-07-30 08:30:12 -08:00
Bryan O'Sullivan
e6c1da7c61 Adapt commit to use file matching code.
The code is slightly complicated by the need to commit all outstanding
changes in the repository if no file names are given (other commands
operate on the current directory and its subdirectories in this case).

localrepository.changes has acquired an optional match parameter, to let
it filter out include/exclude options.
2005-07-29 15:02:27 -08:00
mpm@selenic.com
04d7166797 Fix the directory and revlog collision problem
This adds escaping for directory names so that directory foo.i doesn't
collide with the revision data for file foo.
2005-07-27 18:50:32 -08:00
mpm@selenic.com
e4d910ab82 Fix undo after aborted commit bug
Commit would overwrite undo.dirstate unconditionally, so an undo after
an aborted commit would restore the dirstate from the aborted commit
and not the prior transaction.

This copies dirstate to journal.dirstate and moves it after a
successful transaction.
2005-07-27 18:16:20 -08:00
mpm@selenic.com
6b8940724b Fix copy in subdirectories
Spotted by Chad Netzer
2005-07-27 10:05:12 -08:00
mpm@selenic.com
185e6a4945 Add changegroup hook for push/pull 2005-07-27 09:07:28 -08:00
mpm@selenic.com
3823d6eace Make pull count jargon less confusing
revisions are now synonymous with changesets, and not file changes
2005-07-25 12:02:29 -05:00
mpm@selenic.com
9520e62074 Fix local file changes being ignored after non-branch merge
Bug introduced in 45dd84ebbed8
Spotted by TAH
2005-07-23 10:00:56 -05:00
mpm@selenic.com
f8e53b93db Hack to fix missing '/' problem in URLs 2005-07-22 20:07:14 -05:00
mpm@selenic.com
8e0881ad8a Don't mark files with 'm'erge unless we're actually merging branches
For 3-way merges, we were marking files as 'm', which should only be
used for branch merges. This was causing files to show up in 'hg
status' that aren't actually modified.
2005-07-22 19:23:00 -05:00
mpm@selenic.com
1f521ec7c5 Check protocol versions
This also allows the old unidentified protocol
2005-07-21 18:20:13 -05:00
mpm@selenic.com
e16b6ba2ce Simplify content type checking 2005-07-21 18:19:20 -05:00
Muli Ben-Yehuda
0bf14d0d7e When pulling from a non hg repository URL (e.g. http://www.kernel.org/hg)
you geta pretty obscure error (zlib: uknown compression type). The
attached patch modifies hgweb.py and hg.py to supply and check a
'Content-type: application/hg-0.1' HTTP header for the branches,
between and changegroup commands, so that we know it's a proper hg
repo before snarfing the input. Comments appreciated!
2005-07-21 18:18:43 -05:00
mpm@selenic.com
f70080b8c0 Fix some line wrapping
manifest hash: 43af5dafa55e01f89727096f4d6784317f3eb0d6
2005-07-20 20:11:23 -05:00
Bryan O'Sullivan
6e8461ae49 Merge with Matt's tip. 2005-07-20 03:52:06 -08:00
Bryan O'Sullivan
89e035ebd1 An empty .hgignore file must cause us to ignore nothing, not everything! 2005-07-20 03:37:01 -08:00
Bryan O'Sullivan
e5a5499cf6 Only walk over files that match our criteria. 2005-07-20 02:57:20 -08:00
mpm@selenic.com
59b4a46202 Fix verify error reporting bug
Spotted by Chris Mason

manifest hash: d5a6e5cb65d2de65a68d1f85c8692e79622844d3
2005-07-19 15:09:04 -05:00
Bryan O'Sullivan
fc2a7aae7c Add a source designator to the walk methods.
If the source is 'f' (the filesystem), the file definitely exists in
the filesystem.  If 'm' (a rev or dirstate manifest), the file may not
still exist with the given name.
2005-07-19 07:15:59 -08:00
Bryan O'Sullivan
b9dc9cad21 Merge with Matt's tip. 2005-07-19 07:00:03 -08:00
Bryan O'Sullivan
4e963737e8 Get add and locate to use new repo and dirstate walk code.
They use a walk function that abstracts out the irritating details, so
that there's a higher likelihood of commands behaving uniformly.
2005-07-18 06:54:21 -08:00
Bryan O'Sullivan
f3838c3254 Work on walk code. 2005-07-16 15:13:40 -08:00
Thomas Arendsen Hein
8734e61b04 Added missing newline after two error messages.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Added missing newline after two error messages.

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

iD8DBQFC2B0mW7P1GVgWeRoRAjXJAJ48fbg6jXN65pBPGW/YmWn9OtKakACgjnr9
DPySaeLr3/bU7KhFdZPI7/4=
=Lvsx
-----END PGP SIGNATURE-----
2005-07-15 21:31:35 +01:00
Thomas Arendsen Hein
061a741620 merge program setting from hgrc wasn't used.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

merge program setting from hgrc wasn't used.

manifest hash: 49da647e02534f51324a7a955a34c64c05bd8fa0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFC1pKjW7P1GVgWeRoRAt6AAJ9ZB6NerDpWA/k2ZZeN6VUsSDkB8wCePhMd
Xr+Tb86zo+xFhHq7YkDvLak=
=+BY9
-----END PGP SIGNATURE-----
2005-07-14 17:28:19 +01:00
mpm@selenic.com
09e51635fb HG environment variables take precedence over hgrc
manifest hash: c128b53429f861c0b75c2a81c6ad4907e4779810
2005-07-13 01:48:03 -08:00
mpm@selenic.com
437dd476b1 Minor merge fixups
return a proper errorlevel on abort
let force jump across branches
catch exception on unlink

manifest hash: 6787814cd75e9f9623c56dc36f865afd54f56bfa
2005-07-13 01:46:50 -08:00
Matt Mackall
6219c06395 Reapply startswith() changes that got lost with stale edit
manifest hash: 16d7feedd561591a21727a4c13a1223019d802a7
2005-07-12 00:51:49 -08:00
Matt Mackall
68b8829c92 Sort files for removal 2005-07-11 15:07:04 -08:00
Matt Mackall
bfd9f3d6ab Handle undeletion of files when checking out old revisions
Spotted by Marc Singer
2005-07-11 15:06:32 -08:00
Matt Mackall
7235bde6be Actually move .hg into ignore 2005-07-11 10:28:20 -08:00
chad.netzer@gmail.com
899bc83dfc Make consistent use of str.startswith() in conditionals.
# HG changeset patch
# User chad.netzer@gmail.com
# Node ID 45db196de89a15fd045cd789f701b0180fd276f1
# Parent  852adf9ffa4dd2cb1a504bd207f0cad178ac4024
Make consistent use of str.startswith() in conditionals.
2005-07-10 16:14:56 -08:00
Matt Mackall
5fb8ca60d2 Move .hg into ignore() 2005-07-10 16:13:39 -08:00
mwilli2@localhost.localdomain
f2f576fe2c .hgignore speedups patch incorporating Matt's feedback.
# HG changeset patch
# User mwilli2@localhost.localdomain
# Node ID c78a9d4398c63b6bc689e456e1cab3850a846c8a
# Parent  5155a0b6300820be38eb7e04d26525be39307df2
.hgignore speedups patch incorporating Matt's feedback.
2005-07-10 16:03:20 -08:00
mark.williamson@cl.cam.ac.uk
7d47f35832 A number of minor fixes to problems that pychecker found.
# HG changeset patch
# User mark.williamson@cl.cam.ac.uk
# Node ID 55d38977b7f2e73b8c1090179928ac96c8922b90
# Parent  0bda45294416406d4c6fbaf1cb643dd0bf6b3a16
A number of minor fixes to problems that pychecker found.
2005-07-10 16:01:11 -08:00
Matt Mackall
2156cc914b Move commit hook after commit completes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Move commit hook after commit completes

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

iD8DBQFC0ZwSywK+sNU5EO8RAuAjAJsHGTXsOCnxq+xbq/Q0H+ayGnzaiQCfdWn6
or+IWK3sjYILYncTxMFZJdE=
=mQb7
-----END PGP SIGNATURE-----
2005-07-10 14:07:14 -08:00
Matt Mackall
bc958d41d5 Whitespace cleanup
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Whitespace cleanup

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

iD8DBQFC0ZvmywK+sNU5EO8RAhhDAJ0YXOx5B2F/3NjFB+5YcUtkHqVyuQCgnNyp
tWbRrjDz/SbKz/tFAsxJDqo=
=xB66
-----END PGP SIGNATURE-----
2005-07-10 14:06:30 -08:00
Matt Mackall
c4c7a27643 Generate a friendlier except for failed lookups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Generate a friendlier except for failed lookups

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

iD8DBQFC0Ws6ywK+sNU5EO8RArBGAJ9EA0mCNGqO+w6LaO358sVe19o7lQCdGffF
MmQ/ZIvxoJOjYTo+PLBWMqI=
=4VIg
-----END PGP SIGNATURE-----
2005-07-10 10:38:50 -08:00
Matt Mackall
2b45be3873 dirstate.forget() takes a list
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

dirstate.forget() takes a list

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

iD8DBQFC0WO+ywK+sNU5EO8RAlmYAJ9pcSgpvvuqLzfUkeApXZyOb3j6pQCgi9Te
e8ZI236WNWfyrwEASxFIeLM=
=yDVZ
-----END PGP SIGNATURE-----
2005-07-10 10:06:54 -08:00
Matt Mackall
9f4ad36efb Warn about bogus ignore expressions
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Warn about bogus ignore expressions

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

iD8DBQFC0IPqywK+sNU5EO8RAsOdAJ0bFxZoUjSk/BxWZ9C50SlxlDBlBQCeKbu0
QVzZZKIFlDRVWOsi8zfamHA=
=zAVL
-----END PGP SIGNATURE-----
2005-07-09 18:11:54 -08:00