tests/test-git-interop.t
author Arseniy Alekseyev <aalekseyev@janestreet.com>
Fri, 26 Apr 2024 19:10:35 +0100
changeset 51626 865efc020c33
parent 50725 7e5be4a7cda7
permissions -rw-r--r--
dirstate: remove the python-side whitelist of allowed matchers This whitelist is too permissive because it allows matchers that contain disallowed ones deep inside, for example through `intersectionmatcher`. It is also too restrictive because it doesn't pass through some of the matchers we support, such as `patternmatcher`. It's also unnecessary because unsupported matchers raise `FallbackError` and we fall back anyway. Making this change makes more of the tests use rust code path, and therefore subtly change behavior. For example, rust status in largefiles repos seems to have strange behavior.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46894
fe34c75f62ab tests: skip test-git-interop.t on Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 46840
diff changeset
     1
#require pygit2 no-windows
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
Setup:
44493
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
     4
  $ GIT_AUTHOR_NAME='test'; export GIT_AUTHOR_NAME
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
  > GIT_AUTHOR_EMAIL='test@example.org'; export GIT_AUTHOR_EMAIL
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
  > GIT_AUTHOR_DATE="2007-01-01 00:00:00 +0000"; export GIT_AUTHOR_DATE
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
  > GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"; export GIT_COMMITTER_NAME
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
  > GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"; export GIT_COMMITTER_EMAIL
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
  > GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"; export GIT_COMMITTER_DATE
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
    10
  > HGUSER="test <test@example.org>"; export HGUSER
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
  > count=10
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
  > gitcommit() {
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    13
  >    GIT_AUTHOR_DATE="2007-01-01 00:00:$count +0000";
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
  >    GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
  >    git commit "$@" >/dev/null 2>/dev/null || echo "git commit error"
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
  >    count=`expr $count + 1`
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
  >  }
46840
6dea77e195d2 test: enforce master to be the default branch in test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46796
diff changeset
    18
  $ git config --global init.defaultBranch master
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    19
44493
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    20
45950
c7c1efdfd4de git: show the version of `pygit2` with verbose version output
Matt Harbison <matt_harbison@yahoo.com>
parents: 45926
diff changeset
    21
  $ hg version -v --config extensions.git= | grep '^[E ]'
c7c1efdfd4de git: show the version of `pygit2` with verbose version output
Matt Harbison <matt_harbison@yahoo.com>
parents: 45926
diff changeset
    22
  Enabled extensions:
c7c1efdfd4de git: show the version of `pygit2` with verbose version output
Matt Harbison <matt_harbison@yahoo.com>
parents: 45926
diff changeset
    23
    git  internal  (pygit2 *) (glob)
c7c1efdfd4de git: show the version of `pygit2` with verbose version output
Matt Harbison <matt_harbison@yahoo.com>
parents: 45926
diff changeset
    24
44493
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    25
Test auto-loading extension works:
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    26
  $ mkdir nogit
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    27
  $ cd nogit
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    28
  $ mkdir .hg
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    29
  $ echo git >> .hg/requires
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    30
  $ hg status
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    31
  abort: repository specified git format in .hg/requires but has no .git directory
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    32
  [255]
46796
38f55ef058fb tests: resort to fix test with newer git versions
Joerg Sonnenberger <joerg@bec.de>
parents: 45992
diff changeset
    33
  $ git config --global init.defaultBranch master
44493
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    34
  $ git init
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    35
  Initialized empty Git repository in $TESTTMP/nogit/.git/
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    36
This status invocation shows some hg gunk because we didn't use
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    37
`hg init --git`, which fixes up .git/info/exclude for us.
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    38
  $ hg status
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    39
  ? .hg/cache/git-commits.sqlite
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    40
  ? .hg/cache/git-commits.sqlite-shm
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    41
  ? .hg/cache/git-commits.sqlite-wal
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    42
  ? .hg/requires
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    43
  $ cd ..
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    44
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
    45
