Mercurial - проверка исправности - PullRequest
0 голосов
/ 17 марта 2012

Я использую Mercurial и у меня есть разница благодаря этой команде: hg diff

Вот мой дифференциал (пример):

diff -r 17899716342e config.js
--- a/config.js Sat Mar 17 14:01:53 2012 +0100
+++ b/config.js Sat Mar 17 18:15:16 2012 +0100
@@ -8,6 +8,6 @@
 ];

 config.hostname = 'localhost';
-config.port = '3000';
+config.port = '8080';

-module.exports = canfig;
+module.exports = config;

В другом репозитории я хотел бы проверить, можно ли применить этот diff. Я знаю, что hg import может импортировать diff в моем текущем репозитории.

От мужчины:

-f --force                   skip check for outstanding uncommitted changes
    --no-commit              don't commit, just update the working directory
    --bypass                 apply patch without touching the working
                             directory

Но нет аргумента, чтобы просто проверить, можно ли применить патч без изменения моего хранилища (и моего рабочего дерева) .

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 17 марта 2012

Я предлагаю сделать локальный одноразовый клон и применить к нему патч, если вы не хотите изменять текущий рабочий каталог или репозиторий. Я не думаю, что есть способ сделать это иначе.

С помощью расширений вы можете отложить текущие изменения, применить исправление, обновить очистку до исходного родителя, отменить изменения. Клонирование кажется проще.

0 голосов
/ 18 марта 2012

Мне больше всего нравится ответ @Mark Tolonen - в Mercurial новый локальный клон почти мгновенный и почти не занимает места из-за использования жестких ссылок.

Однако, если вы просто не можетеВыполните это, затем используйте параметр --no-commit, а затем вернитесь.

  1. hg import --no-commit the.diff # проверьте, успешно это или нет
  2. hg revert --all # отменить попытку импорта
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...