# HG changeset patch # User Mads Kiilerich # Date 1460502551 -7200 # Node ID 79b8f052ee512a523084c7e0699a493bd93e23ec # Parent 2e9f5453ab5afb0696bff50ffff32139b4a3e97f 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. diff -r 2e9f5453ab5a -r 79b8f052ee51 hgext/largefiles/reposetup.py --- 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): diff -r 2e9f5453ab5a -r 79b8f052ee51 mercurial/exchange.py --- 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 diff -r 2e9f5453ab5a -r 79b8f052ee51 mercurial/localrepo.py --- 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()