2019-12-10 02:24:31 +03:00
#chg-compatible
2020-06-11 03:33:43 +03:00
$ configure mutation - norecord
2020-01-20 13:42:49 +03:00
$ enable conflictinfo rebase
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
1 ) Make the repo
$ mkdir basic
$ cd basic
$ hg init
2 ) Can ' t run dumpjson outside a conflict
$ hg resolve - - tool internal:dumpjson
abort: no files or directories specified
( use - - all to re - merge all unresolved files )
[ 255 ]
3 ) Make a simple conflict
$ echo "Unconflicted base, F1" > F1
$ echo "Unconflicted base, F2" > F2
$ hg commit - Aqm "initial commit"
$ echo "First conflicted version, F1" > F1
$ echo "First conflicted version, F2" > F2
$ hg commit - m "first version, a"
$ hg bookmark a
$ hg checkout . ~ 1
2 files updated , 0 files merged , 0 files removed , 0 files unresolved
( leaving bookmark a )
$ echo "Second conflicted version, F1" > F1
$ echo "Second conflicted version, F2" > F2
$ hg commit - m "second version, b"
$ hg bookmark b
2020-10-08 06:58:22 +03:00
$ hg log - G - T '({node}) {desc}\nbookmark: {bookmarks}\nfiles: {files}\n\n'
@ ( 13124abb51b9fbac518b2b8722df68e012ecfc58 ) second version , b
2020-10-20 03:05:23 +03:00
│ bookmark: b
│ files: F1 F2
│
│ o ( 6 dd692b7db4a573115a661237cb90b506bccc45d ) first version , a
├ ─ ╯ bookmark: a
│ files: F1 F2
│
2020-10-08 06:58:22 +03:00
o ( fd428402857cd43d472566f429df85e40be9cb2a ) initial commit
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
bookmark:
files: F1 F2
$ hg merge a
merging F1
merging F2
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging F1 ! ( edit , then use 'hg resolve --mark' )
warning: 1 conflicts while merging F2 ! ( edit , then use 'hg resolve --mark' )
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
0 files updated , 0 files merged , 0 files removed , 2 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[ 1 ]
5 ) Get the paths:
$ hg resolve - - tool internal:dumpjson - - all
[
{
"command" : "merge" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "merge" , "to_abort" : "update --clean" , "to_continue" : "merge --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "Unconflicted base, F1\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "Second conflicted version, F1\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "First conflicted version, F1\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "<<<<<<< working copy: 13124abb51b9 b - test: second version, b\nSecond conflicted version, F1\n=======\nFirst conflicted version, F1\n>>>>>>> merge rev: 6dd692b7db4a a - test: first version, a\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/basic/F1" } , "path" : "F1" } , { "base" : { "contents" : "Unconflicted base, F2\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "Second conflicted version, F2\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "First conflicted version, F2\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "<<<<<<< working copy: 13124abb51b9 b - test: second version, b\nSecond conflicted version, F2\n=======\nFirst conflicted version, F2\n>>>>>>> merge rev: 6dd692b7db4a a - test: first version, a\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/basic/F2" } , "path" : "F2" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
6 ) Only requested paths get dumped
$ hg resolve - - tool internal:dumpjson F2
[
{
"command" : "merge" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "merge" , "to_abort" : "update --clean" , "to_continue" : "merge --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "Unconflicted base, F2\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "Second conflicted version, F2\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "First conflicted version, F2\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "<<<<<<< working copy: 13124abb51b9 b - test: second version, b\nSecond conflicted version, F2\n=======\nFirst conflicted version, F2\n>>>>>>> merge rev: 6dd692b7db4a a - test: first version, a\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/basic/F2" } , "path" : "F2" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
7 ) Ensure the paths point to the right contents:
$ getcontents ( ) { # Usage: getcontents <path> <version>
2020-08-19 10:31:05 +03:00
> local script = "import sys, json; ui.writebytes(('%s\n' % json.load(sys.stdin)[0][\"conflicts\"][$1][\"$2\"][\"contents\"]).encode('utf-8'))"
> hg resolve - - tool internal:dumpjson - - all | hg debugsh - c "$script"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
> }
$ echo `getcontents 0 "base"`
Unconflicted base , F1
$ echo `getcontents 0 "other"`
First conflicted version , F1
$ echo `getcontents 0 "local"`
Second conflicted version , F1
$ echo `getcontents 1 "base"`
Unconflicted base , F2
$ echo `getcontents 1 "other"`
First conflicted version , F2
$ echo `getcontents 1 "local"`
Second conflicted version , F2
Tests merge conflict corner cases ( file - to - directory , binary - to - symlink , etc . )
"other" == source
"local" == dest
Setup
$ cd ..
$ rm - rf basic
$ mkdir cornercases
$ cd cornercases
$ reset ( ) {
> rm - rf foo
> mkdir foo
> cd foo
> hg init
> echo "base" > file
> hg commit - Aqm "base"
> }
$ logg ( ) {
2020-10-08 06:58:22 +03:00
> hg log - G - T '({node}) {desc}\naffected: {files}\ndeleted: {file_dels}\n\n'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
> }
Test case 0 : A merge of just contents conflicts ( not usually a corner case ) ,
but the user had local changes and ran `merge -f` .
tldr: Since we can premerge , the working copy is backed up to an origfile .
$ reset
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ echo "other change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
o ( 9 b65ba2922f0e466c10e5344d8691afa631e353b ) source
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ @ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
$ echo "some local changes" > file
2020-10-08 21:06:31 +03:00
$ hg merge 'desc(source)' - f
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging file ! ( edit , then use 'hg resolve --mark' )
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
0 files updated , 0 files merged , 0 files removed , 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "merge" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "merge" , "to_abort" : "update --clean" , "to_continue" : "merge --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "some local changes\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "other change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "<<<<<<< working copy: fd7d10c36158 - test: dest\nsome local changes\n=======\nother change\n>>>>>>> merge rev: 9b65ba2922f0 - test: source\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 0 b: Like #0 but with a corner case: source deleted, local changed
* and * had local changes using merge - f .
tldr: Since we couldn ' t premerge , the working copy is left alone .
$ reset
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg rm file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
o ( 25 c2ef28f4c763dd5068d3aa96cafa1342fe5280 ) source
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted: file
│
│ @ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
$ echo "some local changes" > file
$ chmod + x file
2020-10-08 21:06:31 +03:00
$ hg merge 'desc(source)' - f
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
local [ working copy ] changed file which other [ merge rev ] deleted
use ( c ) hanged version , ( d ) elete , or leave ( u ) nresolved ? u
0 files updated , 0 files merged , 0 files removed , 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "merge" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "merge" , "to_abort" : "update --clean" , "to_continue" : "merge --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "some local changes\n" , "exists" : true , "isexec" : true , "issymlink" : false } , "other" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "output" : { "contents" : "some local changes\n" , "exists" : true , "isexec" : true , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 1 : Source deleted , dest changed
$ reset
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg rm file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
o ( 25 c2ef28f4c763dd5068d3aa96cafa1342fe5280 ) source
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted: file
│
│ @ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-12-18 00:45:17 +03:00
rebasing 25 c2ef28f4c7 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
local [ dest ] changed file which other [ source ] deleted
use ( c ) hanged version , ( d ) elete , or leave ( u ) nresolved ? u
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "output" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 1 b: Like #1 but with a merge, with local changes
$ reset
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg rm file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
o ( 25 c2ef28f4c763dd5068d3aa96cafa1342fe5280 ) source
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted: file
│
│ @ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
$ echo "some local changes" > file
2020-10-08 21:06:31 +03:00
$ hg merge 'desc(source)' - f
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
local [ working copy ] changed file which other [ merge rev ] deleted
use ( c ) hanged version , ( d ) elete , or leave ( u ) nresolved ? u
0 files updated , 0 files merged , 0 files removed , 1 files unresolved
use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "merge" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "merge" , "to_abort" : "update --clean" , "to_continue" : "merge --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "some local changes\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "output" : { "contents" : "some local changes\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 2 : Source changed , dest deleted
$ cd ..
$ reset
$ echo "change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg rm file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( 66a38a15024ce5297f27bab5b7f17870de6d0d96 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted: file
│
│ o ( ec87889f5f908dd874cf31122628f081037e4bf5 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing ec87889f5f90 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
other [ source ] changed file which local [ dest ] deleted
2019-09-19 06:39:33 +03:00
use ( c ) hanged version , leave ( d ) eleted , leave ( u ) nresolved , or input ( r ) enamed path ? u
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "other" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 3 : Source changed , dest moved
$ cd ..
$ reset
$ echo "change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg mv file file_newloc
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( d168768b462ba7bdf7d27a2c2e317362498a0a65 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file file_newloc
│ deleted: file
│
│ o ( ec87889f5f908dd874cf31122628f081037e4bf5 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing ec87889f5f90 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file_newloc and file to file_newloc
2020-06-11 03:33:43 +03:00
$ hg up - q 'desc(source)' # source
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ cat file_newloc # Should follow:
change
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : null ,
2017-10-13 16:59:27 +03:00
"conflicts" : [] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 4 : Source changed , dest moved ( w / o copytracing )
$ cd ..
$ reset
$ echo "change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg mv file file_newloc
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( d168768b462ba7bdf7d27a2c2e317362498a0a65 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file file_newloc
│ deleted: file
│
│ o ( ec87889f5f908dd874cf31122628f081037e4bf5 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)' - - config experimental . copytrace = off
2019-10-16 02:28:01 +03:00
rebasing ec87889f5f90 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
other [ source ] changed file which local [ dest ] deleted
2019-09-19 06:39:33 +03:00
use ( c ) hanged version , leave ( d ) eleted , leave ( u ) nresolved , or input ( r ) enamed path ? u
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "other" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 5 : Source moved , dest changed
$ cd ..
$ reset
$ hg mv file file_newloc
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( e6e7483a895027a7b6f8146011cce3b46ef5d8d6 ) source
├ ─ ╯ affected: file file_newloc
│ deleted: file
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing e6e7483a8950 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file and file_newloc to file_newloc
2020-06-11 03:33:43 +03:00
$ hg up 'desc(source)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
1 files updated , 0 files merged , 1 files removed , 0 files unresolved
$ cat file_newloc
change
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : null ,
2017-10-13 16:59:27 +03:00
"conflicts" : [] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 6 : Source moved , dest changed ( w / o copytracing )
$ cd ..
$ reset
$ hg mv file file_newloc
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( e6e7483a895027a7b6f8146011cce3b46ef5d8d6 ) source
├ ─ ╯ affected: file file_newloc
│ deleted: file
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)' - - config experimental . copytrace = off
2019-10-16 02:28:01 +03:00
rebasing e6e7483a8950 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
local [ dest ] changed file which other [ source ] deleted
use ( c ) hanged version , ( d ) elete , or leave ( u ) nresolved ? u
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "output" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 7 : Source is a directory , dest is a file ( base is still a file )
$ cd ..
$ reset
$ hg rm file
$ mkdir file # "file" is a stretch
$ echo "this will cause problems" >> file / subfile
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( ed93aeac6b3ccfb747e62017791e7996f20106d3 ) source
├ ─ ╯ affected: file file / subfile
│ deleted: file
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing ed93aeac6b3c "source"
2020-01-31 21:53:21 +03:00
abort: * : $ TESTTMP /cornercases/ foo /foo/ foo /foo/ file ( glob )
2017-10-25 03:54:02 +03:00
[ 255 ]
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg resolve - - tool = internal:dumpjson - - all
2017-10-25 03:54:02 +03:00
[ abort: * : $ TESTTMP /cornercases/ foo /foo/ foo /foo/ file ( glob )
[ 255 ]
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
Test case 8 : Source is a file , dest is a directory ( base is still a file )
$ cd ..
$ reset
$ echo "change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg rm file
$ mkdir file # "file"
$ echo "this will cause problems" >> file / subfile
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( c7fd9e6dc48312b276e2cea6edc92fb1fbd24cf3 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file file / subfile
│ deleted: file
│
│ o ( ec87889f5f908dd874cf31122628f081037e4bf5 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing ec87889f5f90 "source"
2020-01-31 21:53:21 +03:00
abort: * : $ TESTTMP /cornercases/ foo /foo/ foo /foo/ file ( glob )
2017-10-25 03:54:02 +03:00
[ 255 ]
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg resolve - - tool = internal:dumpjson - - all
[
{
2018-02-20 23:48:25 +03:00
"command" : "rebase" ,
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-25 03:54:02 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null } , "other" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : null , "exists" : false , "isexec" : null , "issymlink" : null , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 9 : Source is a binary file , dest is a file ( base is still a file )
$ cd ..
$ reset
2020-08-19 10:31:05 +03:00
$ printf '\0' > file
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( b6e55a03a5dc98e4ce5ef82f8f967f2188b32608 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing b6e55a03a5dc "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file
warning: ( [ ^ \ s ] + ) looks like a binary file . ( re )
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging file ! ( edit , then use 'hg resolve --mark' )
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ cat - v file # The local version should be left in the working copy
change
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "\u0000" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 10 : Source is a file , dest is a binary file ( base is still a file )
$ cd ..
$ reset
$ echo "change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
2020-08-19 10:31:05 +03:00
$ printf '\0' > file
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( 48fb032ebb6733fb9b62d0a11c1b4a538c4840a1 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( ec87889f5f908dd874cf31122628f081037e4bf5 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing ec87889f5f90 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file
warning: ( [ ^ \ s ] + ) looks like a binary file . ( re )
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging file ! ( edit , then use 'hg resolve --mark' )
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ cat - v file
^ @ ( no - eol )
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "\u0000" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "\u0000" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 11 : Source is a symlink , dest is a file ( base is still a file )
$ cd ..
$ reset
$ rm file
$ ln - s somepath file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ echo "change" > file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( fd7d10c36158e4f6e713ca1c40ddebce2b55a868 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( 06 aece48b59fc832b921a114492f962a5b358b22 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing 06 aece48b59f "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file
warning: internal : merge cannot merge symlinks for file
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging file ! ( edit , then use 'hg resolve --mark' )
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ cat - v file
change
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "somepath" , "exists" : true , "isexec" : false , "issymlink" : true } , "output" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
Test case 12 : Source is a file , dest is a symlink ( base is still a file )
$ cd ..
$ reset
$ echo "change" > file
$ hg commit - Aqm "source"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(base)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ rm file
$ ln - s somepath file
$ hg commit - Aqm "dest"
2020-10-08 21:06:31 +03:00
$ hg up - q 'desc(dest)'
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
$ logg
2020-10-08 06:58:22 +03:00
@ ( c4bbf66fc0d73a7b05e64344fa86a678e19c35a2 ) dest
2020-10-20 03:05:23 +03:00
│ affected: file
│ deleted:
│
│ o ( ec87889f5f908dd874cf31122628f081037e4bf5 ) source
├ ─ ╯ affected: file
│ deleted:
│
2020-10-08 06:58:22 +03:00
o ( 01 813 a66ce08dcc7d684f337c68bd61a4982de10 ) base
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
affected: file
deleted:
2020-10-08 21:06:31 +03:00
$ hg rebase - d 'desc(dest)' - s 'desc(source)'
2019-10-16 02:28:01 +03:00
rebasing ec87889f5f90 "source"
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
merging file
warning: internal : merge cannot merge symlinks for file
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging file ! ( edit , then use 'hg resolve --mark' )
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
unresolved conflicts ( see hg resolve , then hg rebase - - continue )
[ 1 ]
$ test - f file && echo "Exists" || echo "Does not exist"
Does not exist
$ ls file
file
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "rebase" ,
2017-10-26 08:20:32 +03:00
"command_details" : { "cmd" : "rebase" , "to_abort" : "rebase --abort" , "to_continue" : "rebase --continue" } ,
2017-10-13 16:59:27 +03:00
"conflicts" : [ { "base" : { "contents" : "base\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "somepath" , "exists" : true , "isexec" : false , "issymlink" : true } , "other" : { "contents" : "change\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "somepath" , "exists" : true , "isexec" : false , "issymlink" : true , "path" : "$TESTTMP/cornercases/foo/foo/foo/foo/file" } , "path" : "file" } ] ,
"pathconflicts" : []
resolve: add internal:dumpjson as an internal merge tool (as an extension, for now)
Summary:
This basically takes the last upstream version of my conflictinfo patch and makes it an extension, so we can get it out to FB/Nuclide users
a bit faster. @asriram has already been developing with this version as a personal extension for a couple of weeks.
I still plan to ship the upstream version through after the freeze ends -- when that happens, we can delete this extension. During the time the two
versions overlap, they shouldn't conflict. (The extension version will still run over the internal version until it's disabled, though.)
Review-wise, this is similar to the last upstream version, except it adds the "command" key that indicates which command generated the conflicts (based on which mutually-exclusive state file exists), and incorporates most of the feedback.
Test Plan: Added a test and ran associated tests.
Reviewers: #mercurial, rmcelroy
Reviewed By: rmcelroy
Subscribers: rmcelroy, asriram, mjpieters
Differential Revision: https://phabricator.intern.facebook.com/D4944709
Signature: t1:4944709:1493148790:a4e798f5bd17ada767ae6c96fe8c8ab973960383
2017-04-25 22:46:28 +03:00
}
]
2018-02-20 23:48:25 +03:00
$ cd ..
command_details works correctly with commands that drop both a statefile and a
mergestate ( like shelve ) :
$ hg init command_details
$ cd command_details
$ cat >> . hg / hgrc << EOF
> [ extensions ]
> shelve =
2018-10-12 16:22:10 +03:00
> [ experimental ]
> evolution = createmarkers
2018-02-20 23:48:25 +03:00
> EOF
$ hg debugdrawdag << 'EOS'
> b c
> | /
> a
> EOS
$ hg up - q c
$ echo 'state' > b
$ hg add - q
$ hg shelve
2019-12-17 05:10:38 +03:00
shelved as c
2018-02-20 23:48:25 +03:00
0 files updated , 0 files merged , 1 files removed , 0 files unresolved
$ hg up - q b
$ hg unshelve
2019-12-17 05:10:38 +03:00
unshelving change 'c'
2018-02-20 23:48:25 +03:00
rebasing shelved changes
2019-12-18 00:45:17 +03:00
rebasing b0582bede31d "shelve changes to: c"
2018-02-20 23:48:25 +03:00
merging b
2018-10-22 22:45:46 +03:00
warning: 1 conflicts while merging b ! ( edit , then use 'hg resolve --mark' )
2018-02-20 23:48:25 +03:00
unresolved conflicts ( see 'hg resolve' , then 'hg unshelve --continue' )
[ 1 ]
$ hg resolve - - tool = internal:dumpjson - - all
[
{
"command" : "unshelve" ,
"command_details" : { "cmd" : "unshelve" , "to_abort" : "unshelve --abort" , "to_continue" : "unshelve --continue" } ,
2018-10-12 16:22:10 +03:00
"conflicts" : [ { "base" : { "contents" : "" , "exists" : true , "isexec" : false , "issymlink" : false } , "local" : { "contents" : "b" , "exists" : true , "isexec" : false , "issymlink" : false } , "other" : { "contents" : "state\n" , "exists" : true , "isexec" : false , "issymlink" : false } , "output" : { "contents" : "<<<<<<< dest: 488e1b7e7341 b - test: b\nb=======\nstate\n>>>>>>> source: b0582bede31d - test: shelve changes to: c\n" , "exists" : true , "isexec" : false , "issymlink" : false , "path" : "$TESTTMP/cornercases/foo/foo/foo/command_details/b" } , "path" : "b" } ] ,
2018-02-20 23:48:25 +03:00
"pathconflicts" : []
}
]