Now globally enable extension for the rest of the test:
44951
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    46
  $ cat <<EOF >> $HGRCPATH
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    47
  > [extensions]
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    48
  > git=
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    49
  > [git]
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    50
  > log-index-cache-miss = yes
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    51
  > EOF
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    52
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    53
Test some edge cases around a commitless repo first
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    54
  $ mkdir empty
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    55
  $ cd empty
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    56
  $ git init
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    57
  Initialized empty Git repository in $TESTTMP/empty/.git/
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    58
  $ hg init --git
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    59
  $ hg heads
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    60
  [1]
47052
f8fa7ec53517 git: initialize `extra` to have at least the branch name for nullid
Matt Harbison <matt_harbison@yahoo.com>
parents: 47047
diff changeset
    61
  $ hg tip
f8fa7ec53517 git: initialize `extra` to have at least the branch name for nullid
Matt Harbison <matt_harbison@yahoo.com>
parents: 47047
diff changeset
    62
  changeset:   -1:000000000000
f8fa7ec53517 git: initialize `extra` to have at least the branch name for nullid
Matt Harbison <matt_harbison@yahoo.com>
parents: 47047
diff changeset
    63
  tag:         tip
f8fa7ec53517 git: initialize `extra` to have at least the branch name for nullid
Matt Harbison <matt_harbison@yahoo.com>
parents: 47047
diff changeset
    64
  user:        
f8fa7ec53517 git: initialize `extra` to have at least the branch name for nullid
Matt Harbison <matt_harbison@yahoo.com>
parents: 47047
diff changeset
    65
  date:        Thu Jan 01 00:00:00 1970 +0000
f8fa7ec53517 git: initialize `extra` to have at least the branch name for nullid
Matt Harbison <matt_harbison@yahoo.com>
parents: 47047
diff changeset
    66
  
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    67
  $ cd ..
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
    68
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    69
Make a new repo with git:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    70
  $ mkdir foo
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    71
  $ cd foo
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    72
  $ git init
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    73
  Initialized empty Git repository in $TESTTMP/foo/.git/
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    74
Ignore the .hg directory within git:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    75
  $ echo .hg >> .git/info/exclude
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    76
  $ echo alpha > alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    77
  $ git add alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    78
  $ gitcommit -am 'Add alpha'
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    79
  $ echo beta > beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    80
  $ git add beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    81
  $ gitcommit -am 'Add beta'
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    82
  $ echo gamma > gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    83
  $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    84
  On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    85
  Untracked files:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    86
    (use "git add <file>..." to include in what will be committed)
47044
96d295dd4968 tests: stabilize test-git-interop.t for some versions of git
Matt Harbison <matt_harbison@yahoo.com>
parents: 46894
diff changeset
    87
   (?)
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    88
  	gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    89
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    90
  nothing added to commit but untracked files present (use "git add" to track)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    91
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    92
Without creating the .hg, hg status fails:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    93
  $ hg status
45926
a6f2821cdeab git: update test for hg and git output changes
Augie Fackler <raf@durin42.com>
parents: 45578
diff changeset
    94
  abort: no repository found in '$TESTTMP/foo' (.hg not found)
a6f2821cdeab git: update test for hg and git output changes
Augie Fackler <raf@durin42.com>
parents: 45578
diff changeset
    95
  [10]
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    96
But if you run hg init --git, it works:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    97
  $ hg init --git
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
    98
  $ hg id --traceback
44951
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
    99
  heads mismatch, rebuilding dagcache
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   100
  3d9be8deba43 tip master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   101
  $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   102
  ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   103
Log works too:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   104
  $ hg log
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   105
  changeset:   1:3d9be8deba43
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   106
  bookmark:    master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   107
  tag:         tip
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   108
  user:        test <test@example.org>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   109
  date:        Mon Jan 01 00:00:11 2007 +0000
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   110
  summary:     Add beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   111
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   112
  changeset:   0:c5864c9d16fb
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   113
  user:        test <test@example.org>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   114
  date:        Mon Jan 01 00:00:10 2007 +0000
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   115
  summary:     Add alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   116
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   117
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   118
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   119
and bookmarks:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   120
  $ hg bookmarks
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   121
   * master                    1:3d9be8deba43
49384
3b8fce9a74df git: make sure to fsdecode bookmark names everywhere (issue6723)
Anton Shestakov <av6@dwimlabs.net>
parents: 47053
diff changeset
   122
  $ hg up master
