tests/test-sqlitestore.t
changeset 40326 fed697fa1734
child 40364 0a212b643277
equal deleted inserted replaced
40325:b0fbd1792e2d 40326:fed697fa1734
       
     1 #require sqlite
       
     2 
       
     3   $ cat >> $HGRCPATH <<EOF
       
     4   > [extensions]
       
     5   > sqlitestore =
       
     6   > EOF
       
     7 
       
     8 New repo should not use SQLite by default
       
     9 
       
    10   $ hg init empty-no-sqlite
       
    11   $ cat empty-no-sqlite/.hg/requires
       
    12   dotencode
       
    13   fncache
       
    14   generaldelta
       
    15   revlogv1
       
    16   store
       
    17 
       
    18 storage.new-repo-backend=sqlite is recognized
       
    19 
       
    20   $ hg --config storage.new-repo-backend=sqlite init empty-sqlite
       
    21   $ cat empty-sqlite/.hg/requires
       
    22   dotencode
       
    23   exp-sqlite-001
       
    24   exp-sqlite-comp-001=zstd (zstd !)
       
    25   exp-sqlite-comp-001-zlib (no-zstd !)
       
    26   fncache
       
    27   generaldelta
       
    28   revlogv1
       
    29   store
       
    30 
       
    31   $ cat >> $HGRCPATH << EOF
       
    32   > [storage]
       
    33   > new-repo-backend = sqlite
       
    34   > EOF
       
    35 
       
    36 Can force compression to zlib
       
    37 
       
    38   $ hg --config storage.sqlite.compression=zlib init empty-zlib
       
    39   $ cat empty-zlib/.hg/requires
       
    40   dotencode
       
    41   exp-sqlite-001
       
    42   exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$
       
    43   fncache
       
    44   generaldelta
       
    45   revlogv1
       
    46   store
       
    47 
       
    48 Can force compression to none
       
    49 
       
    50   $ hg --config storage.sqlite.compression=none init empty-none
       
    51   $ cat empty-none/.hg/requires
       
    52   dotencode
       
    53   exp-sqlite-001
       
    54   exp-sqlite-comp-001=none
       
    55   fncache
       
    56   generaldelta
       
    57   revlogv1
       
    58   store
       
    59 
       
    60 Can make a local commit
       
    61 
       
    62   $ hg init local-commit
       
    63   $ cd local-commit
       
    64   $ echo 0 > foo
       
    65   $ hg commit -A -m initial
       
    66   adding foo
       
    67 
       
    68 That results in a row being inserted into various tables
       
    69 
       
    70   $ sqlite3 .hg/store/db.sqlite << EOF
       
    71   > SELECT * FROM filepath;
       
    72   > EOF
       
    73   1|foo
       
    74 
       
    75   $ sqlite3 .hg/store/db.sqlite << EOF
       
    76   > SELECT * FROM fileindex;
       
    77   > EOF
       
    78   1|1|0|-1|-1|0|0|1||6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe (esc)
       
    79 
       
    80   $ sqlite3 .hg/store/db.sqlite << EOF
       
    81   > SELECT * FROM delta;
       
    82   > EOF
       
    83   1|1|	\xd2\xaf\x8d\xd2"\x01\xdd\x8dH\xe5\xdc\xfc\xae\xd2\x81\xff\x94"\xc7|0 (esc)
       
    84   
       
    85 
       
    86 Tracking multiple files works
       
    87 
       
    88   $ echo 1 > bar
       
    89   $ hg commit -A -m 'add bar'
       
    90   adding bar
       
    91 
       
    92   $ sqlite3 .hg/store/db.sqlite << EOF
       
    93   > SELECT * FROM filedata ORDER BY id ASC;
       
    94   > EOF
       
    95   1|1|foo|0|6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe|-1|-1|0|0|1| (esc)
       
    96   2|2|bar|0|\xb8\xe0/d3s\x80!\xa0e\xf9Au\xc7\xcd#\xdb_\x05\xbe|-1|-1|1|0|2| (esc)
       
    97 
       
    98 Multiple revisions of a file works
       
    99 
       
   100   $ echo a >> foo
       
   101   $ hg commit -m 'modify foo'
       
   102 
       
   103   $ sqlite3 .hg/store/db.sqlite << EOF
       
   104   > SELECT * FROM filedata ORDER BY id ASC;
       
   105   > EOF
       
   106   1|1|foo|0|6/\xef(L\xe2\xca\x02\xae\xcc\x8d\xe6\xd5\xe8\xa1\xc3\xaf\x05V\xfe|-1|-1|0|0|1| (esc)
       
   107   2|2|bar|0|\xb8\xe0/d3s\x80!\xa0e\xf9Au\xc7\xcd#\xdb_\x05\xbe|-1|-1|1|0|2| (esc)
       
   108   3|1|foo|1|\xdd\xb3V\xcd\xde1p@\xf7\x8e\x90\xb8*\x8b,\xe9\x0e\xd6j+|0|-1|2|0|3|1 (esc)
       
   109 
       
   110   $ cd ..