mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 00:45:18 +03:00
shelve: add shelvename template keyword
Summary: Add `shelvename` template keyword, which expands to the name of the shelve for commits that contain shelves. Reviewed By: farnz Differential Revision: D14932985 fbshipit-source-id: cddebd2dbc6454f7c61ed296f37822179da8a2de
This commit is contained in:
parent
7e2b3c256f
commit
f4245770a3
@ -1311,3 +1311,17 @@ def shelved(repo, subset, x):
|
||||
nodes = map(lambda x: nodemod.hex(repo[x].node()), nodes)
|
||||
# returns intersection with shelved commits (including hidden)
|
||||
return subset & repo.revs("%ls", nodes)
|
||||
|
||||
|
||||
templatekeyword = registrar.templatekeyword()
|
||||
|
||||
|
||||
@templatekeyword("shelvename")
|
||||
def shelvename(repo, ctx, templ, **args):
|
||||
"""String. The name of the shelved commit that this commit contains."""
|
||||
node = ctx.node()
|
||||
for filename in listshelvesfiles(repo):
|
||||
shelve = shelvedfile(repo, filename, "oshelve")
|
||||
if shelve.exists() and nodemod.bin(shelve.readobsshelveinfo()["node"]) == node:
|
||||
return shelve.name
|
||||
return ""
|
||||
|
@ -1275,6 +1275,10 @@ For this test enabled shelve extension is enough, and it is enabled at the top o
|
||||
shelved as default-02
|
||||
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
||||
$ testshelvedcount 3
|
||||
$ hg log --hidden -r "shelved()" --template "{node|short} {shelvename}\n"
|
||||
d7a61836580c default
|
||||
9dcce8f0ff7d default-01
|
||||
225e1bca0190 default-02
|
||||
$ hg unshelve > /dev/null
|
||||
$ testshelvedcount 2
|
||||
$ hg unshelve > /dev/null
|
||||
@ -1345,6 +1349,8 @@ Test interrupted shelve - this should not lose work
|
||||
|
||||
$ hg shelve --list
|
||||
default * shelve changes to: commit1 (glob)
|
||||
$ hg log --hidden -r tip -T '{node|short} "{shelvename}" "{desc}"\n'
|
||||
f70d92a087e8 "default" "shelve changes to: commit1"
|
||||
$ hg unshelve
|
||||
unshelving change 'default'
|
||||
$ cat file2
|
||||
|
Loading…
Reference in New Issue
Block a user