Commit Graph

1221 Commits

Author SHA1 Message Date
Dirkjan Ochtman
2d52d9bb0c tiny tab cleanup 2008-03-22 12:48:15 +01:00
Dirkjan Ochtman
2778ac21ea improved semantics for remove (issue438)
- Added files are never deleted (only removed with --force).
- Modified files can only be removed with --force.
- With --after, only deleted files are removed.
- With --after --force, all files are removed but not deleted.
2008-03-22 10:07:49 +01:00
Dirkjan Ochtman
3e3b0d62eb warn about new heads on commit (issue842) 2008-03-21 11:06:02 +01:00
John Coomes
7b1227d192 tag: allow multiple tags to be added or removed
- Example:  "hg tag -r 42 build-25 beta-1" will add tags build-25 and beta-1
  for rev 42.
- The deprecated and undocumented usage "hg tag arg1 arg2" used to emit a
  warning, then add tag arg1 for rev arg2 (equivalent to "hg tag -r arg2 arg1").
  It will now add tags arg1 and arg2 for the current revision.
- If one tag triggers an error, no tags are added/removed (all or nothing).
2008-03-14 15:38:56 -07:00
Benoit Boissinot
19659bd6f6 Make clear that for a changegroup '-r' pulls "up to" a revision
If some better wording is found, it can be changed later.
2008-03-20 01:47:35 +01:00
Alexis S. L. Carvalho
f5a37c37de revert: update state of files in the "checkout" list
This can make a difference when there are filters involved and

    decode(encode(working-dir-data)) != working-dir-data

even though

    encode(decode(repo-data)) == repo-data

An example is a working dir file that uses only \n when you're using
the win32text extension.
2008-03-18 04:07:39 -03:00
Alexis S. L. Carvalho
21fa54fe2f debugstate: add --nodates
This can be useful for tests.
2008-03-18 04:07:39 -03:00
Matt Mackall
dae59277f3 status: find copies and renames beyond the working directory 2008-03-15 16:24:16 -05:00
Stephen Deasey
b6ba89dcec hgweb: clarify which address and port can/cannot be bound at startup (bug 769)
The error message at startup when the address/port could not be bound
was confusing:

    hg serve
    abort: cannot start server: Address already in use

Be more explicit:

    $ hg serve -a localhost
    abort: cannot start server at 'localhost:8000': Address already in use

Also be more explicit on success, showing hostname and ip address/port:

    $ hg -v serve -a localhost -p 80
    listening at http://localhost/ (127.0.0.1:80)


We are careful to handle a missconfigured machine whose hostname does not
resolve, falling back to the address given at the command line.

Remove a dead-code error message.
2008-03-10 19:25:34 +00:00
Alexis S. L. Carvalho
c9d5d3c89f debugancestor: use repo.lookup when no revlog was specified 2008-03-14 09:56:58 -03:00
Benoit Boissinot
fd92c733e5 fix incorrect date when committing a tag
regression introduced by f50c54a5d990
2008-03-13 15:40:41 +01:00
Brendan Cully
a9922f5fcd Hide URL passwords in hg paths output. 2008-03-11 16:28:58 -07:00
Thomas Arendsen Hein
352ee8c7f1 Fixed typo in tag help, found by John Coomes 2008-03-08 12:40:33 +01:00
Joel Rosdahl
c26213193c Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg 2008-03-06 22:51:16 +01:00
Joel Rosdahl
4f8012378a Remove unused imports 2008-03-06 22:23:41 +01:00
Joel Rosdahl
5dae3059a0 Expand import * to allow Pyflakes to find problems 2008-03-06 22:23:26 +01:00
Thomas Arendsen Hein
deb94bc7fe Removed trailing spaces from everything except test output 2008-03-07 00:24:36 +01:00
Thomas Arendsen Hein
d659d68d7a Extend/correct f488b5acd598 regarding -qA and ignored files.
hg status -qA will now hide untracked files as described in the doc string.
2008-03-02 13:52:34 +01:00
Zoran Bosnjak
ddaa8e2b8b 'hg status -q' output skips non-tracked files.
The '-q' flag was ignored in status command. But this flag
can be used to hide non-tracked files in hg status output.
This small correction makes status command more general,
similar to 'svn status', where '-q' flag has the same effect.

