mirror of
https://github.com/facebook/sapling.git
synced 2024-10-09 08:18:15 +03:00
7a617027ed
Make 'hg outgoing' respect "paths.default:pushurl" in addition to "paths.default-push". 'hg outgoing' has always meant "what will happen if I run 'hg push'?" and it's still documented that way: Show changesets not found in the specified destination repository or the default push location. These are the changesets that would be pushed if a push was requested. If the user uses the now-deprecated "paths.default-push" path, it continues to work that way. However, as described at https://bz.mercurial-scm.org/show_bug.cgi?id=5365, it doesn't behave the same with "paths.default:pushurl". Why does it matter? Similar to the bugzilla reporter, I have a read-only mirror of a non-Mercurial repository: upstream -> imported mirror -> user clone ^-----------------------/ Users push directly to upstream, and that content is then imported into the mirror. However, those repositories are not the same; it's possible that the mirroring has either broken completely, or an import process is running and not yet complete. In those cases, 'hg outgoing' will list changesets that have already been pushed. Mozilla's desired behavior described in bug 5365 can be accomplished through other means (e.g. 'hg outgoing default'), preserving the consistency and meaning of 'hg outgoing'.
116 lines
2.4 KiB
Perl
116 lines
2.4 KiB
Perl
$ cat >> $HGRCPATH <<EOF
|
|
> [alias]
|
|
> tlog = log --template "{rev}:{node|short}: '{desc}' {branches}\n"
|
|
> tglog = tlog -G
|
|
> tout = out --template "{rev}:{node|short}: '{desc}' {branches}\n"
|
|
> EOF
|
|
|
|
$ hg init a
|
|
$ cd a
|
|
|
|
$ echo a > a
|
|
$ hg ci -Aqm0
|
|
|
|
$ echo foo >> a
|
|
$ hg ci -Aqm1
|
|
|
|
$ hg up -q 0
|
|
|
|
$ hg branch stable
|
|
marked working directory as branch stable
|
|
(branches are permanent and global, did you want a bookmark?)
|
|
$ echo bar >> a
|
|
$ hg ci -qm2
|
|
|
|
$ hg tglog
|
|
@ 2:7bee6c3bea3a: '2' stable
|
|
|
|
|
| o 1:3560197d8331: '1'
|
|
|/
|
|
o 0:f7b1eb17ad24: '0'
|
|
|
|
|
|
$ cd ..
|
|
|
|
$ hg clone -q a#stable b
|
|
|
|
$ cd b
|
|
$ cat .hg/hgrc
|
|
# example repository config (see 'hg help config' for more info)
|
|
[paths]
|
|
default = $TESTTMP/a#stable
|
|
|
|
# path aliases to other clones of this repo in URLs or filesystem paths
|
|
# (see 'hg help config.paths' for more info)
|
|
#
|
|
# default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork
|
|
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
|
|
# my-clone = /home/jdoe/jdoes-clone
|
|
|
|
[ui]
|
|
# name and email (local to this repository, optional), e.g.
|
|
# username = Jane Doe <jdoe@example.com>
|
|
|
|
$ echo red >> a
|
|
$ hg ci -qm3
|
|
|
|
$ hg up -q default
|
|
|
|
$ echo blue >> a
|
|
$ hg ci -qm4
|
|
|
|
$ hg tglog
|
|
@ 3:f0461977a3db: '4'
|
|
|
|
|
| o 2:1d4099801a4e: '3' stable
|
|
| |
|
|
| o 1:7bee6c3bea3a: '2' stable
|
|
|/
|
|
o 0:f7b1eb17ad24: '0'
|
|
|
|
|
|
$ hg tout
|
|
comparing with $TESTTMP/a
|
|
searching for changes
|
|
2:1d4099801a4e: '3' stable
|
|
|
|
$ hg tlog -r 'outgoing()'
|
|
2:1d4099801a4e: '3' stable
|
|
|
|
$ hg tout ../a#default
|
|
comparing with ../a
|
|
searching for changes
|
|
3:f0461977a3db: '4'
|
|
|
|
$ hg tlog -r 'outgoing("../a#default")'
|
|
3:f0461977a3db: '4'
|
|
|
|
$ echo "green = ../a#default" >> .hg/hgrc
|
|
|
|
$ cat .hg/hgrc
|
|
# example repository config (see 'hg help config' for more info)
|
|
[paths]
|
|
default = $TESTTMP/a#stable
|
|
|
|
# path aliases to other clones of this repo in URLs or filesystem paths
|
|
# (see 'hg help config.paths' for more info)
|
|
#
|
|
# default:pushurl = ssh://jdoe@example.net/hg/jdoes-fork
|
|
# my-fork = ssh://jdoe@example.net/hg/jdoes-fork
|
|
# my-clone = /home/jdoe/jdoes-clone
|
|
|
|
[ui]
|
|
# name and email (local to this repository, optional), e.g.
|
|
# username = Jane Doe <jdoe@example.com>
|
|
green = ../a#default
|
|
|
|
$ hg tout green
|
|
abort: repository green does not exist!
|
|
[255]
|
|
|
|
$ hg tlog -r 'outgoing("green")'
|
|
abort: repository green does not exist!
|
|
[255]
|
|
|
|
$ cd ..
|