3b8fce9a74df git: make sure to fsdecode bookmark names everywhere (issue6723)
Anton Shestakov <av6@dwimlabs.net>
parents: 47053
diff changeset
   123
  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
3b8fce9a74df git: make sure to fsdecode bookmark names everywhere (issue6723)
Anton Shestakov <av6@dwimlabs.net>
parents: 47053
diff changeset
   124
  $ hg bookmarks
3b8fce9a74df git: make sure to fsdecode bookmark names everywhere (issue6723)
Anton Shestakov <av6@dwimlabs.net>
parents: 47053
diff changeset
   125
   * master                    1:3d9be8deba43
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   126
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   127
diff even works transparently in both systems:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   128
  $ echo blah >> alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   129
  $ git diff
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   130
  diff --git a/alpha b/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   131
  index 4a58007..faed1b7 100644
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   132
  --- a/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   133
  +++ b/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   134
  @@ -1* +1,2 @@ (glob)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   135
   alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   136
  +blah
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   137
  $ hg diff --git
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   138
  diff --git a/alpha b/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   139
  --- a/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   140
  +++ b/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   141
  @@ -1,1 +1,2 @@
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   142
   alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   143
  +blah
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   144
49901
3cbd0e919165 tests: test hg status --all with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49900
diff changeset
   145
status --all shows all files, including clean:
3cbd0e919165 tests: test hg status --all with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49900
diff changeset
   146
  $ hg status --all
3cbd0e919165 tests: test hg status --all with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49900
diff changeset
   147
  M alpha
3cbd0e919165 tests: test hg status --all with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49900
diff changeset
   148
  ? gamma
3cbd0e919165 tests: test hg status --all with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49900
diff changeset
   149
  C beta
3cbd0e919165 tests: test hg status --all with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49900
diff changeset
   150
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   151
Remove a file, it shows as such:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   152
  $ rm alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   153
  $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   154
  ! alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   155
  ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   156
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   157
Revert works:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   158
  $ hg revert alpha --traceback
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   159
  $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   160
  ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   161
  $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   162
  On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   163
  Untracked files:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   164
    (use "git add <file>..." to include in what will be committed)
47044
96d295dd4968 tests: stabilize test-git-interop.t for some versions of git
Matt Harbison <matt_harbison@yahoo.com>
parents: 46894
diff changeset
   165
   (?)
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   166
  	gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   167
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   168
  nothing added to commit but untracked files present (use "git add" to track)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   169
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   170
Add shows sanely in both:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   171
  $ hg add gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   172
  $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   173
  A gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   174
  $ hg files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   175
  alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   176
  beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   177
  gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   178
  $ git ls-files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   179
  alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   180
  beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   181
  gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   182
  $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   183
  On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   184
  Changes to be committed:
47044
96d295dd4968 tests: stabilize test-git-interop.t for some versions of git
Matt Harbison <matt_harbison@yahoo.com>
parents: 46894
diff changeset
   185
    (use "git restore --staged <file>..." to unstage) (?)
96d295dd4968 tests: stabilize test-git-interop.t for some versions of git
Matt Harbison <matt_harbison@yahoo.com>
parents: 46894
diff changeset
   186
    (use "git reset HEAD <file>..." to unstage) (?)
96d295dd4968 tests: stabilize test-git-interop.t for some versions of git
Matt Harbison <matt_harbison@yahoo.com>
parents: 46894
diff changeset
   187
   (?)
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   188
  	new file:   gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   189
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   190
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   191
forget does what it should as well:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   192
  $ hg forget gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   193
  $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   194
  ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   195
  $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   196
  On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   197
  Untracked files:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   198
    (use "git add <file>..." to include in what will be committed)
47044
96d295dd4968 tests: stabilize test-git-interop.t for some versions of git
Matt Harbison <matt_harbison@yahoo.com>
parents: 46894
diff changeset
   199
   (?)
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   200
  	gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   201
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   202
  nothing added to commit but untracked files present (use "git add" to track)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   203
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   204
clean up untracked file
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   205
  $ rm gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   206
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   207
hg log FILE
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   208
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   209
  $ echo a >> alpha
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   210
  $ hg ci -m 'more alpha' --traceback --date '1583558723 18000'
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   211
  $ echo b >> beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   212
  $ hg ci -m 'more beta'
