mirror of
https://github.com/facebook/sapling.git
synced 2024-10-16 19:57:18 +03:00
30913031d4
The home of 'Abort' is 'error' not 'util' however, a lot of code seems to be confused about that and gives all the credit to 'util' instead of the hardworking 'error'. In a spirit of equity, we break the cycle of injustice and give back to 'error' the respect it deserves. And screw that 'util' poser. For great justice.
67 lines
1.5 KiB
Perl
67 lines
1.5 KiB
Perl
$ hg init
|
|
|
|
$ cat > .hg/hgrc <<EOF
|
|
> [extensions]
|
|
> prefixfilter = prefix.py
|
|
> [encode]
|
|
> *.txt = stripprefix: Copyright 2046, The Masters
|
|
> [decode]
|
|
> *.txt = insertprefix: Copyright 2046, The Masters
|
|
> EOF
|
|
|
|
$ cat > prefix.py <<EOF
|
|
> from mercurial import error
|
|
> def stripprefix(s, cmd, filename, **kwargs):
|
|
> header = '%s\n' % cmd
|
|
> if s[:len(header)] != header:
|
|
> raise error.Abort('missing header "%s" in %s' % (cmd, filename))
|
|
> return s[len(header):]
|
|
> def insertprefix(s, cmd):
|
|
> return '%s\n%s' % (cmd, s)
|
|
> def reposetup(ui, repo):
|
|
> repo.adddatafilter('stripprefix:', stripprefix)
|
|
> repo.adddatafilter('insertprefix:', insertprefix)
|
|
> EOF
|
|
|
|
$ cat > .hgignore <<EOF
|
|
> .hgignore
|
|
> prefix.py
|
|
> prefix.pyc
|
|
> EOF
|
|
|
|
$ cat > stuff.txt <<EOF
|
|
> Copyright 2046, The Masters
|
|
> Some stuff to ponder very carefully.
|
|
> EOF
|
|
$ hg add stuff.txt
|
|
$ hg ci -m stuff
|
|
|
|
Repository data:
|
|
|
|
$ hg cat stuff.txt
|
|
Some stuff to ponder very carefully.
|
|
|
|
Fresh checkout:
|
|
|
|
$ rm stuff.txt
|
|
$ hg up -C
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
$ cat stuff.txt
|
|
Copyright 2046, The Masters
|
|
Some stuff to ponder very carefully.
|
|
$ echo "Very very carefully." >> stuff.txt
|
|
$ hg stat
|
|
M stuff.txt
|
|
|
|
$ echo "Unauthorized material subject to destruction." > morestuff.txt
|
|
|
|
Problem encoding:
|
|
|
|
$ hg add morestuff.txt
|
|
$ hg ci -m morestuff
|
|
abort: missing header "Copyright 2046, The Masters" in morestuff.txt
|
|
[255]
|
|
$ hg stat
|
|
M stuff.txt
|
|
A morestuff.txt
|