tests/test-archive-symlinks.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 30 Apr 2021 18:24:54 +0200
changeset 47137 d8ac62374943
parent 29855 c4d03b6d9576
permissions -rw-r--r--
dirstate-tree: Make `DirstateMap` borrow from a bytes buffer … that has the contents of the `.hg/dirstate` file. This only applies to the tree-based flavor of `DirstateMap`. For now only the entire `&[u8]` slice is stored, so this is not useful yet. Adding a lifetime parameter to the `DirstateMap` struct (in hg-core) makes Python bindings non-trivial because we keep that struct in a Python object that has a dynamic lifetime tied to Python’s reference-counting and GC. As long as we keep the `PyBytes` that owns the borrowed bytes buffer next to the borrowing struct, the buffer will live long enough for the borrows to stay valid. However this relationship cannot be expressed in safe Rust code in a way that would statisfy they borrow-checker. We use `unsafe` code to erase that lifetime parameter, and encapsulate it in a safe abstraction similar to the owning-ref crate: https://docs.rs/owning_ref/ Differential Revision: https://phab.mercurial-scm.org/D10557
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 21216
diff changeset
     1
#require symlink
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     2
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     3
  $ origdir=`pwd`
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     4
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     5
  $ hg init repo
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     6
  $ cd repo
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     7
  $ ln -s nothing dangling
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
     8
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
     9
avoid tar warnings about old timestamp
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    10
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    11
  $ hg ci -d '2000-01-01 00:00:00 +0000' -qAm 'add symlink'
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    12
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    13
  $ hg archive -t files ../archive
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    14
  $ hg archive -t tar -p tar ../archive.tar
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    15
  $ hg archive -t zip -p zip ../archive.zip
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    16
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    17
files
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    18
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    19
  $ cd "$origdir"
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    20
  $ cd archive
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    21
  $ readlink.py dangling
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    22
  dangling -> nothing
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    23
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    24
tar
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    25
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    26
  $ cd "$origdir"
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    27
  $ tar xf archive.tar
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    28
  $ cd tar
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    29
  $ readlink.py dangling
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    30
  dangling -> nothing
4831
6f08bc1bd00b archive: add symlink support
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
    31
29855
c4d03b6d9576 tests: guard test-archive-symlink with unziplinks check
Augie Fackler <augie@google.com>
parents: 25472
diff changeset
    32
#if unziplinks
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    33
zip
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    34
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    35
  $ cd "$origdir"
21216
6d632cf8a811 tests: suppress spurious lchmod error from unzip (issue4088)
Matt Mackall <mpm@selenic.com>
parents: 16913
diff changeset
    36
  $ unzip archive.zip > /dev/null 2>&1
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    37
  $ cd zip
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 22046
diff changeset
    38
  $ readlink.py dangling
11854
aa2abde72da1 tests: unify test-archive-symlinks
Martin Geisler <mg@lazybytes.net>
parents: 5683
diff changeset
    39
  dangling -> nothing
29855
c4d03b6d9576 tests: guard test-archive-symlink with unziplinks check
Augie Fackler <augie@google.com>
parents: 25472
diff changeset
    40
#endif
16913
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
    41
f2719b387380 tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents: 16350
diff changeset
    42
  $ cd ..