mirror of
https://github.com/facebook/sapling.git
synced 2024-10-08 15:57:43 +03:00
bookmarks: add outgoing() to replace diff() for outgoing bookmarks
This replacement makes enhancement of "show outgoing bookmarks" easy, because "compare()" can detect more detailed difference of bookmarks between two repositories.
This commit is contained in:
parent
db0c9bd871
commit
eefef22b72
@ -470,6 +470,34 @@ def incoming(ui, repo, other):
|
||||
|
||||
return 0
|
||||
|
||||
def outgoing(ui, repo, other):
|
||||
'''Show bookmarks outgoing from repo to other
|
||||
'''
|
||||
ui.status(_("searching for changed bookmarks\n"))
|
||||
|
||||
r = compare(repo, repo._bookmarks, other.listkeys('bookmarks'),
|
||||
srchex=hex)
|
||||
addsrc, adddst, advsrc, advdst, diverge, differ, invalid, same = r
|
||||
|
||||
outgoings = []
|
||||
if ui.debugflag:
|
||||
getid = lambda id: id
|
||||
else:
|
||||
getid = lambda id: id[:12]
|
||||
def add(b, id):
|
||||
outgoings.append(" %-25s %s\n" % (b, getid(id)))
|
||||
for b, scid, dcid in addsrc:
|
||||
add(b, scid)
|
||||
|
||||
if not outgoings:
|
||||
ui.status(_("no changed bookmarks found\n"))
|
||||
return 1
|
||||
|
||||
for s in sorted(outgoings):
|
||||
ui.write(s)
|
||||
|
||||
return 0
|
||||
|
||||
def diff(ui, dst, src):
|
||||
ui.status(_("searching for changed bookmarks\n"))
|
||||
|
||||
|
@ -4757,7 +4757,7 @@ def outgoing(ui, repo, dest=None, **opts):
|
||||
ui.warn(_("remote doesn't support bookmarks\n"))
|
||||
return 0
|
||||
ui.status(_('comparing with %s\n') % util.hidepassword(dest))
|
||||
return bookmarks.diff(ui, other, repo)
|
||||
return bookmarks.outgoing(ui, repo, other)
|
||||
|
||||
repo._subtoppath = ui.expandpath(dest or 'default-push', dest or 'default')
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user