44951
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
   213
  heads mismatch, rebuilding dagcache
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   214
  $ echo a >> alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   215
  $ hg ci -m 'even more alpha'
44951
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
   216
  heads mismatch, rebuilding dagcache
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   217
  $ hg log -G alpha
44951
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
   218
  heads mismatch, rebuilding dagcache
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   219
  @  changeset:   4:cf6ddf5d9b8a
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   220
  :  bookmark:    master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   221
  :  tag:         tip
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   222
  :  user:        test <test@example.org>
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   223
  :  date:        Thu Jan 01 00:00:00 1970 +0000
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   224
  :  summary:     even more alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   225
  :
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   226
  o  changeset:   2:5b2c80b027ce
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   227
  :  user:        test <test@example.org>
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   228
  :  date:        Sat Mar 07 00:25:23 2020 -0500
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   229
  :  summary:     more alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   230
  :
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   231
  o  changeset:   0:c5864c9d16fb
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   232
     user:        test <test@example.org>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   233
     date:        Mon Jan 01 00:00:10 2007 +0000
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   234
     summary:     Add alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   235
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   236
  $ hg log -G beta
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   237
  o  changeset:   3:980d4f79a9c6
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   238
  :  user:        test <test@example.org>
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   239
  :  date:        Thu Jan 01 00:00:00 1970 +0000
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   240
  :  summary:     more beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   241
  :
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   242
  o  changeset:   1:3d9be8deba43
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   243
  |  user:        test <test@example.org>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   244
  ~  date:        Mon Jan 01 00:00:11 2007 +0000
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   245
     summary:     Add beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   246
  
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   247
44855
1d2d353e5c4a tests: add coverage for repo.changelog.children() in the git extension
Augie Fackler <augie@google.com>
parents: 44854
diff changeset
   248
  $ hg log -r "children(3d9be8deba43)" -T"{node|short} {children}\n"
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   249
  5b2c80b027ce 3:980d4f79a9c6
44855
1d2d353e5c4a tests: add coverage for repo.changelog.children() in the git extension
Augie Fackler <augie@google.com>
parents: 44854
diff changeset
   250
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   251
hg annotate
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   252
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   253
  $ hg annotate alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   254
  0: alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   255
  2: a
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   256
  4: a
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   257
  $ hg annotate beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   258
  1: beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   259
  3: b
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   260
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   261
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   262
Files in subdirectories. TODO: case-folding support, make this `A`
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   263
instead of `a`.
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   264
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   265
  $ mkdir a
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   266
  $ echo "This is file mu." > a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   267
  $ hg ci -A -m 'Introduce file a/mu'
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   268
  adding a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   269
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   270
Both hg and git agree a/mu is part of the repo
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   271
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   272
  $ git ls-files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   273
  a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   274
  alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   275
  beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   276
  $ hg files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   277
  a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   278
  alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   279
  beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   280
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   281
hg and git status both clean
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   282
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   283
  $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   284
  On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   285
  nothing to commit, working tree clean
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   286
  $ hg status
44951
83e41b73d115 git: add debug logging when there's a mismatch in the cached heads list
Augie Fackler <augie@google.com>
parents: 44932
diff changeset
   287
  heads mismatch, rebuilding dagcache
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
   288
44478
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
   289
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
   290
node|shortest works correctly
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
   291
  $ hg log -T '{node}\n' | sort
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
   292
  3d9be8deba43482be2c81a4cb4be1f10d85fa8bc
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   293
  5b2c80b027ce4250f88957326c199a2dc48dad60
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   294
  980d4f79a9c617d60d0fe1fb383753c4a61bea8e
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   295
  c1a41c49866ecc9c5411be932653e5b430961dd5
44478
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
   296
  c5864c9d16fb3431fe2c175ff84dc6accdbb2c18
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   297
  cf6ddf5d9b8a120bf90020342bcf7a96d0167279
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   298
  $ hg log -r c1a41c49866ecc9c5411be932653e5b430961dd5 --template "{shortest(node,1)}\n"
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   299
  c1
44478
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
   300
47045
846920d89476 git: fix partial node matching
Matt Harbison <matt_harbison@yahoo.com>
parents: 47044
diff changeset
   301
