annotate tests/test-git-interop.t @ 46858:85e3a630cad9

revlog: move the details of revlog "v2" index inside revlog.utils.constants the revlog module is quite large and this kind of format information would handy for other module. So let us start to gather this information about the format in a more appropriate place. We update various reference to this information to use the new "source of truth" in the process. Differential Revision: https://phab.mercurial-scm.org/D10305
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 05 Apr 2021 12:21:12 +0200
parents 6dea77e195d2
children fe34c75f62ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
44483
2e464925f662 hghave: add a check for pygit2
Martin von Zweigbergk <martinvonz@google.com>
parents: 44478
diff changeset
1 #require pygit2
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
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
10 > count=10
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
11 > gitcommit() {
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
12 > 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
13 > 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
14 > 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
15 > 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
16 > }
46840
6dea77e195d2 test: enforce master to be the default branch in test
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 46796
diff changeset
17 $ 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
18
44493
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
19
45950
c7c1efdfd4de git: show the version of `pygit2` with verbose version output
Matt Harbison <matt_harbison@yahoo.com>
parents: 45926
diff changeset
20 $ 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
21 Enabled extensions:
c7c1efdfd4de git: show the version of `pygit2` with verbose version output
Matt Harbison <matt_harbison@yahoo.com>
parents: 45926
diff changeset
22 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
23
44493
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
24 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
25 $ mkdir nogit
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
26 $ cd nogit
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
27 $ mkdir .hg
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
28 $ 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
29 $ hg status
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
30 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
31 [255]
46796
38f55ef058fb tests: resort to fix test with newer git versions
Joerg Sonnenberger <joerg@bec.de>
parents: 45992
diff changeset
32 $ 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
33 $ git init
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
34 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
35 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
36 `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
37 $ hg status
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
38 ? .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
39 ? .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
40 ? .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
41 ? .hg/requires
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
42 $ cd ..
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
43
02c47b74366c git: key off `git` in .hg/requires rather than separate file
Augie Fackler <raf@durin42.com>
parents: 44483
diff changeset
44 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
45 $ 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
46 > [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
47 > 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
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 > 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
50 > EOF
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
51
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
52 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
53 $ mkdir foo
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
54 $ cd foo
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
55 $ git init
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
56 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
57 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
58 $ 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
59 $ echo alpha > alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
60 $ git add alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
61 $ 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
62 $ echo beta > beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
63 $ git add beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
64 $ 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
65 $ echo gamma > gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
66 $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
67 On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
68 Untracked files:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
69 (use "git add <file>..." to include in what will be committed)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
70 gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
71
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
72 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
73
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
74 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
75 $ hg status
45926
a6f2821cdeab git: update test for hg and git output changes
Augie Fackler <raf@durin42.com>
parents: 45578
diff changeset
76 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
77 [10]
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
78 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
79 $ hg init --git
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
80 $ 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
81 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
82 3d9be8deba43 tip master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
83 $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
84 ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
85 Log works too:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
86 $ hg log
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
87 changeset: 1:3d9be8deba43
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
88 bookmark: master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
89 tag: tip
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
90 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
91 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
92 summary: Add beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
93
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
94 changeset: 0:c5864c9d16fb
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
95 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
96 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
97 summary: Add alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
98
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
99
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
100
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
101 and bookmarks:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
102 $ hg bookmarks
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
103 * master 1:3d9be8deba43
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
104
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
105 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
106 $ echo blah >> alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
107 $ git diff
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
108 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
109 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
110 --- a/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
111 +++ b/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
112 @@ -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
113 alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
114 +blah
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
115 $ hg diff --git
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
116 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
117 --- a/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
118 +++ b/alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
119 @@ -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
120 alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
121 +blah
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
122
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
123 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
124 $ rm alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
125 $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
126 ! alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
127 ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
128
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
129 Revert works:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
130 $ 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
131 $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
132 ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
133 $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
134 On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
135 Untracked files:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
136 (use "git add <file>..." to include in what will be committed)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
137 gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
138
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
139 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
140
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
141 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
142 $ hg add gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
143 $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
144 A gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
145 $ hg files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
146 alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
147 beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
148 gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
149 $ git ls-files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
150 alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
151 beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
152 gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
153 $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
154 On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
155 Changes to be committed:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
156 (use "git restore --staged <file>..." to unstage)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
157 new file: gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
158
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
159
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
160 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
161 $ hg forget gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
162 $ hg status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
163 ? gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
164 $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
165 On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
166 Untracked files:
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
167 (use "git add <file>..." to include in what will be committed)
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
168 gamma
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 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
171
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
172 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
173 $ rm gamma
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
174
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
175 hg log FILE
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
176
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
177 $ echo a >> alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
178 $ hg ci -m 'more alpha' --traceback --date '1583522787 18000'
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
179 $ echo b >> beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
180 $ 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
181 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
182 $ echo a >> alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
183 $ 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
184 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
185 $ 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
186 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
187 @ changeset: 4:6626247b7dc8
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
188 : bookmark: master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
189 : tag: tip
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
190 : user: test <test>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
191 : 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
192 : 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
193 :
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
194 o changeset: 2:a1983dd7fb19
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
195 : user: test <test>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
196 : date: Fri Mar 06 14:26:27 2020 -0500
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
197 : summary: more alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
198 :
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
199 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
200 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
201 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
202 summary: Add alpha
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 $ hg log -G beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
205 o changeset: 3:d8ee22687733
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
206 : user: test <test>
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
207 : 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
208 : summary: more beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
209 :
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
210 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
211 | 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
212 ~ 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
213 summary: Add beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
214
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
215
44855
1d2d353e5c4a tests: add coverage for repo.changelog.children() in the git extension
Augie Fackler <augie@google.com>
parents: 44854
diff changeset
216 $ hg log -r "children(3d9be8deba43)" -T"{node|short} {children}\n"
1d2d353e5c4a tests: add coverage for repo.changelog.children() in the git extension
Augie Fackler <augie@google.com>
parents: 44854
diff changeset
217 a1983dd7fb19 3:d8ee22687733
1d2d353e5c4a tests: add coverage for repo.changelog.children() in the git extension
Augie Fackler <augie@google.com>
parents: 44854
diff changeset
218
44477
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
219 hg annotate
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
220
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
221 $ hg annotate alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
222 0: alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
223 2: a
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
224 4: a
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
225 $ hg annotate beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
226 1: beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
227 3: b
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
228
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
229
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
230 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
231 instead of `a`.
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
232
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
233 $ mkdir a
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
234 $ 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
235 $ 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
236 adding a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
237
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
238 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
239
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
240 $ git ls-files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
241 a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
242 alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
243 beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
244 $ hg files
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
245 a/mu
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
246 alpha
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
247 beta
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
248
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
249 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
250
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
251 $ git status
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
252 On branch master
ad718271a9eb git: skeleton of a new extension to _directly_ operate on git repos
Augie Fackler <augie@google.com>
parents:
diff changeset
253 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
254 $ 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
255 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
256
44478
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
257
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
258 node|shortest works correctly
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
259 $ hg log -T '{node}\n' | sort
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
260 3d9be8deba43482be2c81a4cb4be1f10d85fa8bc
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
261 6626247b7dc8f231b183b8a4761c89139baca2ad
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
262 a1983dd7fb19cbd83ad5a1c2fc8bf3d775dea12f
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
263 ae1ab744f95bfd5b07cf573baef98a778058537b
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
264 c5864c9d16fb3431fe2c175ff84dc6accdbb2c18
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
265 d8ee22687733a1991813560b15128cd9734f4b48
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
266 $ hg log -r ae1ab744f95bfd5b07cf573baef98a778058537b --template "{shortest(node,1)}\n"
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
267 ae
6d953b3fc2bd git: make {shortest()} return shortest *unique* prefix
Martin von Zweigbergk <martinvonz@google.com>
parents: 44477
diff changeset
268
44854
572f98a6f6af tests: add coverage for repo.changelog.findmissing() in test-git-interop.t
Augie Fackler <augie@google.com>
parents: 44493
diff changeset
269 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
270 $ 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
271
03ba7de6a8b9 git: add coverage for manifest.diff() so we don't regress
Augie Fackler <augie@google.com>
parents: 44855
diff changeset
272 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
273 $ 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
274 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
275 --- /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
276 +++ 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
277 @@ -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
278 +beta
45423
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
279
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
280
45578
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
281 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
282
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
283 $ 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
284 $ 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
285 $ 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
286 > y
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
287 > y
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
288 > n
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
289 > EOF
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
290 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
291 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
292 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
293 (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
294
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
295 @@ -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
296 alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
297 a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
298 a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
299 +bar
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
300 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
301 (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
302
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
303 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
304 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
305 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
306 (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
307
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
308 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
309
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
310 $ hg status
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
311 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
312 M beta
45926
a6f2821cdeab git: update test for hg and git output changes
Augie Fackler <raf@durin42.com>
parents: 45578
diff changeset
313 $ git status | egrep -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
314 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
315 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
316 modified: beta
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
317 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
318
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
319 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
320
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
321 $ 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
322 # HG changeset patch
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
323 # User test <test>
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
324 # 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
325 # 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
326 # Node ID 80adc61cf57e99f6a412d83fee6239d1556cefcf
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
327 # Parent ae1ab744f95bfd5b07cf573baef98a778058537b
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
328 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
329
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
330 diff -r ae1ab744f95b -r 80adc61cf57e alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
331 --- 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
332 +++ 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
333 @@ -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
334 alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
335 a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
336 a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
337 +bar
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
338 $ git show
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
339 commit 80adc61cf57e99f6a412d83fee6239d1556cefcf
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
340 Author: test <test>
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
341 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
342
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
343 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
344
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
345 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
346 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
347 --- a/alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
348 +++ b/alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
349 @@ -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
350 alpha
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
351 a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
352 a
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
353 +bar
f9a3edf2dee4 git: add test showing `hg commit -i` working on a git repo
Connor Sheehan <sheehan@mozilla.com>
parents: 45423
diff changeset
354
45423
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
355 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
356 $ 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
357 reverting beta
45423
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
358 $ hg rm beta
d4cf80341589 git: fix index handling of removed files during commit (issue6398)
Augie Fackler <raf@durin42.com>
parents: 44951
diff changeset
359 $ 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
360