##// END OF EJS Templates
transplant: crash if repo.commit() finds nothing to commit...
transplant: crash if repo.commit() finds nothing to commit (makes issue2135, issue2264 more obvious, but does nothing to fix either one) This seems to happen in two distinct cases: * patch.patch() claims success but changes nothing (e.g. the transplanted changeset adds an empty file that already exists) * patch.patch() makes changes, but repo.status() fails to report them Both of these seem like bugs in other parts of Mercurial, so arguably it's not transplant's job to detect the failure to commit. However: * detecting the problem as soon as possible is desirable * it prevents a more obscure crash later, in transplants.write() * there might be other lurking (or future) bugs that cause repo.commit() to do nothing Also, in the case of issue2264 (source changesets silently dropped by transplant), the only way to spot the problem currently is the crash in transplants.write(). Failure to transplant a patch should abort immediately, whether it's user error (patch does not apply) or a Mercurial bug (e.g. repo.status() failing to report changes).

File last commit:

r10263:25e57239 stable
r11638:79231258 stable
Show More
hg.1.txt
100 lines | 2.4 KiB | text/plain | TextLexer
====
hg
====
---------------------------------------
Mercurial source code management system
---------------------------------------
:Author: Matt Mackall <mpm@selenic.com>
:Organization: Mercurial
:Manual section: 1
:Manual group: Mercurial Manual
.. contents::
:backlinks: top
:class: htmlonly
Synopsis
--------
**hg** *command* [*option*]... [*argument*]...
Description
-----------
The **hg** command provides a command line interface to the Mercurial
system.
Command Elements
----------------
files...
indicates one or more filename or relative path filenames; see
`File Name Patterns`_ for information on pattern matching
path
indicates a path on the local machine
revision
indicates a changeset which can be specified as a changeset
revision number, a tag, or a unique substring of the changeset
hash value
repository path
either the pathname of a local repository or the URI of a remote
repository.
.. include:: hg.1.gendoc.txt
Files
-----
``.hgignore``
This file contains regular expressions (one per line) that
describe file names that should be ignored by **hg**. For details,
see |hgignore(5)|_.
``.hgtags``
This file contains changeset hash values and text tag names (one
of each separated by spaces) that correspond to tagged versions of
the repository contents.
``/etc/mercurial/hgrc``, ``$HOME/.hgrc``, ``.hg/hgrc``
This file contains defaults and configuration. Values in
``.hg/hgrc`` override those in ``$HOME/.hgrc``, and these override
settings made in the global ``/etc/mercurial/hgrc`` configuration.
See |hgrc(5)|_ for details of the contents and format of these
files.
Some commands (e.g. revert) produce backup files ending in ``.orig``,
if the ``.orig`` file already exists and is not tracked by Mercurial,
it will be overwritten.
Bugs
----
Probably lots, please post them to the mailing list (see Resources_
below) when you find them.
See Also
--------
|hgignore(5)|_, |hgrc(5)|_
Author
------
Written by Matt Mackall <mpm@selenic.com>
Resources
---------
Main Web Site: http://mercurial.selenic.com/
Source code repository: http://selenic.com/hg
Mailing list: http://selenic.com/mailman/listinfo/mercurial
Copying
-------
Copyright (C) 2005-2010 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License version 2 or any later version.
.. include:: common.txt