This covers gitlog._partialmatch()
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   302
  $ hg log -r c
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   303
  abort: ambiguous revision identifier: c
47045
846920d89476 git: fix partial node matching
Matt Harbison <matt_harbison@yahoo.com>
parents: 47044
diff changeset
   304
  [10]
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   305
  $ hg log -r c1
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   306
  changeset:   5:c1a41c49866e
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   307
  bookmark:    master
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   308
  tag:         tip
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   309
  user:        test <test@example.org>
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   310
  date:        Thu Jan 01 00:00:00 1970 +0000
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   311
  summary:     Introduce file a/mu
47045
846920d89476 git: fix partial node matching
Matt Harbison <matt_harbison@yahoo.com>
parents: 47044
diff changeset
   312
  
846920d89476 git: fix partial node matching
Matt Harbison <matt_harbison@yahoo.com>
parents: 47044
diff changeset
   313
  $ hg log -r dead
846920d89476 git: fix partial node matching
Matt Harbison <matt_harbison@yahoo.com>
parents: 47044
diff changeset
   314
  abort: unknown revision 'dead'
49900
d2e80d27c524 tests: aborting on unknown revision emits exit code 10 even with hgext/git
Anton Shestakov <av6@dwimlabs.net>
parents: 49386
diff changeset
   315
  [10]
47045
846920d89476 git: fix partial node matching
Matt Harbison <matt_harbison@yahoo.com>
parents: 47044
diff changeset
   316
44854
572f98a6f6af tests: add coverage for repo.changelog.findmissing() in test-git-interop.t
Augie Fackler <augie@google.com>
parents: 44493
diff changeset
   317
This coveres changelog.findmissing()
572f98a6f6af tests: add coverage for repo.changelog.findmissing() in test-git-interop.t
Augie Fackler <augie@google.com>
parents: 44493
diff changeset
   318
  $ hg merge --preview 3d9be8deba43
44932
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   319
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   320
This covers manifest.diff()
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   321
  $ hg diff -c 3d9be8deba43
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   322
  diff -r c5864c9d16fb -r 3d9be8deba43 beta
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   323
  --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   324
  +++ b/beta	Mon Jan 01 00:00:11 2007 +0000
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   325
  @@ -0,0 +1,1 @@
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
   326
  +beta
45423
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
   327
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
   328
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   329
Interactive commit should work as expected
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   330
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   331
  $ echo bar >> alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   332
  $ echo bar >> beta
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   333
  $ hg commit -m "test interactive commit" -i --config ui.interactive=true --config ui.interface=text << EOF
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   334
  > y
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   335
  > y
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   336
  > n
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   337
  > EOF
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   338
  diff --git a/alpha b/alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   339
  1 hunks, 1 lines changed
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   340
  examine changes to 'alpha'?
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   341
  (enter ? for help) [Ynesfdaq?] y
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   342
  
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   343
  @@ -1,3 +1,4 @@
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   344
   alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   345
   a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   346
   a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   347
  +bar
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   348
  record change 1/2 to 'alpha'?
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   349
  (enter ? for help) [Ynesfdaq?] y
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   350
  
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   351
  diff --git a/beta b/beta
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   352
  1 hunks, 1 lines changed
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   353
  examine changes to 'beta'?
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   354
  (enter ? for help) [Ynesfdaq?] n
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   355
  
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   356
Status should be consistent for both systems
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   357
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   358
  $ hg status
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   359
  heads mismatch, rebuilding dagcache
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   360
  M beta