The '-u' and '-A' flags have priority over '-q'.

A testcase and doc-string for status was extended to cover
'-q' flag.
2008-03-01 22:30:03 +01:00
Thomas Arendsen Hein
9f92f48ca6 Introduce templateopts and logopts to reduce duplicate option definitions. 2008-02-29 02:45:12 +01:00
Thomas Arendsen Hein
5ef42250f9 Add option -l/--limit to hg incoming and hg outgoing. 2008-02-29 02:15:31 +01:00
Thomas Arendsen Hein
5727413b6a Move finding/checking the log limit to cmdutil 2008-02-29 01:51:23 +01:00
Thomas Arendsen Hein
824190bf69 Make hg debugancestor accept -R by making it an optionalrepo command. 2008-02-29 01:25:31 +01:00
Thomas Arendsen Hein
4ccb125e93 debugancestor: use *args instead of *opts, to not confuse with option dicts. 2008-02-29 01:14:37 +01:00
Dirkjan Ochtman
031a486c8a add a blame alias for annotate
The original cvs command was called blame. SVN has both, and other VC systems
typically also have this as an alias. Makes things easier for converts.
2008-02-28 19:08:04 +01:00
Patrick Mezard
6beba5b5d7 commands: lock() the repo while unbundling (issue1004) 2008-02-28 00:07:38 +01:00
Bryan O'Sullivan
d0cd27dcac debugancestor: make the index argument optional, defaulting to 00changelog.i 2008-02-27 14:58:44 -08:00
John Mulligan
868fd6b157 Add --all option to bundle command 2008-02-21 08:24:58 -05:00
Thomas Arendsen Hein
66db9ab9a2 Document log date ranges and mention 'hg help dates' for all commands (issue998) 2008-02-22 21:18:48 +01:00
Gilles Moris
09841be9f6 Reverse the way backout is doing the merge
Currently, backout is creating a backout revision as a child node of the
backed out node and will leave you at this new head. This has several
drawbacks:
* this changes the current head
* when there is a long history between the backed out node and the
current head, this will generate a huge number of diffs that are scary
at first sight, and not very natural to review before commit.
The change consists to switch back to the original node as soon as the
backout node (which becomes the new tip) has been created. Then the
--merge option can just merge this new tip in the current node.
* the current head/node is not changed from the user's point of view
* even without using the --merge option, the backout revision is still
easy to locate, as this is the tip
* the merge is much more intuitive as diffs of the merge is right you
are looking to backout
2008-02-21 08:52:52 +01:00
Alexis S. L. Carvalho
402b1dc8bc Speed up hg grep by avoiding useless manifest parsing
In the kernel repo (tip = 2b89f7111b96), a "hg grep mpm MAINTAINERS" goes
from ~165s to 0.7s.  This could get even a bit faster if we broke out of
the loop after the first match, but I'm not sure how that would interact
with the --follow code.

