Mercurial > hg-stable
changeset 28876:79b8f052ee51
localrepo: refactor prepushoutgoinghook to take a pushop
prepushoutgoinghook was introduced in 6c383c871fdb and largefiles is the only
in-tree use of it. Refactor it to be more useful for other use cases in
largefiles.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Wed, 13 Apr 2016 01:09:11 +0200 |
parents | 2e9f5453ab5a |
children | 8079639b20dc |
files | hgext/largefiles/reposetup.py mercurial/exchange.py mercurial/localrepo.py |
diffstat | 3 files changed, 9 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/reposetup.py Tue Mar 29 00:08:25 2016 +0900 +++ b/hgext/largefiles/reposetup.py Wed Apr 13 01:09:11 2016 +0200 @@ -352,12 +352,13 @@ # is used to write status out. repo._lfstatuswriters = [ui.status] - def prepushoutgoinghook(local, remote, outgoing): - if outgoing.missing: + def prepushoutgoinghook(pushop): + if pushop.outgoing.missing: toupload = set() addfunc = lambda fn, lfhash: toupload.add(lfhash) - lfutil.getlfilestoupload(local, outgoing.missing, addfunc) - lfcommands.uploadlfiles(ui, local, remote, toupload) + lfutil.getlfilestoupload(pushop.repo, pushop.outgoing.missing, + addfunc) + lfcommands.uploadlfiles(ui, pushop.repo, pushop.remote, toupload) repo.prepushoutgoinghooks.add("largefiles", prepushoutgoinghook) def checkrequireslfiles(ui, repo, **kwargs):
--- a/mercurial/exchange.py Tue Mar 29 00:08:25 2016 +0900 +++ b/mercurial/exchange.py Wed Apr 13 01:09:11 2016 +0200 @@ -694,9 +694,7 @@ # Send known heads to the server for race detection. if not _pushcheckoutgoing(pushop): return - pushop.repo.prepushoutgoinghooks(pushop.repo, - pushop.remote, - pushop.outgoing) + pushop.repo.prepushoutgoinghooks(pushop) _pushb2ctxcheckheads(pushop, bundler) @@ -884,9 +882,7 @@ pushop.stepsdone.add('changesets') if not _pushcheckoutgoing(pushop): return - pushop.repo.prepushoutgoinghooks(pushop.repo, - pushop.remote, - pushop.outgoing) + pushop.repo.prepushoutgoinghooks(pushop) outgoing = pushop.outgoing unbundle = pushop.remote.capable('unbundle') # TODO: get bundlecaps from remote
--- a/mercurial/localrepo.py Tue Mar 29 00:08:25 2016 +0900 +++ b/mercurial/localrepo.py Wed Apr 13 01:09:11 2016 +0200 @@ -1887,8 +1887,8 @@ @unfilteredpropertycache def prepushoutgoinghooks(self): - """Return util.hooks consists of "(repo, remote, outgoing)" - functions, which are called before pushing changesets. + """Return util.hooks consists of a pushop with repo, remote, outgoing + methods, which are called before pushing changesets. """ return util.hooks()