tests/test-convert-git.t
branchstable
changeset 29051 a56296f55a5e
parent 28940 4a359b8f8fae
child 30646 ea3540e66fd8
equal deleted inserted replaced
29050:27ad6cae7785 29051:a56296f55a5e
   712 
   712 
   713 damage git repository by renaming a commit object
   713 damage git repository by renaming a commit object
   714   $ COMMIT_OBJ=1c/0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
   714   $ COMMIT_OBJ=1c/0ce3c5886f83a1d78a7b517cdff5cf9ca17bdd
   715   $ mv git-repo4/.git/objects/$COMMIT_OBJ git-repo4/.git/objects/$COMMIT_OBJ.tmp
   715   $ mv git-repo4/.git/objects/$COMMIT_OBJ git-repo4/.git/objects/$COMMIT_OBJ.tmp
   716   $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
   716   $ hg convert git-repo4 git-repo4-broken-hg 2>&1 | grep 'abort:'
   717   abort: cannot retrieve number of commits in git-repo4/.git
   717   abort: cannot retrieve number of commits in $TESTTMP/git-repo4/.git
   718   $ mv git-repo4/.git/objects/$COMMIT_OBJ.tmp git-repo4/.git/objects/$COMMIT_OBJ
   718   $ mv git-repo4/.git/objects/$COMMIT_OBJ.tmp git-repo4/.git/objects/$COMMIT_OBJ
   719 damage git repository by renaming a blob object
   719 damage git repository by renaming a blob object
   720 
   720 
   721   $ BLOB_OBJ=8b/137891791fe96927ad78e64b0aad7bded08bdc
   721   $ BLOB_OBJ=8b/137891791fe96927ad78e64b0aad7bded08bdc
   722   $ mv git-repo4/.git/objects/$BLOB_OBJ git-repo4/.git/objects/$BLOB_OBJ.tmp
   722   $ mv git-repo4/.git/objects/$BLOB_OBJ git-repo4/.git/objects/$BLOB_OBJ.tmp
   747   0 empty
   747   0 empty
   748   updating bookmarks
   748   updating bookmarks
   749   $ test -f COMMAND-INJECTION
   749   $ test -f COMMAND-INJECTION
   750   [1]
   750   [1]
   751 
   751 
       
   752 test for safely passing paths to git (CVE-2016-3105)
       
   753 
       
   754   $ git init 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #'
       
   755   Initialized empty Git repository in $TESTTMP/ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #/.git/
       
   756   $ cd 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #'
       
   757   $ git commit -q --allow-empty -m 'empty'
       
   758   $ cd ..
       
   759   $ hg convert 'ext::sh -c echo% pwned% >GIT-EXT-COMMAND-INJECTION% #' 'converted-git-ext'
       
   760   initializing destination converted-git-ext repository
       
   761   scanning source...
       
   762   sorting...
       
   763   converting...
       
   764   0 empty
       
   765   updating bookmarks
       
   766   $ test -f GIT-EXT-COMMAND-INJECTION
       
   767   [1]
       
   768 
   752 #endif
   769 #endif
   753 
   770