This tests the reading of old graftstate file using the new logic. The tests
shows that if user is in middle of a graft and then updates their mercurial to
the version where we have new graftstate format, we can still read the old graft
state format files correctly.
Details
- Reviewers
martinvonz - Group Reviewers
hg-reviewers - Commits
- rHGd1690a64268e: graft: add test for reading old graftstate files with new mechanism
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
Event Timeline
tests/test-graft.t | ||
---|---|---|
1417 | Can this line be replaced by hg log -r 1 -r 2 -T '{node}\n' > .hg/graftstate and remove the need for the extension above (and the need to create conflicting changes)? |
tests/test-graft.t | ||
---|---|---|
1417 | That's a nice idea. I think we can, but the behavior will be bit different since graft will think the working directory now contains changes from rev 1 and will straight away try to create a commit and later reporting that graft of 1 created no changes to commit. Here is the diff: ~/repo/hg-committed/tests$ hg diff diff --git a/tests/test-graft.t b/tests/test-graft.t --- a/tests/test-graft.t +++ b/tests/test-graft.t @@ -1414,16 +1414,9 @@ Testing the reading of old format grafts $ hg add b $ hg ci -m "bar to b" created new head - $ hg oldgraft -r 1 -r 2 --config extensions.oldgraft=$TESTTMP/oldgraft.py - merging b - warning: conflicts while merging b! (edit, then use 'hg resolve --mark') - abort: unresolved conflicts - [255] + $ hg log -r 1 -r 2 -T '{node}\n' > .hg/graftstate - $ echo foo > b - $ hg resolve -m - (no more unresolved files) - continue: hg graft --continue $ hg graft --continue grafting 1:80e6d2c47cfe "added b" + note: graft of 1:80e6d2c47cfe created no changes to commit grafting 2:8be98ac1a569 "added c" Since we are just testing reading old state format files, we should be fine with this. What do you think? |
tests/test-graft.t | ||
---|---|---|
1417 | An alternative is to use the regular great command to start the process and then replace the .hg/graftstate once it's run into conflicts. That might be better so we have a repo state (include the merge state) that we know is valid to continue from. |
tests/test-graft.t | ||
---|---|---|
1417 | That's a very good suggestion. Thanks for that! |
Can this line be replaced by hg log -r 1 -r 2 -T '{node}\n' > .hg/graftstate and remove the need for the extension above (and the need to create conflicting changes)?