This is obviously an extreme example, but other cases should also benefit
from this patch.
2008-02-19 19:20:10 -03:00
Thomas Arendsen Hein
a1c1677af4 Fix bad behaviour when specifying an invalid date (issue700)
commit (aborts _after_ typing in a commit message)
backout (aborted after the initial revert)
tag (edited .hgtags and couldn't commit)
import (patch applied, then commit fails)
qnew (aborts on bad dates, but writes any valid date into the # Date header)
qrefresh (like qnew)
sign (like tag)
fetch (merge, merge, merge, merge, abort)
2008-02-17 21:34:28 +01:00
Thomas Arendsen Hein
728ba019da Make annotae/grep print short dates with -q/--quiet.
Move shortdate() from templatefilters to util to avoid code duplication.
2008-02-16 13:33:38 +01:00
Thomas Arendsen Hein
a1c71ab20a Add hg grep -d/--date to list the commit date of matched revisions.
Suggested by Greg Lindahl
2008-02-16 13:01:27 +01:00
Alexis S. L. Carvalho
2af8c0c0fe revert: unify forget and remove lists
This doesn't make a difference right now, but after the next revision
some files in state 'a' may end up in the deleted list, and revert
won't be able to just remove all files in that list.
2008-02-14 18:08:16 -02:00
Alexis S. L. Carvalho
ba7e11d76b revert: only call dirstate.normal when we know the file is clean 2008-02-14 18:08:16 -02:00
Alexis S. L. Carvalho
9c841e3f7b commands.revert: don't call hg.revert
commands.revert calculates everything that has to be done and then
calls hg.revert to checkout and remove files.  Unfortunately,
hg.revert has to recalculate everything and that can take a long
while, since it always operates on the whole working dir.

Changing commands.revert to manually checkout and remove files
makes things considerably faster, especially if we're reverting
a single file in a repo with a huge number of files.

This should be enough to close issue857.
2008-02-14 18:08:16 -02:00
Alexis S. L. Carvalho
091c5b6367 revert: don't let repo.status walk the whole working dir
Problem diagnosed by pmezard.
2008-02-14 18:08:16 -02:00
Thomas Arendsen Hein
61a257a6d9 cat --decode: Drop short option, use opts.get() instead of opts[]
- hg archive --no-decode has no short option, too, and maybe both could use
  -d in the future to select revisions by date.
- opts.get makes python scripts calling cat() happy, because they don't have
  to pass the new option.
2008-02-14 11:25:30 +01:00
Jesse Glick
1a18d77174 Option --decode for hg cat to apply decode filters.
(Does not trigger expansion of keyword arguments when using keyword
extension, though that might be desirable as well.)
2008-02-09 13:05:22 -05:00
Bryan O'Sullivan
2cfb66a49d Automated merge with http://hg.west.spy.net/hg/hacks/hg 2008-02-09 20:43:42 -08:00
Thomas Arendsen Hein
d8e42b5304 Remove trailing ! from two error messages as this was confusing. 2008-02-09 19:13:57 +01:00
Dustin Sallings
87e7fca8b0 Option to log to only show changesets within a specified branch. 2008-02-08 21:31:03 -08:00
Alexis S. L. Carvalho
8b9b7ae9bd Merge with crew-stable 2008-02-08 18:31:55 -02:00
Alexis S. L. Carvalho
0cc1119511 revert: don't assume ignored files will be returned in the unknown list
That's just an artifact of the current implementation, and I'll change
that soon.

Bonus points:
- we don't care about the unknown list at all
- we don't print an extra message if we try to revert a removed file
  that is not present in the target revision
2008-02-08 18:07:55 -02:00
Alexis S. L. Carvalho
4eaa054575 revert: revert clean files when only a change of flags is needed 2008-02-08 18:07:55 -02:00
Bryan O'Sullivan
4a012ef2b9 Merge with crew 2008-02-06 19:57:52 -08:00
Alexis S. L. Carvalho
68bddaa728 hg import: write the dirstate after every commit
This allows the transaction system to backup the correct file, so
that a future rollback can do the right thing.

This should fix issue963.
2008-02-03 21:03:46 -02:00
Matt Mackall
9d996cd13f merge: allow smarter tool configuration
Add [merge-tool] hgrc section with:
 <tool>.executable = name or path (<tool>)
 <tool>.args = args with $local/base/other/output ($local $base $other)
 <tool>.priority = priority (default 0)
 <tool>.binary = handles binary (False)
 <tool>.symlink = handles symlinks (False)
 <tool>.checkconflict = check for conflict markers (False)
 <tool>.premerge = try internal simplemerge (True if not binary or symlink)

Four built-in tools: internal:{merge,local,other,fail}

Add [merge-patterns] section of the form:
 <pattern> = <tool>

Priority of settings is:
 HGMERGE
 merge-patterns
 ui:merge
 merge-tools by priority
 hgmerge, if it can be found

Changes:
 unsuccessful merges leave .orig files
2008-02-03 19:29:05 -06:00
Alexis S. L. Carvalho
961a45df72 merge with crew-stable 2008-02-03 21:47:07 -02:00