D2409: graft: add no-commit mode (issue5631)
sushil khanchi
sushilkhanchi97 at gmail.com
Wed Feb 28 21:56:50 EST 2018
Hello there, Can I get a little review on this :)
On Tue, Feb 27, 2018 at 1:58 AM, khanchi97 (Sushil khanchi) <
phabricator at mercurial-scm.org> wrote:
> khanchi97 updated this revision to Diff 6132.
>
> REPOSITORY
> rHG Mercurial
>
> CHANGES SINCE LAST UPDATE
> https://phab.mercurial-scm.org/D2409?vs=6028&id=6132
>
> REVISION DETAIL
> https://phab.mercurial-scm.org/D2409
>
> AFFECTED FILES
> mercurial/commands.py
> tests/test-graft.t
>
> CHANGE DETAILS
>
> diff --git a/tests/test-graft.t b/tests/test-graft.t
> --- a/tests/test-graft.t
> +++ b/tests/test-graft.t
> @@ -1373,3 +1373,69 @@
> note: graft of 7:d3c3f2b38ecc created no changes to commit
>
> $ cd ..
> +
> +Graft a change from a branch without making any commit using --no-commit
> option
> +
> + $ hg init dirtochecknocommit
> + $ cd dirtochecknocommit
> + $ echo a > a
> + $ hg ci -qAm0
> + $ echo b > b
> + $ hg ci -qAm1
> + $ hg up -q 0
> + $ echo c > c
> + $ hg ci -qAm2
> + $ hg graft 1 --no-commit
> + grafting 1:925d80f479bb "1"
> +
> + $ hg tip -T "rev: {rev}\n"
> + rev: 2
> +
> + $ hg diff
> + diff -r db815d6d32e6 b
> + --- /dev/null Thu Jan 01 00:00:00 1970 +0000
> + +++ b/b Thu Jan 01 00:00:00 1970 +0000
> + @@ -0,0 +1,1 @@
> + +b
> +
> + $ hg ci -qm3
> +
> +Make a conflict between two heads and check --no-commit is resepected
> after --continue
> +
> + $ echo A>a
> + $ hg ci -qm4
> + $ hg up -q 1
> + $ echo B>a
> + $ hg ci -qm5
> + $ hg graft 4 --no-commit
> + grafting 4:a08bb3910e7c "4"
> + merging a
> + warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
> + abort: unresolved conflicts, can't continue
> + (use 'hg resolve' and 'hg graft --continue')
> + [255]
> +
> +Edit:
> +
> + $ echo A>a
> + $ hg resolve --mark
> + (no more unresolved files)
> + continue: hg graft --continue
> +
> +Continue:
> +
> + $ hg graft --continue
> + grafting 4:a08bb3910e7c "4"
> +
> + $ hg tip -T "rev: {rev}\n"
> + rev: 5
> +
> + $ hg diff
> + diff -r b1d5b5056844 a
> + --- a/a Thu Jan 01 00:00:00 1970 +0000
> + +++ b/a Thu Jan 01 00:00:00 1970 +0000
> + @@ -1,1 +1,1 @@
> + -B
> + +A
> +
> + $ cd ..
> diff --git a/mercurial/commands.py b/mercurial/commands.py
> --- a/mercurial/commands.py
> +++ b/mercurial/commands.py
> @@ -2074,6 +2074,8 @@
> ('c', 'continue', False, _('resume interrupted graft')),
> ('e', 'edit', False, _('invoke editor on commit messages')),
> ('', 'log', None, _('append graft info to log message')),
> + ('', 'no-commit', None,
> + _("don't commit, just apply the changes in working directory")),
> ('f', 'force', False, _('force graft')),
> ('D', 'currentdate', False,
> _('record the current date as commit date')),
> @@ -2153,6 +2155,9 @@
> revs = list(revs)
> revs.extend(opts.get('rev'))
>
> + if opts.get('no_commit'):
> + # write out flag for --continue
> + repo.vfs.write('nocommitflag','do not commit\n')
> if not opts.get('user') and opts.get('currentuser'):
> opts['user'] = ui.username()
> if not opts.get('date') and opts.get('currentdate'):
> @@ -2314,16 +2319,18 @@
> cont = False
>
> # commit
> - node = repo.commit(text=message, user=user,
> - date=date, extra=extra, editor=editor)
> - if node is None:
> - ui.warn(
> - _('note: graft of %d:%s created no changes to commit\n') %
> - (ctx.rev(), ctx))
> + if not repo.vfs.exists('nocommitflag'):
> + node = repo.commit(text=message, user=user,
> + date=date, extra=extra, editor=editor)
> + if node is None:
> + ui.warn(
> + _('note: graft of %d:%s created no changes to
> commit\n') %
> + (ctx.rev(), ctx))
>
> # remove state when we complete successfully
> if not opts.get('dry_run'):
> repo.vfs.unlinkpath('graftstate', ignoremissing=True)
> + repo.vfs.unlinkpath('nocommitflag', ignoremissing=True)
>
> return 0
>
>
>
>
> To: khanchi97, #hg-reviewers
> Cc: pulkit, mercurial-devel
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20180301/0d487f13/attachment.html>
More information about the Mercurial-devel
mailing list