Commit Graph

2873 Commits

Author SHA1 Message Date
Daniel Atallah
76c70d873a convert/mtn: avoid unnecessary initial test of mtn repo
As soon as before() is called, we'll know if there is a problem (and get a
better error message).
2011-03-25 10:13:46 -04:00
Daniel Atallah
3b1242e5b1 convert/mtn: add support for using monotone's "automate stdio" when available
Currently the convert extension spawns a new mtn process for each
operation. For a large repository, this ends up being hundreds of
thousands of processes. The following enables usage of monotone's
"automate stdio" functionality - documented at:

http://www.monotone.ca/docs/Automation.html#index-mtn-automate-stdio-188

The effect is that (after determining that a new enough mtn executable
is available) a single long-running mtn process is used for all the
operations, using stdin/stdout to send commands and read output.

This has a pretty significant effect on the performance of some parts
of the conversion process.
2011-03-23 14:26:56 -04:00
Daniel Atallah
066e208063 convert: add support to common commandline to access stdin of the process 2011-03-24 16:54:09 -04:00
jfh
a63916e626 extdiff: use absolute paths for any temporary files
This allows the use of p4merge amongst possible other external tools.
2011-03-21 17:03:16 +01:00
Edouard Gomez
4503be63c2 convert: add bookmark support to hg source 2011-03-25 01:38:47 +01:00
Edouard Gomez
4060d3d548 convert: add bookmarks reading support to git backend 2011-03-25 01:38:43 +01:00
Edouard Gomez
8efe0b6606 convert: add bookmark support to the hg sink 2010-07-07 00:06:59 +02:00
Edouard Gomez
ac88ce23c8 convert: add bookmark support to main command
During conversion, read bookmarks from source repo, filter them and push the
resulting set of bookmarks to destination sink.
2010-07-07 00:06:59 +02:00
Edouard Gomez
f8e9b0faf6 convert: add bookmark support to common sink/source implementation 2010-07-07 00:06:59 +02:00
Peter Arrenbrecht
8f2d068a05 discovery: avoid discovery when local graph is a subset of remote
Immediately sends local's heads to the server to check whether the server knows them all.
If it does, we can call getbundle immediately.

Interesting test output changes are:

-  added 1 changesets with 0 changes to 1 files (+1 heads)
+  added 1 changesets with 0 changes to 0 files (+1 heads)

-> The new getbundle() actually fixes a bug vs. changegroupsubset() in that it no longer
returns unnecessary files when file revs are reused.

warning: repository is unrelated
+  requesting all changes

-> The new use of common instead of bases correctly indicates that an unrelated pull
gets all changes from the server.
2011-03-23 16:06:55 +01:00
Stefano Tortarolo
40d3a3beb3 rebase: allow for rebasing descendants onto ancestors on different named branches
So far we've been denying rebasing descendants onto ancestors, but there are
situations in which this kind of operation makes perfect sense to me.

Let's say we have made a commit (or more), that belongs to branch 'dev', on
top of the named branch 'stable':

... a (stable) - b (dev)

but then we realize that b should belong to branch 'stable'.
In these cases a rebase means: "move these csets from named branch A to named
branch B" and there isn't a valid reason to deny it.

This patch basically doesn't block it, if source and destination are
on different named branches.
The old behaviour still applies for rebases across the same named branch.

Can you think of any tricky corner cases in which this new behaviour could
lead to problems? (I bet there are tons of them...)

By the way, I created a brand new .t because I feel there should be more
tests I can't think of at the moment.
2011-03-23 01:14:43 +01:00
Matt Mackall
f8809566c2 merge with stable 2011-03-23 09:20:40 -05:00
Patrick Mezard
bd8804161f i18n: register new template keywords for translation 2011-03-19 19:50:55 +01:00
Patrick Mezard
ce258b1ae4 convert: add svnrev, svnpath and svnuuid template keywords
$ hg -R A-hg log --template '{rev} {svnuuid}{svnpath}@{svnrev}\n'
  10 644ede6c-2b81-4367-9dc8-d786514f2cde/trunk@10
2011-03-17 22:17:27 +01:00
Patrick Mezard
542a74b67c convert/svn: extract revsplit() in a function 2011-03-17 22:17:27 +01:00
Patrick Mezard
ef8d429854 transplant: add "transplanted" keyword
$ hg log --template '{rev} {transplanted}\n'
  7 a53251cdf717679d1907b289f991534be05c997a
2011-03-17 22:17:27 +01:00
Matt Mackall
37bd74cb45 merge with i18n 2011-03-17 12:00:49 -05:00
Markus F.X.J. Oberhumer
17565c031b graphlog: do not swallow all TypeError exceptions (fix fe7058294ec5) 2011-03-16 23:54:55 +01:00
Martin Geisler
9567e5a379 i18n: merge with stable 2011-03-16 17:43:43 +01:00
Martin Geisler
a0a2144b94 i18n: don't mark trivial string for translation 2011-03-16 17:38:25 +01:00
Martin Geisler
87e06b967c relink: mark abort message for translation 2011-03-16 15:34:45 +01:00
Martin Geisler
ba5898d620 relink: avoid trying to lock the same repo twice 2011-03-16 15:34:10 +01:00
Stefano Tortarolo
d1da6cf615 mq: fix typo in docstring 2011-03-15 14:55:16 +01:00
Patrick Mezard
ec6a1a3ed2 convert/svn: fix _iterfiles() output in root dir case (issue2647)
When converting directory additions/replacement with project directory set to
root, _iterfiles() sometimes returned paths starting with a slash making
following svn calls to fail.

