mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 16:57:49 +03:00
5f0176753a
Previously we were relying on mfrevlog.revdiff() to produce the delta for us. This only showed us what files were added/modified, as compared to p1, and we had to use a heuristic to know what files were deleted (by looking at the list of files in the commit metadata). Merge commits have a different criteria for what is in the commit metadata (it only contains entries where the file is different from both parents), so we can't use it for the same heuristic. So let's fall back to a normal manifest diff for merge commits, since they are rare. Adds a test for verifying that conversion of merge commits into a tree works.
56 lines
1.1 KiB
Perl
56 lines
1.1 KiB
Perl
$ . "$TESTDIR/library.sh"
|
|
|
|
$ PYTHONPATH=$TESTDIR/..:$PYTHONPATH
|
|
$ export PYTHONPATH
|
|
|
|
$ hginit master
|
|
$ cd master
|
|
$ cat >> .hg/hgrc <<EOF
|
|
> [remotefilelog]
|
|
> server=True
|
|
> EOF
|
|
$ echo x > x
|
|
$ hg commit -qAm 'add x'
|
|
$ cd ..
|
|
|
|
$ hgcloneshallow ssh://user@dummy/master client -q
|
|
1 files fetched over 1 fetches - (1 misses, 0.00% hit ratio) over * (glob)
|
|
$ cd client
|
|
$ cat >> .hg/hgrc <<EOF
|
|
> [extensions]
|
|
> fastmanifest=
|
|
> treemanifest=
|
|
>
|
|
> [remotefilelog]
|
|
> usefastdatapack=True
|
|
>
|
|
> [treemanifest]
|
|
> autocreatetrees=True
|
|
>
|
|
> [fastmanifest]
|
|
> usetree=True
|
|
> usecache=False
|
|
> EOF
|
|
|
|
Test auto creating trees for merge commit
|
|
$ cd ../master
|
|
$ hg up -q null
|
|
$ echo z >> z
|
|
$ hg commit -qAm 'add z'
|
|
$ hg up -q 0
|
|
$ hg merge -q -r 1
|
|
$ hg commit -qAm 'merge'
|
|
|
|
$ cd ../client
|
|
$ hg pull
|
|
pulling from ssh://user@dummy/master
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 2 changesets with 0 changes to 0 files
|
|
(run 'hg update' to get a working copy)
|
|
$ hg manifest -r tip
|
|
x
|
|
z
|