mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
ba5b3b9f46
Before this patch, 'detailed' is used as the default of '[ui] mergemarkers'. This embeds non-ASCII characters in tags, branches, bookmarks, author and/or commit descriptions into merged files in the encoding specified by '--encoding' global option, 'HGENCODING' or other locale setting environment variables. But, if files to be merged use another encoding, this behavior breaks consistency of encoding in merged files. For example, ISO-2022-JP or EUC-JP are sometimes used as the file encoding for Japanese characters, because of historical and/or environmental reasons, even though UTF-8 or Shift-JIS are ordinarily used as the terminal encoding. This can't be resolved automatically, because Mercurial doesn't aware encoding of managed files. This patch uses 'basic' as the default of '[ui] mergemarkers' to avoid embedding encoding sensitive characters for safety. This patch puts '[ui] mergemarkers = detailed' into default hgrc file for tests, to reduce changes for tests in this patch.
66 lines
1.3 KiB
Perl
66 lines
1.3 KiB
Perl
Create a repository:
|
|
|
|
$ hg config
|
|
defaults.backout=-d "0 0"
|
|
defaults.commit=-d "0 0"
|
|
defaults.shelve=--date "0 0"
|
|
defaults.tag=-d "0 0"
|
|
ui.slash=True
|
|
ui.interactive=False
|
|
ui.mergemarkers=detailed
|
|
$ hg init t
|
|
$ cd t
|
|
|
|
Make a changeset:
|
|
|
|
$ echo a > a
|
|
$ hg add a
|
|
$ hg commit -m test
|
|
|
|
This command is ancient:
|
|
|
|
$ hg history
|
|
changeset: 0:acb14030fe0a
|
|
tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: test
|
|
|
|
|
|
Verify that updating to revision 0 via commands.update() works properly
|
|
|
|
$ cat <<EOF > update_to_rev0.py
|
|
> from mercurial import ui, hg, commands
|
|
> myui = ui.ui()
|
|
> repo = hg.repository(myui, path='.')
|
|
> commands.update(myui, repo, rev=0)
|
|
> EOF
|
|
$ hg up null
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ python ./update_to_rev0.py
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ hg identify -n
|
|
0
|
|
|
|
|
|
Poke around at hashes:
|
|
|
|
$ hg manifest --debug
|
|
b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 644 a
|
|
|
|
$ hg cat a
|
|
a
|
|
|
|
Verify should succeed:
|
|
|
|
$ hg verify
|
|
checking changesets
|
|
checking manifests
|
|
crosschecking files in changesets and manifests
|
|
checking files
|
|
1 files, 1 changesets, 1 total revisions
|
|
|
|
At the end...
|
|
|
|
$ cd ..
|