50725
7e5be4a7cda7 tests: use grep -E instead of obsolescent egrep
Mads Kiilerich <mads@kiilerich.com>
parents: 49901
diff changeset
   361
  $ git status | grep -E -v '^$|^  \(use '
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   362
  On branch master
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   363
  Changes not staged for commit:
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   364
  	modified:   beta
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   365
  no changes added to commit (use "git add" and/or "git commit -a")
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   366
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   367
Contents of each commit should be the same
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   368
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   369
  $ hg ex -r .
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   370
  # HG changeset patch
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   371
  # User test <test@example.org>
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   372
  # Date 0 0
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   373
  #      Thu Jan 01 00:00:00 1970 +0000
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   374
  # Node ID 6024eda7986da123aa6797dd4603bd399d49bf5c
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   375
  # Parent  c1a41c49866ecc9c5411be932653e5b430961dd5
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   376
  test interactive commit
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   377
  
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   378
  diff -r c1a41c49866e -r 6024eda7986d alpha
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   379
  --- a/alpha	Thu Jan 01 00:00:00 1970 +0000
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   380
  +++ b/alpha	Thu Jan 01 00:00:00 1970 +0000
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   381
  @@ -1,3 +1,4 @@
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   382
   alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   383
   a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   384
   a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   385
  +bar
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   386
  $ git show
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   387
  commit 6024eda7986da123aa6797dd4603bd399d49bf5c
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   388
  Author: test <test@example.org>
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   389
  Date:   Thu Jan 1 00:00:00 1970 +0000
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   390
  
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   391
      test interactive commit
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   392
  
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   393
  diff --git a/alpha b/alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   394
  index d112a75..d2a2e9a 100644
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   395
  --- a/alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   396
  +++ b/alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   397
  @@ -1,3 +1,4 @@
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   398
   alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   399
   a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   400
   a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   401
  +bar
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   402
45423
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
   403
Deleting files should also work (this was issue6398)
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   404
  $ hg revert -r . --all
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   405
  reverting beta
45423
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
   406
  $ hg rm beta
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
   407
  $ hg ci -m 'remove beta'
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
   408
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   409
This covers changelog.tiprev() (issue6510)
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   410
  $ hg log -r '(.^^):'
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   411
  heads mismatch, rebuilding dagcache
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   412
  changeset:   5:c1a41c49866e
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   413
  user:        test <test@example.org>
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   414
  date:        Thu Jan 01 00:00:00 1970 +0000
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   415
  summary:     Introduce file a/mu
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   416
  
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   417
  changeset:   6:6024eda7986d
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   418
  user:        test <test@example.org>
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   419
  date:        Thu Jan 01 00:00:00 1970 +0000
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   420
  summary:     test interactive commit
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   421
  
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   422
  changeset:   7:1a0fee76bfc4
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   423
  bookmark:    master
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   424
  tag:         tip
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   425
  user:        test <test@example.org>
47046
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   426
  date:        Thu Jan 01 00:00:00 1970 +0000
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   427
  summary:     remove beta
497cedcb6504 git: make changelog.tiprev() return int instead of tuple (issue6510)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47045
diff changeset
   428
  
47047
8d733cbc2724 tests: add coverage for git.changelog.headrevs(...)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47046
diff changeset
   429
This covers changelog.headrevs() with a non-None arg
8d733cbc2724 tests: add coverage for git.changelog.headrevs(...)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47046
diff changeset
   430
  $ hg log -r 'heads(.)' -Tcompact
47053
4c7bc42a509e tests: synchronize the git and Mercurial username
Matt Harbison <matt_harbison@yahoo.com>
parents: 47052
diff changeset
   431
  7[tip][master]   1a0fee76bfc4   1970-01-01 00:00 +0000   test
47047
8d733cbc2724 tests: add coverage for git.changelog.headrevs(...)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47046
diff changeset
   432
    remove beta
8d733cbc2724 tests: add coverage for git.changelog.headrevs(...)
Matt Harbison <matt_harbison@yahoo.com>
parents: 47046
diff changeset
   433
  
49386
1e12ea7d8435 git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472)
Anton Shestakov <av6@dwimlabs.net>
parents: 49384
diff changeset
   434
This covers revlog.findmissingrevs() (issue6472)
1e12ea7d8435 git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472)
Anton Shestakov <av6@dwimlabs.net>
parents: 49384
diff changeset
   435
  $ hg log -r 'last(only(master))' -Tcompact
1e12ea7d8435 git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472)
Anton Shestakov <av6@dwimlabs.net>
parents: 49384
diff changeset
   436
  7[tip][master]   1a0fee76bfc4   1970-01-01 00:00 +0000   test
1e12ea7d8435 git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472)
Anton Shestakov <av6@dwimlabs.net>
parents: 49384
diff changeset
   437
    remove beta
1e12ea7d8435 git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472)
Anton Shestakov <av6@dwimlabs.net>
parents: 49384
diff changeset
   438