I could not reproduce the issue with hand-crafted repositories.

Report and first analysis by Clinton Chau <clinton@clearcanvas.ca>
2011-03-14 21:35:31 +01:00
Radomir Dopieralski
30b72ca2fb rebase: add -m/--message to rebase --collapse (issue2389)
When collapsing changesets with rebase, you get a chance to edit the commit
message manually, but there is no way to pass this message from the command
line. This patch adds a `--message` (with short form `-m`) and `--logfile`
(with short form `-m`) options to the rebase command. These options suppresses
the generation of the default commit message, and instead use the message
provided in the option (in case of `-m`) or in the file it points to (in case
of `-l`).

If you use this option without the `--collapse` option, it will raise an
error.

Options documentation edited by Patrick Mezard <pmezard@gmail.com>
2011-03-15 18:33:36 +01:00
David Wolever
7bd158b865 Updating hgext.extdiff to use revsets 2011-03-15 17:50:02 -04:00
Martin Geisler
9b725c9bcb merge with stable 2011-03-16 16:07:06 +01:00
Martin Geisler
af8080dec2 relink: format reclaimed byte count nicely 2011-03-16 13:51:47 +01:00
Matt Mackall
1402203495 merge with stable 2011-03-15 16:53:46 -05:00
Patrick Mezard
bc20b44708 merge with crew 2011-03-14 22:37:50 +01:00
Matt Mackall
a1c69b99f5 merge with stable 2011-03-14 15:59:44 -05:00
Patrick Mezard
5f254d281f eol: no need to accumulate files when checking all changesets
Just check the files touched by the changesets.
2011-03-14 21:31:54 +01:00
Patrick Mezard
99858baa84 eol: improve hook failure output
Before, only the first failure was reported:

  abort: b.txt should not have CRLF line endings

while now all of them are listed:

  abort: end-of-line check failed:
    d.txt in a7040e68714f should not have CRLF line endings
    b.txt in fbcf9b1025f5 should not have CRLF line endings

As first suggested by Antoine Pitrou <solipsis@pitrou.net>
2011-03-14 21:08:18 +01:00
Martin Geisler
2009744e21 color: wrap lines in docstring 2011-03-14 15:19:58 +01:00
Martin Geisler
47a3f1a049 merge with stable 2011-03-14 14:05:19 +01:00
Christian Ebert
d7bf092ada keyword: offer additional datefilters when the extension is enabled
Before the additional datefilters (utcdate, svnisodate, svnutcdate)
were used when kwtemplater was initialized. Now they always be used
once the extension is enabled.
2011-03-14 12:26:50 +01:00
Christian Ebert
538e3f9097 keyword: docstrings for additional date filters 2011-03-14 12:19:59 +01:00
Martin Geisler
e450b1ed50 color: don't mention internal function in docstring
The render_text function actually never existed, the docstring
probably meant the render_effects function instead.
2011-03-14 13:54:25 +01:00
Martin Geisler
f881346b4c mq: do not let qrefresh write bad patch 2011-03-13 16:18:46 +01:00
Steve Borho
af5b09475e merge with stable 2011-03-13 10:09:30 -05:00
Steve Borho
f61b2a6d58 eol: do not abort when win32text is found, only warn
The win32text extension does not break eol or vice-versa, so it is not a fatal
error to have both of them enabled.  It's just folly.  So spewing warnings in
this condition is preferrable to aborting.  When both extensions are enabled,
the user now sees:

% hg st
the eol extension is incompatible with the win32text extension
win32text is deprecated: http://mercurial.selenic.com/wiki/Win32TextExtension
M hgext/eol.py
2011-03-13 10:03:06 -05:00
Klaus Koch
b52874b751 graphlog: give meaningful error if more than one file is given 2011-03-13 15:04:13 +01:00
Patrick Mezard
d52fb5d6ab eol: rename hook into checkheadshook, add checkallhook (issue2665)
"hook" is still an alias for "checkheadshook".
2011-03-13 15:07:44 +01:00
Patrick Mezard
25db85f436 eol: make the hook check all new heads, not only tip (issue2666)
Report and test by Antoine Pitrou <solipsis@pitrou.net>
2011-03-13 15:07:44 +01:00
Patrick Mezard
31042d7b6f eol: the hook no longer requires the extension to be loaded
Reading rules in the hook means we no longer need ui to be filled and do not
need reposetup() to be run anymore.
2011-03-13 15:07:44 +01:00
Patrick Mezard
df3e99aabe eol: extract parsing error handling in parseeol() 2011-03-13 15:07:44 +01:00
Patrick Mezard
6138329fcd eol: separate .hgeol parsing from merge in ui
This will help refactoring the hook.
2011-03-13 15:07:44 +01:00
Patrick Mezard
bd3e6eac01 eol: remove unused argument in readhgeol() 2011-03-13 15:07:44 +01:00
Patrick Mezard
683492a8b0 eol: explain why reading .hgeol from the working dir is special 2011-03-13 15:07:44 +01:00
Martin Geisler
fbb9405b28 rebase: don't use util.Abort for an internal error 2011-03-13 13:52:47 +01:00