Mercurial > hg-git
view tests/test-pull.t @ 1095:60a82693d43c
tests: fix bad (re) match
It seems fffe8883960b incorrectly did a match on the second
parent (which is null) and that core Mercurial mistakenly matched the
whole line with (re). This was recently fixed in 6d5718e39657 in core,
so let's update the test with the correct match.
author | Sean Farley <sean@farley.io> |
---|---|
date | Thu, 30 Nov 2017 14:49:06 -0800 |
parents | 312c4bb96e68 |
children |
line wrap: on
line source
Load commonly used test logic $ . "$TESTDIR/testutil" set up a git repo with some commits, branches and a tag $ git init -q gitrepo $ cd gitrepo $ echo alpha > alpha $ git add alpha $ fn_git_commit -m 'add alpha' $ git tag t_alpha $ git checkout -qb beta $ echo beta > beta $ git add beta $ fn_git_commit -m 'add beta' $ git checkout -qb delta master $ echo delta > delta $ git add delta $ fn_git_commit -m 'add delta' $ cd .. pull a tag $ hg init hgrepo $ echo "[paths]" >> hgrepo/.hg/hgrc $ echo "default=$TESTTMP/gitrepo" >> hgrepo/.hg/hgrc $ hg -R hgrepo pull -r t_alpha pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg update' to get a working copy) $ hg -R hgrepo update t_alpha 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R hgrepo log --graph @ changeset: 0:ff7a2f2d8d70 bookmark: master tag: default/master tag: t_alpha tag: tip user: test <test@example.org> date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha no-op pull $ hg -R hgrepo pull -r t_alpha pulling from $TESTTMP/gitrepo no changes found no-op pull with added bookmark $ cd gitrepo $ git checkout -qb epsilon t_alpha $ cd .. $ hg -R hgrepo pull -r epsilon pulling from $TESTTMP/gitrepo no changes found pull a branch $ hg -R hgrepo pull -r beta pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg update' to get a working copy) $ hg -R hgrepo log --graph o changeset: 1:7fe02317c63d | bookmark: beta | tag: default/beta | tag: tip | user: test <test@example.org> | date: Mon Jan 01 00:00:11 2007 +0000 | summary: add beta | @ changeset: 0:ff7a2f2d8d70 bookmark: epsilon bookmark: master tag: default/epsilon tag: default/master tag: t_alpha user: test <test@example.org> date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha add another commit and tag to the git repo $ cd gitrepo $ git checkout -q beta $ git tag t_beta $ git checkout -q master $ echo gamma > gamma $ git add gamma $ fn_git_commit -m 'add gamma' $ cd .. pull everything else $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg heads' to see heads, 'hg merge' to merge) $ hg -R hgrepo log --graph o changeset: 3:6f898ad1f3e1 | bookmark: master | tag: default/master | tag: tip | parent: 0:ff7a2f2d8d70 | user: test <test@example.org> | date: Mon Jan 01 00:00:13 2007 +0000 | summary: add gamma | | o changeset: 2:678ebee93e38 |/ bookmark: delta | tag: default/delta | parent: 0:ff7a2f2d8d70 | user: test <test@example.org> | date: Mon Jan 01 00:00:12 2007 +0000 | summary: add delta | | o changeset: 1:7fe02317c63d |/ bookmark: beta | tag: default/beta | tag: t_beta | user: test <test@example.org> | date: Mon Jan 01 00:00:11 2007 +0000 | summary: add beta | @ changeset: 0:ff7a2f2d8d70 bookmark: epsilon tag: default/epsilon tag: t_alpha user: test <test@example.org> date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha add a merge to the git repo $ cd gitrepo $ git merge beta | sed 's/| */| /' Merge made by the 'recursive' strategy. beta | 1 + 1 file changed, 1 insertion(+) create mode 100644 beta $ cd .. pull the merge $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg update' to get a working copy) $ hg -R hgrepo log --graph o changeset: 4:a02330f767a4 |\ bookmark: master | | tag: default/master | | tag: tip | | parent: 3:6f898ad1f3e1 | | parent: 1:7fe02317c63d | | user: test <test@example.org> | | date: Mon Jan 01 00:00:13 2007 +0000 | | summary: Merge branch 'beta' | | | o changeset: 3:6f898ad1f3e1 | | parent: 0:ff7a2f2d8d70 | | user: test <test@example.org> | | date: Mon Jan 01 00:00:13 2007 +0000 | | summary: add gamma | | | | o changeset: 2:678ebee93e38 | |/ bookmark: delta | | tag: default/delta | | parent: 0:ff7a2f2d8d70 | | user: test <test@example.org> | | date: Mon Jan 01 00:00:12 2007 +0000 | | summary: add delta | | o | changeset: 1:7fe02317c63d |/ bookmark: beta | tag: default/beta | tag: t_beta | user: test <test@example.org> | date: Mon Jan 01 00:00:11 2007 +0000 | summary: add beta | @ changeset: 0:ff7a2f2d8d70 bookmark: epsilon tag: default/epsilon tag: t_alpha user: test <test@example.org> date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha pull with wildcards $ cd gitrepo $ git checkout -qb releases/v1 master $ echo zeta > zeta $ git add zeta $ fn_git_commit -m 'add zeta' $ git checkout -qb releases/v2 master $ echo eta > eta $ git add eta $ fn_git_commit -m 'add eta' $ git checkout -qb notreleases/v1 master $ echo theta > theta $ git add theta $ fn_git_commit -m 'add theta' ensure that releases/v1 and releases/v2 are pulled but not notreleases/v1 $ cd .. $ hg -R hgrepo pull -r 'releases/*' pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg heads .' to see heads, 'hg merge' to merge) $ hg -R hgrepo log --graph o changeset: 6:a3f95e150b0a | bookmark: releases/v2 | tag: default/releases/v2 | tag: tip | parent: 4:a02330f767a4 | user: test <test@example.org> | date: Mon Jan 01 00:00:15 2007 +0000 | summary: add eta | | o changeset: 5:218b2d0660d3 |/ bookmark: releases/v1 | tag: default/releases/v1 | user: test <test@example.org> | date: Mon Jan 01 00:00:14 2007 +0000 | summary: add zeta | o changeset: 4:a02330f767a4 |\ bookmark: master | | tag: default/master | | parent: 3:6f898ad1f3e1 | | parent: 1:7fe02317c63d | | user: test <test@example.org> | | date: Mon Jan 01 00:00:13 2007 +0000 | | summary: Merge branch 'beta' | | | o changeset: 3:6f898ad1f3e1 | | parent: 0:ff7a2f2d8d70 | | user: test <test@example.org> | | date: Mon Jan 01 00:00:13 2007 +0000 | | summary: add gamma | | | | o changeset: 2:678ebee93e38 | |/ bookmark: delta | | tag: default/delta | | parent: 0:ff7a2f2d8d70 | | user: test <test@example.org> | | date: Mon Jan 01 00:00:12 2007 +0000 | | summary: add delta | | o | changeset: 1:7fe02317c63d |/ bookmark: beta | tag: default/beta | tag: t_beta | user: test <test@example.org> | date: Mon Jan 01 00:00:11 2007 +0000 | summary: add beta | @ changeset: 0:ff7a2f2d8d70 bookmark: epsilon tag: default/epsilon tag: t_alpha user: test <test@example.org> date: Mon Jan 01 00:00:10 2007 +0000 summary: add alpha add old and new commits to the git repo -- make sure we're using the commit date and not the author date $ cat >> $HGRCPATH <<EOF > [git] > mindate = 2014-01-02 00:00:00 +0000 > EOF $ cd gitrepo $ git checkout -q master $ echo oldcommit > oldcommit $ git add oldcommit $ GIT_AUTHOR_DATE="2014-03-01 00:00:00 +0000" \ > GIT_COMMITTER_DATE="2009-01-01 00:00:00 +0000" \ > git commit -m oldcommit > /dev/null || echo "git commit error" also add an annotated tag $ git checkout -q master^ $ echo oldtag > oldtag $ git add oldtag $ GIT_AUTHOR_DATE="2014-03-01 00:00:00 +0000" \ > GIT_COMMITTER_DATE="2009-01-01 00:00:00 +0000" \ > git commit -m oldtag > /dev/null || echo "git commit error" $ GIT_COMMITTER_DATE="2009-02-01 00:00:00 +0000" \ > git tag -a -m 'tagging oldtag' oldtag $ cd .. $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo no changes found $ hg -R hgrepo log -r master changeset: 4:a02330f767a4 bookmark: master tag: default/master parent: 3:6f898ad1f3e1 parent: 1:7fe02317c63d user: test <test@example.org> date: Mon Jan 01 00:00:13 2007 +0000 summary: Merge branch 'beta' $ cd gitrepo $ git checkout -q master $ echo newcommit > newcommit $ git add newcommit $ GIT_AUTHOR_DATE="2014-01-01 00:00:00 +0000" \ > GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ > git commit -m newcommit > /dev/null || echo "git commit error" $ git checkout -q refs/tags/oldtag $ GIT_COMMITTER_DATE="2014-01-02 00:00:00 +0000" \ > git tag -a -m 'tagging newtag' newtag $ cd .. $ hg -R hgrepo pull pulling from $TESTTMP/gitrepo importing git objects into hg (run 'hg heads .' to see heads, 'hg merge' to merge) $ hg -R hgrepo heads changeset: 9:e103a73f33be bookmark: master tag: default/master tag: tip user: test <test@example.org> date: Wed Jan 01 00:00:00 2014 +0000 summary: newcommit changeset: 7:49713da8f665 tag: newtag tag: oldtag parent: 4:a02330f767a4 user: test <test@example.org> date: Sat Mar 01 00:00:00 2014 +0000 summary: oldtag changeset: 6:a3f95e150b0a bookmark: releases/v2 tag: default/releases/v2 parent: 4:a02330f767a4 user: test <test@example.org> date: Mon Jan 01 00:00:15 2007 +0000 summary: add eta changeset: 5:218b2d0660d3 bookmark: releases/v1 tag: default/releases/v1 user: test <test@example.org> date: Mon Jan 01 00:00:14 2007 +0000 summary: add zeta changeset: 2:678ebee93e38 bookmark: delta tag: default/delta parent: 0:ff7a2f2d8d70 user: test <test@example.org> date: Mon Jan 01 00:00:12 2007 +0000 summary: add delta test for ssh vulnerability $ cat >> $HGRCPATH << EOF > [ui] > ssh = ssh -o ConnectTimeout=1 > EOF $ hg init a $ cd a $ hg pull 'git+ssh://-oProxyCommand=rm${IFS}nonexistent/path' 2>&1 >/dev/null abort: potentially unsafe hostname: '-oProxyCommand=rm${IFS}nonexistent' [255] $ hg pull 'git+ssh://-oProxyCommand=rm%20nonexistent/path' 2>&1 >/dev/null abort: potentially unsafe hostname: '-oProxyCommand=rm nonexistent' [255] $ hg pull 'git+ssh://fakehost|shellcommand/path' 2>&1 >/dev/null | grep -v ^devel-warn: ssh: * fakehost%7cshellcommand* (glob) abort: git remote error: The remote server unexpectedly closed the connection. $ hg pull 'git+ssh://fakehost%7Cshellcommand/path' 2>&1 >/dev/null | grep -v ^devel-warn: ssh: * fakehost%7cshellcommand* (glob) abort: git remote error: The remote server unexpectedly closed the connection.