mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 16:31:02 +03:00
7c43ca7c6b
Summary: sed -i without arguments doesn't work on OSX. Reviewed By: farnz Differential Revision: D7195193 fbshipit-source-id: a8eead927c94404a37ce5df956de82d29bc1b6a8
214 lines
5.6 KiB
Perl
214 lines
5.6 KiB
Perl
$ . helpers-usechg.sh
|
|
|
|
$ . "$TESTDIR/library.sh"
|
|
$ . "$TESTDIR/infinitepush/library.sh"
|
|
$ setupcommon
|
|
$ cat >> $HGRCPATH << EOF
|
|
> [extensions]
|
|
> arcconfig=$TESTDIR/../hgext/extlib/phabricator/arcconfig.py
|
|
> smartlog=
|
|
> pullcreatemarkers=
|
|
> phabstatus=
|
|
> [infinitepushbackup]
|
|
> createlandedasmarkers=True
|
|
> logdir=$TESTTMP/logs
|
|
> [experimental]
|
|
> evolution= createmarkers
|
|
> EOF
|
|
|
|
$ mkcommit() {
|
|
> echo "$1" > "$1"
|
|
> hg add "$1"
|
|
> echo "add $1" > msg
|
|
> echo "" >> msg
|
|
> url="https://phabricator.fb.com"
|
|
> if [ -n "$3" ]; then
|
|
> url="$3"
|
|
> fi
|
|
> [ -z "$2" ] || echo "Differential Revision: $url/D$2" >> msg
|
|
> hg ci -l msg
|
|
> }
|
|
|
|
$ echo '{}' > .arcrc
|
|
$ echo '{"config" : {"default" : "https://a.com/api"}, "hosts" : {"https://a.com/api/" : { "user" : "testuser", "cert" : "garbage_cert"}}}' > .arcconfig
|
|
|
|
Setup server
|
|
$ hg init repo
|
|
$ cd repo
|
|
$ setupserver
|
|
$ cd ..
|
|
|
|
Set up server repository
|
|
$ cd repo
|
|
$ mkcommit initial
|
|
$ mkcommit secondcommit
|
|
$ hg book master
|
|
$ cd ..
|
|
|
|
Set up clients repository
|
|
|
|
$ hg clone ssh://user@dummy/repo client -q
|
|
$ hg clone ssh://user@dummy/repo otherclient -q
|
|
|
|
Add two commits, one "pushed" to differential
|
|
$ cd otherclient
|
|
$ hg up 0
|
|
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
|
|
$ mkcommit b 123
|
|
$ mkcommit c
|
|
|
|
$ cd ..
|
|
|
|
Add commit which mimics previous differential one merged to master
|
|
$ cd client
|
|
$ hg up master
|
|
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
(activating bookmark master)
|
|
$ mkcommit b 123
|
|
$ hg push --to master
|
|
pushing to ssh://user@dummy/repo
|
|
searching for changes
|
|
remote: adding changesets
|
|
remote: adding manifests
|
|
remote: adding file changes
|
|
remote: added 1 changesets with 1 changes to 1 files
|
|
updating bookmark master
|
|
|
|
$ cd ..
|
|
|
|
Push all pulled commit to backup
|
|
$ cd otherclient
|
|
$ hg pull
|
|
pulling from ssh://user@dummy/repo
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 1 changesets with 0 changes to 1 files
|
|
updating bookmark master
|
|
new changesets 948715751816
|
|
(run 'hg update' to get a working copy)
|
|
obsoleted 1 changesets
|
|
$ hg pushbackup --config extensions.lockfail=$TESTDIR/lockfail.py
|
|
starting backup .* (re)
|
|
searching for changes
|
|
remote: pushing 2 commits:
|
|
remote: 9b3ead1d8005 add b
|
|
remote: 3969cd9723d1 add c
|
|
finished in \d+\.(\d+)? seconds (re)
|
|
|
|
$ cd ..
|
|
|
|
Clone fresh repo and try to restore from backup
|
|
$ hg clone ssh://user@dummy/repo frombackup -q
|
|
$ cd frombackup
|
|
$ hg sl --all
|
|
@ changeset: 2:948715751816
|
|
| bookmark: master
|
|
~ tag: tip
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: add b
|
|
(re)
|
|
|
|
$ NOW=`date +%s`
|
|
$ cat > $TESTTMP/mockduit << EOF
|
|
> [{"data": {"query": [{"results": {"nodes": [{
|
|
> "number": 123,
|
|
> "diff_status_name": "Closed",
|
|
> "created_time": 0,
|
|
> "updated_time": ${NOW}
|
|
> }]}}]}}]
|
|
> EOF
|
|
$ HG_ARC_CONDUIT_MOCK=$TESTTMP/mockduit hg pullbackup
|
|
pulling from ssh://user@dummy/repo
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 2 changesets with 1 changes to 2 files (+1 heads)
|
|
new changesets 9b3ead1d8005:3969cd9723d1
|
|
(run 'hg heads' to see heads, 'hg merge' to merge)
|
|
obsoleted 1 changesets
|
|
$ hg sl --all
|
|
@ changeset: 2:948715751816
|
|
: bookmark: master
|
|
: user: test
|
|
: date: Thu Jan 01 00:00:00 1970 +0000
|
|
: summary: add b
|
|
:
|
|
: o changeset: 4:3969cd9723d1
|
|
: | tag: tip
|
|
: | user: test
|
|
: | date: Thu Jan 01 00:00:00 1970 +0000
|
|
: | instability: orphan
|
|
: | summary: add c
|
|
: |
|
|
: x changeset: 3:9b3ead1d8005
|
|
:/ parent: 0:c255e4a1ae9d
|
|
: user: test
|
|
: date: Thu Jan 01 00:00:00 1970 +0000
|
|
: obsolete: pruned
|
|
: summary: add b
|
|
:
|
|
o changeset: 0:c255e4a1ae9d
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: add initial
|
|
(re)
|
|
$ hg debugobsolete
|
|
9b3ead1d8005d305582e9d72eb8a4c8959873249 0 {c255e4a1ae9dd17d77787816cff012162a122798} (Thu Jan 01 00:00:00 1970 +0000) {'user': 'test'}
|
|
|
|
$ cd ..
|
|
|
|
Test createlandedasmarkers option disabled
|
|
$ rm -r frombackup
|
|
$ sed s/createlandedasmarkers=True// $HGRCPATH > ${HGRCPATH}.bak
|
|
$ mv ${HGRCPATH}.bak $HGRCPATH
|
|
$ hg clone ssh://user@dummy/repo frombackup -q
|
|
$ cd frombackup
|
|
|
|
$ NOW=`date +%s`
|
|
$ cat > $TESTTMP/mockduit << EOF
|
|
> [{"data": {"query": [{"results": {"nodes": [{
|
|
> "number": 123,
|
|
> "diff_status_name": "Closed",
|
|
> "created_time": 0,
|
|
> "updated_time": ${NOW}
|
|
> }]}}]}}]
|
|
> EOF
|
|
$ HG_ARC_CONDUIT_MOCK=$TESTTMP/mockduit hg pullbackup
|
|
pulling from ssh://user@dummy/repo
|
|
searching for changes
|
|
adding changesets
|
|
adding manifests
|
|
adding file changes
|
|
added 2 changesets with 1 changes to 2 files (+1 heads)
|
|
new changesets 9b3ead1d8005:3969cd9723d1
|
|
(run 'hg heads' to see heads, 'hg merge' to merge)
|
|
$ hg sl --all
|
|
@ changeset: 2:948715751816
|
|
: bookmark: master
|
|
: user: test
|
|
: date: Thu Jan 01 00:00:00 1970 +0000
|
|
: summary: add b
|
|
:
|
|
: o changeset: 4:3969cd9723d1
|
|
: | tag: tip
|
|
: | user: test
|
|
: | date: Thu Jan 01 00:00:00 1970 +0000
|
|
: | summary: add c
|
|
: |
|
|
: o changeset: 3:9b3ead1d8005
|
|
:/ parent: 0:c255e4a1ae9d
|
|
: user: test
|
|
: date: Thu Jan 01 00:00:00 1970 +0000
|
|
: summary: add b
|
|
:
|
|
o changeset: 0:c255e4a1ae9d
|
|
user: test
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
summary: add initial
|
|
(re)
|
|
$ hg debugobsolete
|