2020-01-20 13:42:49 +03:00
|
|
|
$ enable remotenames
|
2011-10-31 20:26:49 +04:00
|
|
|
> mkcommit()
|
2011-03-30 04:02:06 +04:00
|
|
|
> {
|
|
|
|
> echo $1 > $1
|
|
|
|
> hg add $1
|
|
|
|
> hg ci -m "add $1"
|
|
|
|
> }
|
|
|
|
|
2019-05-28 13:12:27 +03:00
|
|
|
|
2014-12-17 09:23:41 +03:00
|
|
|
Test that remotenames works on a repo without any names file
|
|
|
|
|
2011-03-30 04:02:06 +04:00
|
|
|
$ hg init alpha
|
|
|
|
$ cd alpha
|
|
|
|
$ mkcommit a
|
|
|
|
$ mkcommit b
|
2014-12-17 09:23:41 +03:00
|
|
|
$ hg log -r 'upstream()'
|
2019-02-13 06:48:27 +03:00
|
|
|
$ hg log -r . -T '{remotenames} {remotebookmarks}\n'
|
|
|
|
|
2014-12-17 09:23:41 +03:00
|
|
|
|
|
|
|
Continue testing
|
|
|
|
|
2011-03-30 04:02:06 +04:00
|
|
|
$ mkcommit c
|
|
|
|
$ cd ..
|
2020-02-05 20:29:40 +03:00
|
|
|
$ hg clone alpha beta
|
2011-03-30 04:02:06 +04:00
|
|
|
updating to branch default
|
2019-02-13 06:48:27 +03:00
|
|
|
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2011-03-30 04:02:06 +04:00
|
|
|
$ cd beta
|
2014-12-16 20:28:59 +03:00
|
|
|
$ hg book babar
|
2011-03-30 04:02:06 +04:00
|
|
|
$ mkcommit d
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
$ hg init gamma
|
|
|
|
$ cd gamma
|
|
|
|
$ cat > .hg/hgrc <<EOF
|
|
|
|
> [paths]
|
|
|
|
> default = ../alpha
|
|
|
|
> alpha = ../alpha
|
|
|
|
> beta = ../beta
|
|
|
|
> EOF
|
2020-02-05 20:29:40 +03:00
|
|
|
$ hg pull
|
|
|
|
pulling from $TESTTMP/alpha
|
2011-03-30 04:02:06 +04:00
|
|
|
requesting all changes
|
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 3 changesets with 3 changes to 3 files
|
2020-02-05 20:29:40 +03:00
|
|
|
$ hg pull beta
|
|
|
|
pulling from $TESTTMP/beta
|
2011-03-30 04:02:06 +04:00
|
|
|
searching for changes
|
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
2019-02-13 06:48:27 +03:00
|
|
|
added 1 changesets with 1 changes to 1 files
|
2011-03-30 04:02:06 +04:00
|
|
|
$ hg co -C default
|
2019-02-13 06:48:27 +03:00
|
|
|
4 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2011-03-30 04:02:06 +04:00
|
|
|
$ mkcommit e
|
|
|
|
|
|
|
|
graph shows tags for the branch heads of each path
|
|
|
|
$ hg log --graph
|
2020-07-21 03:23:52 +03:00
|
|
|
@ commit: 9d206ffc875e
|
2020-10-20 03:05:23 +03:00
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add e
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 47d2a3944de8
|
2020-10-20 03:05:23 +03:00
|
|
|
│ bookmark: beta/babar
|
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add d
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 4538525df7e2
|
2020-10-20 03:05:23 +03:00
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add c
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 7c3bad9141dc
|
2020-10-20 03:05:23 +03:00
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add b
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 1f0dee641bb7
|
2011-03-30 04:02:06 +04:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: add a
|
|
|
|
|
|
|
|
|
2015-01-17 01:48:56 +03:00
|
|
|
make sure we can list remote bookmarks with --all
|
|
|
|
|
|
|
|
$ hg bookmarks --all
|
2015-02-10 03:10:55 +03:00
|
|
|
no bookmarks set
|
2020-10-09 08:27:14 +03:00
|
|
|
beta/babar 47d2a3944de8
|
2015-01-17 01:48:56 +03:00
|
|
|
|
2017-05-26 13:24:11 +03:00
|
|
|
$ hg bookmarks --all -T json
|
|
|
|
[
|
|
|
|
{
|
2019-02-13 06:48:27 +03:00
|
|
|
"node": "47d2a3944de8b013de3be9578e8e344ea2e6c097",
|
2020-10-09 08:27:14 +03:00
|
|
|
"remotebookmark": "beta/babar"
|
2017-05-26 13:24:11 +03:00
|
|
|
}
|
|
|
|
]
|
2015-01-17 02:47:07 +03:00
|
|
|
$ hg bookmarks --remote
|
2020-10-09 08:27:14 +03:00
|
|
|
beta/babar 47d2a3944de8
|
2015-01-17 02:47:07 +03:00
|
|
|
|
2017-06-06 21:31:32 +03:00
|
|
|
Verify missing node doesnt break remotenames
|
|
|
|
|
2019-09-14 06:17:38 +03:00
|
|
|
$ echo "18f8e0f8ba54270bf158734c781327581cf43634 bookmarks beta/foo" >> .hg/store/remotenames
|
2017-06-06 21:31:32 +03:00
|
|
|
$ hg book --remote --config remotenames.resolvenodes=False
|
2020-10-09 08:27:14 +03:00
|
|
|
beta/babar 47d2a3944de8
|
2017-06-06 21:31:32 +03:00
|
|
|
|
2019-09-14 06:17:38 +03:00
|
|
|
make sure bogus revisions in .hg/store/remotenames do not break hg
|
2011-03-30 04:02:08 +04:00
|
|
|
$ echo deadbeefdeadbeefdeadbeefdeadbeefdeadbeef default/default >> \
|
2019-09-14 06:17:38 +03:00
|
|
|
> .hg/store/remotenames
|
2011-03-30 04:02:06 +04:00
|
|
|
$ hg parents
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 9d206ffc875e
|
2011-03-30 04:02:06 +04:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
2019-02-13 06:48:27 +03:00
|
|
|
summary: add e
|
2011-03-30 04:02:06 +04:00
|
|
|
|
2011-03-30 04:02:08 +04:00
|
|
|
Verify that the revsets operate as expected:
|
2012-01-27 23:51:12 +04:00
|
|
|
$ hg log -r 'not pushed()'
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 9d206ffc875e
|
2012-01-27 23:51:12 +04:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
2019-02-13 06:48:27 +03:00
|
|
|
summary: add e
|
2012-01-27 23:51:12 +04:00
|
|
|
|
|
|
|
|
2011-03-30 04:02:08 +04:00
|
|
|
|
2015-02-27 01:05:15 +03:00
|
|
|
Upstream without configuration is synonymous with upstream('default'):
|
2012-01-27 23:51:12 +04:00
|
|
|
$ hg log -r 'not upstream()'
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 1f0dee641bb7
|
2019-02-13 06:48:27 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: add a
|
|
|
|
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 7c3bad9141dc
|
2019-02-13 06:48:27 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: add b
|
|
|
|
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 4538525df7e2
|
2019-02-13 06:48:27 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: add c
|
|
|
|
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 47d2a3944de8
|
2015-02-27 01:05:15 +03:00
|
|
|
bookmark: beta/babar
|
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: add d
|
|
|
|
|
2020-07-21 03:23:52 +03:00
|
|
|
commit: 9d206ffc875e
|
2012-01-27 23:51:12 +04:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
2019-02-13 06:48:27 +03:00
|
|
|
summary: add e
|
2012-01-27 23:51:12 +04:00
|
|
|
|
2011-03-30 04:02:08 +04:00
|
|
|
|
|
|
|
but configured, it'll do the expected thing:
|
2014-04-01 04:27:54 +04:00
|
|
|
$ echo '[remotenames]' >> .hg/hgrc
|
2011-03-30 04:02:08 +04:00
|
|
|
$ echo 'upstream=alpha' >> .hg/hgrc
|
|
|
|
$ hg log --graph -r 'not upstream()'
|
2020-07-21 03:23:52 +03:00
|
|
|
@ commit: 9d206ffc875e
|
2020-10-20 03:05:23 +03:00
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add e
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 47d2a3944de8
|
2020-10-20 03:05:23 +03:00
|
|
|
│ bookmark: beta/babar
|
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add d
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 4538525df7e2
|
2020-10-20 03:05:23 +03:00
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add c
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 7c3bad9141dc
|
2020-10-20 03:05:23 +03:00
|
|
|
│ user: test
|
|
|
|
│ date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
│ summary: add b
|
|
|
|
│
|
2020-07-21 03:23:52 +03:00
|
|
|
o commit: 1f0dee641bb7
|
2016-04-11 22:26:11 +03:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
2019-02-13 06:48:27 +03:00
|
|
|
summary: add a
|
2016-04-11 22:26:11 +03:00
|
|
|
|
2014-02-19 01:16:26 +04:00
|
|
|
$ hg log --limit 2 --graph -r 'heads(upstream())'
|
2012-06-20 13:24:55 +04:00
|
|
|
|
2014-04-01 04:27:54 +04:00
|
|
|
Test remotenames revset and keyword
|
2012-06-20 13:24:55 +04:00
|
|
|
|
2014-04-01 04:27:54 +04:00
|
|
|
$ hg log -r 'remotenames()' \
|
2020-10-08 06:58:22 +03:00
|
|
|
> --template '{node|short} {remotenames}\n'
|
|
|
|
47d2a3944de8 beta/babar
|
2015-03-03 10:22:51 +03:00
|
|
|
|
2019-02-13 06:48:27 +03:00
|
|
|
Test remotebookmark revsets
|
2018-06-26 12:51:37 +03:00
|
|
|
|
|
|
|
$ hg log -r 'remotebookmark()' \
|
2020-10-08 06:58:22 +03:00
|
|
|
> --template '{node|short} {remotebookmarks}\n'
|
|
|
|
47d2a3944de8 beta/babar
|
2018-06-26 12:51:37 +03:00
|
|
|
$ hg log -r 'remotebookmark("beta/babar")' \
|
2020-10-08 06:58:22 +03:00
|
|
|
> --template '{node|short} {remotebookmarks}\n'
|
|
|
|
47d2a3944de8 beta/babar
|
2018-06-26 12:51:37 +03:00
|
|
|
$ hg log -r 'remotebookmark("beta/stable")' \
|
2020-10-08 06:58:22 +03:00
|
|
|
> --template '{node|short} {remotebookmarks}\n'
|
2018-06-26 12:51:37 +03:00
|
|
|
abort: no remote bookmarks exist that match 'beta/stable'!
|
|
|
|
[255]
|
|
|
|
$ hg log -r 'remotebookmark("re:beta/.*")' \
|
2020-10-08 06:58:22 +03:00
|
|
|
> --template '{node|short} {remotebookmarks}\n'
|
|
|
|
47d2a3944de8 beta/babar
|
2018-06-26 12:51:37 +03:00
|
|
|
$ hg log -r 'remotebookmark("re:gamma/.*")' \
|
2020-10-08 06:58:22 +03:00
|
|
|
> --template '{node|short} {remotebookmarks}\n'
|
2018-06-26 12:51:37 +03:00
|
|
|
abort: no remote bookmarks exist that match 're:gamma/.*'!
|
|
|
|
[255]
|
|
|
|
|
2015-03-14 04:02:21 +03:00
|
|
|
Test clone --mirror
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
$ cd alpha
|
|
|
|
$ hg book foo bar baz
|
|
|
|
$ cd ..
|
|
|
|
$ hg clone --mirror alpha mirror
|
|
|
|
updating to branch default
|
2019-02-13 06:48:27 +03:00
|
|
|
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2015-03-14 04:02:21 +03:00
|
|
|
$ cd mirror
|
|
|
|
$ hg book
|
2020-10-09 08:27:14 +03:00
|
|
|
bar 4538525df7e2
|
|
|
|
baz 4538525df7e2
|
|
|
|
foo 4538525df7e2
|
extsetup: use more generic hggit check and wrap commands earlier
Other extensions (eg, pushrebase) need to wrap commands after remotenames so
they can modify inputs to prevent remotenames from complaining about, eg, a
push --to that would not be a fast-forward. By using the afterloaded() call,
which doesn't do what we expect anyway, we prevented pushrebase from being able
to wrap these functions after remotenames did.
Instead, we change to wrap the command immediately, and then force the option
modifications to the end, by loading them "after" a non-existant extension.
Furthermore, we make the option additions more generic: if any other extension
(including hggit) adds the paramters we want to add, we skip adding them again.
2015-07-07 08:02:34 +03:00
|
|
|
|
2020-01-30 02:28:36 +03:00
|
|
|
Test custom paths dont override default
|
|
|
|
$ cd ..
|
|
|
|
$ hg init path_overrides
|
|
|
|
$ cd path_overrides
|
|
|
|
$ hg path -a default ../alpha
|
|
|
|
$ hg path -a custom ../alpha
|
|
|
|
$ hg pull
|
|
|
|
pulling from $TESTTMP/alpha
|
|
|
|
requesting all changes
|
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 3 changesets with 3 changes to 3 files
|
|
|
|
$ hg book --remote
|
2020-10-09 08:27:14 +03:00
|
|
|
default/bar 4538525df7e2
|
|
|
|
default/baz 4538525df7e2
|
|
|
|
default/foo 4538525df7e2
|
2018-01-10 19:15:55 +03:00
|
|
|
|
|
|
|
|
|
|
|
Test json formatted bookmarks with tracking data
|
|
|
|
$ cd ..
|
|
|
|
$ hg init delta
|
|
|
|
$ cd delta
|
|
|
|
$ hg book mimimi -t lalala
|
|
|
|
$ hg book -v -T json
|
|
|
|
[
|
|
|
|
{
|
|
|
|
"active": true,
|
|
|
|
"bookmark": "mimimi",
|
|
|
|
"node": "0000000000000000000000000000000000000000",
|
|
|
|
"tracking": "lalala"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
$ hg book -v
|
2020-10-09 08:27:14 +03:00
|
|
|
* mimimi 000000000000 [lalala]
|