Mon, 07 Apr 2014 23:17:51 +0200 revlog: use context ancestor instead of changelog ancestor
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:17:51 +0200] rev 20991
revlog: use context ancestor instead of changelog ancestor We want to move in this direction.
Tue, 25 Feb 2014 20:31:53 +0100 copies: guard debug section with ui.debugflag
Mads Kiilerich <madski@unity3d.com> [Tue, 25 Feb 2014 20:31:53 +0100] rev 20990
copies: guard debug section with ui.debugflag
Tue, 25 Feb 2014 20:31:51 +0100 copies: remove _checkcopies wrapper - it does no good
Mads Kiilerich <madski@unity3d.com> [Tue, 25 Feb 2014 20:31:51 +0100] rev 20989
copies: remove _checkcopies wrapper - it does no good mergecopies might be doomed but it is not dead yet ...
Mon, 07 Apr 2014 23:17:51 +0200 transplant: use context ancestor instead of changelog ancestor
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:17:51 +0200] rev 20988
transplant: use context ancestor instead of changelog ancestor We want to move in this direction. ctx.ancestor is in a better position for handling a situation with multiple ancestors.
Mon, 07 Apr 2014 23:17:51 +0200 commit: use revlog.commonancestors instead of .ancestor
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:17:51 +0200] rev 20987
commit: use revlog.commonancestors instead of .ancestor This do probably not make any real difference but is slightly more correct and we would like to get rid of flog.ancestor.
Mon, 07 Apr 2014 23:17:51 +0200 backout: don't limit heritage check to a single ancestor
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:17:51 +0200] rev 20986
backout: don't limit heritage check to a single ancestor This do probably not make any real difference but is slightly more correct and we would like to get rid of changelog.ancestor.
Thu, 20 Mar 2014 01:35:07 +0100 ancestor: remove unused genericancestor
Mads Kiilerich <madski@unity3d.com> [Thu, 20 Mar 2014 01:35:07 +0100] rev 20985
ancestor: remove unused genericancestor
Mon, 07 Apr 2014 23:17:48 +0200 context: remove unused filectx.ancestor
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:17:48 +0200] rev 20984
context: remove unused filectx.ancestor
Sun, 09 Mar 2014 01:03:28 +0900 shelve: add "writebundle()" to invoke "writebundle()" with relative path and vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20983
shelve: add "writebundle()" to invoke "writebundle()" with relative path and vfs
Sun, 09 Mar 2014 01:03:28 +0900 shelve: add "applybundle()" to invoke "readbundle()" with relative path and vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20982
shelve: add "applybundle()" to invoke "readbundle()" with relative path and vfs "applybundle()" also includes "addchangegroup()" invocation to encapsulate "vfs.join()" inside it.
Sun, 09 Mar 2014 01:03:28 +0900 bundlerepo: treat temporarily extracted bundle file via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20981
bundlerepo: treat temporarily extracted bundle file via vfs
Sun, 09 Mar 2014 01:03:28 +0900 vfs: add "mkstemp()"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20980
vfs: add "mkstemp()"
Sun, 09 Mar 2014 01:03:28 +0900 repair: make "strip()" treat bundle files via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20979
repair: make "strip()" treat bundle files via vfs This patch makes "repair.strip()" treat bundle files via vfs. This patch also avoids applying "vfs.join()" on the value returned by "changegroup.writebundle()", to get relative path from "_bundle()".
Sun, 09 Mar 2014 01:03:28 +0900 changegroup: add "vfs" argument to "readbundle()" to pass relative filename
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20978
changegroup: add "vfs" argument to "readbundle()" to pass relative filename
Sun, 09 Mar 2014 01:03:28 +0900 repair: make paths in "_bundle()" relative to ".hg"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20977
repair: make paths in "_bundle()" relative to ".hg" This patch makes paths below in "_bundle()" relative to ".hg": - backup directory ("strip-backup"), and - bundle file under backup directory "vfs" is passed to "changegroup.writebundle()" to use relative path directly. This patch applies "vfs.join()" on the value returned by "_bundle()", because the caller expect it to return absolute path. This will be changed by succeeding patch changing the caller side.
Sun, 09 Mar 2014 01:03:28 +0900 changegroup: add "vfs" argument to "writebundle()" for relative access via vfs
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20976
changegroup: add "vfs" argument to "writebundle()" for relative access via vfs Before this patch, filename specified to "changegroup.writebundle()" should be absolute one. In some cases, they should be relative to repository root, store and so on (backup before strip, for example). This patch adds "vfs" argument to "writebundle()", and makes "writebundle()" open (and unlink) "filename" via vfs for relative access, if both filename and vfs are specified.
Sun, 09 Mar 2014 01:03:28 +0900 localrepo: make "undofiles()" return list of tuples "(vfs, relative filename)"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp> [Sun, 09 Mar 2014 01:03:28 +0900] rev 20975
localrepo: make "undofiles()" return list of tuples "(vfs, relative filename)" Before this patch, "localrepository.undofiles()" returns list of absolute filename of undo files. This patch makes it return list of tuples "(vfs, relative filename)" to access undo files via vfs. This patch also changes "repair.strip()", which is the only user of "localrepository.undofiles()".
Fri, 11 Apr 2014 17:20:15 -0400 exchange: fix pyflakes import complaint
Matt Mackall <mpm@selenic.com> [Fri, 11 Apr 2014 17:20:15 -0400] rev 20974
exchange: fix pyflakes import complaint
Thu, 10 Apr 2014 15:12:12 +0800 hgweb: override the charset attribute in the http request
Wei, Elson <elson.wei@gmail.com> [Thu, 10 Apr 2014 15:12:12 +0800] rev 20973
hgweb: override the charset attribute in the http request The default http request character set is UTF-8. If the message is not encoded in UTF-8, such as big5, it cannot be shown correctly. The 'charset' is overridden by the root document's, such that the user can select the proper encoding in the browser.
Fri, 11 Apr 2014 16:38:55 -0400 diff: use second filename for --stat reporting on git patches (issue4221)
Matt Mackall <mpm@selenic.com> [Fri, 11 Apr 2014 16:38:55 -0400] rev 20972
diff: use second filename for --stat reporting on git patches (issue4221)
Fri, 11 Apr 2014 13:43:41 -0400 exchange: drop useless line break
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 11 Apr 2014 13:43:41 -0400] rev 20971
exchange: drop useless line break
Fri, 11 Apr 2014 15:38:18 -0400 subrepo: check return code for git push (issue4223)
Matt Mackall <mpm@selenic.com> [Fri, 11 Apr 2014 15:38:18 -0400] rev 20970
subrepo: check return code for git push (issue4223)
Fri, 04 Apr 2014 17:50:44 -0700 localrepo: add unbundle support
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Apr 2014 17:50:44 -0700] rev 20969
localrepo: add unbundle support Localrepo now supports the unbundle method of pushing changegroups. We plan to use the unbundle call for bundle2 so it is important that all peers supports it. The `peer.unbundle` and `peer.addchangegroup` code path have small difference so cause some test output changes. None of those changes seems problematic.
Fri, 04 Apr 2014 17:28:59 -0700 unbundle: extract the core logic in another function
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Apr 2014 17:28:59 -0700] rev 20968
unbundle: extract the core logic in another function The `exchange` module now contains an `unbundle` function that holds the core unbundle logic. The wire protocol keeps its own unbundle function. It enforces wireprotocol-specific logic and then calls the extracted function. This aims at implementing unbundle for localrepo.
Fri, 04 Apr 2014 17:15:25 -0700 unbundle: extract checkheads in its own function
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Apr 2014 17:15:25 -0700] rev 20967
unbundle: extract checkheads in its own function We are going to refactor the unbundle function to have it working on a local repository too. Having this function extracted will ease the process. In the case of non-matching heads, the function now directly raises an exception. The top level of the function is catching it.
Mon, 07 Apr 2014 18:10:50 -0700 phase: apply publishing enforcement for "serve" source
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 07 Apr 2014 18:10:50 -0700] rev 20966
phase: apply publishing enforcement for "serve" source When a changegroup is added by a push on a publishing server, we ensure they are added as public. This is used to enforce publishing on server when the client is not aware of phases. It also prevents race conditions where a reader could see the changesets as draft before they get turned public by the client. Finally, this save rounds trip as the client does not need additional request to turn them public. However, this logic was only enforced when the changegroup was from a "push" source. And "push" is used for local pushes only. Wireprotocol push uses "serve" as source since Mercurial 1.9. We now enforce this logic for both "push" and "serve" sources. One could note that this logic was mainly useful during wireprotocol exchanges. So this code is finally put into good use, 9 versions after its introduction.
Thu, 10 Apr 2014 12:41:39 -0400 merge with stable
Matt Mackall <mpm@selenic.com> [Thu, 10 Apr 2014 12:41:39 -0400] rev 20965
merge with stable
Fri, 20 Dec 2013 14:56:05 +0100 http: reuse authentication info after the first failed request (issue3567)
Stéphane Klein <contact@stephane-klein.info> [Fri, 20 Dec 2013 14:56:05 +0100] rev 20964
http: reuse authentication info after the first failed request (issue3567) [This was applied in 181108726ea5 but backed out again in af02783dea65 because of Python 2.4 issues. This edition and test-http.t works with Python 2.4.] Context: mercurial access to repository server with http access, and this server is protected by basic auth. Before patch: * mercurial try an anonymous access to server, server return 401 response and mercurial resend request with login / password information After patch: * mercurial try an anonymous access to server, server return 401 response. For all next requests, mercurial keep in memory this information (this server need basic auth information). This patch reduce the number of http access against mercurial server. Example, before patch: 10.10.168.170 - - [25/Oct/2013:15:44:51 +0200] "GET /hg/testagt?cmd=capabilities HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:44:52 +0200] "GET /hg/testagt?cmd=capabilities HTTP/1.1" 200 147 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:00 +0200] "GET /hg/testagt?cmd=capabilities HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:01 +0200] "GET /hg/testagt?cmd=capabilities HTTP/1.1" 200 147 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:03 +0200] "GET /hg/testagt?cmd=batch HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:04 +0200] "GET /hg/testagt?cmd=batch HTTP/1.1" 200 42 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:06 +0200] "GET /hg/testagt?cmd=getbundle HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:07 +0200] "GET /hg/testagt?cmd=getbundle HTTP/1.1" 200 61184 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:09 +0200] "GET /hg/testagt?cmd=listkeys HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:10 +0200] "GET /hg/testagt?cmd=listkeys HTTP/1.1" 200 15 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:12 +0200] "GET /hg/testagt?cmd=listkeys HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [25/Oct/2013:15:45:12 +0200] "GET /hg/testagt?cmd=listkeys HTTP/1.1" 200 - "-" "mercurial/proto-1.0" Example after patch: 10.10.168.170 - - [28/Oct/2013:11:49:14 +0100] "GET /hg/testagt?cmd=capabilities HTTP/1.1" 401 260 "-" "mercurial/proto-1.0" 10.10.168.170 - - [28/Oct/2013:11:49:15 +0100] "GET /hg/testagt?cmd=capabilities HTTP/1.1" 200 147 "-" "mercurial/proto-1.0" 10.10.168.170 - - [28/Oct/2013:11:49:17 +0100] "GET /hg/testagt?cmd=batch HTTP/1.1" 200 42 "-" "mercurial/proto-1.0" 10.10.168.170 - - [28/Oct/2013:11:49:19 +0100] "GET /hg/testagt?cmd=getbundle HTTP/1.1" 200 61184 "-" "mercurial/proto-1.0" 10.10.168.170 - - [28/Oct/2013:11:49:22 +0100] "GET /hg/testagt?cmd=listkeys HTTP/1.1" 200 15 "-" "mercurial/proto-1.0" 10.10.168.170 - - [28/Oct/2013:11:49:24 +0100] "GET /hg/testagt?cmd=listkeys HTTP/1.1" 200 - "-" "mercurial/proto-1.0" In this last example, you can see only one 401 response.
Tue, 08 Apr 2014 13:05:29 -0700 bundle2: use discard to remove bundle2 cap
Durham Goode <durham@fb.com> [Tue, 08 Apr 2014 13:05:29 -0700] rev 20963
bundle2: use discard to remove bundle2 cap caps.remove('bundle2') was throwing an exception if bundle2 wasn't present in the capabilities. This was causing test-static-http.t to hang. Let's just use discard, so we don't get an exception.
Mon, 07 Apr 2014 11:45:50 -0700 statichttp: respect localrepo _restrictcapabilities
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 07 Apr 2014 11:45:50 -0700] rev 20962
statichttp: respect localrepo _restrictcapabilities The static http repository was doing his own filtering of capability ignoring the filtering done in the local repo main class. This led to static http using the current draft of bundle2. We now apply both.
Mon, 07 Apr 2014 23:10:20 +0200 tests: make unshelve tests more tricky - don't depend on size change
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:10:20 +0200] rev 20961
tests: make unshelve tests more tricky - don't depend on size change One reason shelve and largefiles doesn't work could be rapidly changing standin files. Prove that shelve in general doesn't have problems with that.
Mon, 07 Apr 2014 23:10:20 +0200 shelve: introduce secret option for using fixed date for temporary commit
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:10:20 +0200] rev 20960
shelve: introduce secret option for using fixed date for temporary commit Using a fixed date makes hashes stable and makes debugging simpler. The date and hashes of this changeset are normally not exposed.
Mon, 07 Apr 2014 23:10:20 +0200 mq: repo['.'] is not a wctx, repo[None] is
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:10:20 +0200] rev 20959
mq: repo['.'] is not a wctx, repo[None] is The parameters passed to subrepo.submerge are confusing anyway.
Mon, 07 Apr 2014 23:10:20 +0200 shelve: repo['.'] is not a wctx but a pctx
Mads Kiilerich <madski@unity3d.com> [Mon, 07 Apr 2014 23:10:20 +0200] rev 20958
shelve: repo['.'] is not a wctx but a pctx Don't confuse hackers!
Mon, 07 Apr 2014 14:18:10 -0500 revlog: deal with chunk ranges over 2G on Windows (issue4215) stable
Matt Mackall <mpm@selenic.com> [Mon, 07 Apr 2014 14:18:10 -0500] rev 20957
revlog: deal with chunk ranges over 2G on Windows (issue4215) Python uses a C long (32 bits on Windows 64) rather than an ssize_t in read(), and thus has a 2G size limit. Work around this by falling back to reading one chunk at a time on overflow. This approximately doubles our headroom until we run back into the size limit on single reads.
Fri, 04 Apr 2014 16:41:51 -0700 exchange: pass bundlecaps through to changegroup
Durham Goode <durham@fb.com> [Fri, 04 Apr 2014 16:41:51 -0700] rev 20956
exchange: pass bundlecaps through to changegroup The bundlecaps passed to exchange.getbundle were being dropped completely. We should pass them on through to the changegroup. This affected the remotefilelog extension, since it relies on those bundlecaps.
Tue, 01 Apr 2014 23:41:32 -0700 bundle2: allow pulling changegroups using bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 23:41:32 -0700] rev 20955
bundle2: allow pulling changegroups using bundle2 This changeset refactors the pull code to use a bundle2 when available. We keep bundle2 disabled by default. The current code is not ready for prime time. Ultimately we'll want to unify the API of `bunde10` and `bundle20` to have less different code. But for now, testing the bundle2 exchange flow is an higher priority.
Fri, 04 Apr 2014 01:51:54 -0700 bundle2: add an exchange.getbundle function
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Apr 2014 01:51:54 -0700] rev 20954
bundle2: add an exchange.getbundle function This function can return a `HG10` or `HG20` bundle. It uses the `bundlecaps` parameters to decides which one to return. This is a distinct function from `changegroup.getbundle` for two reasons. First the APIs of `bundle10` and `bundle20` are not compatible yet. The two functions may be reunited in the future. Second `exchange.getbundle` will grow parameters for all kinds of data (phases, obsmarkers, ...) so it's better to keep the changegroup generation in its own function for now. This function will be used it in the next changesets.
Fri, 04 Apr 2014 01:33:20 -0700 localpeer: propagate bundlecaps in getbundle call
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 04 Apr 2014 01:33:20 -0700] rev 20953
localpeer: propagate bundlecaps in getbundle call Best arguments are the ones in use...
Wed, 02 Apr 2014 23:56:49 -0700 bundle2: make it possible have a global transaction for the unbundling
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 02 Apr 2014 23:56:49 -0700] rev 20952
bundle2: make it possible have a global transaction for the unbundling We use the `gettransaction` method approach already used for pull. We need this because we do not know beforehand if the bundle needs a transaction to be created. And (1) we do not want to create a transaction for nothing. (2) Some bundle2 bundles may be read-only and do not require any lock or transaction to be held.
Fri, 04 Apr 2014 17:47:19 -0500 tests: fix test output typo
Matt Mackall <mpm@selenic.com> [Fri, 04 Apr 2014 17:47:19 -0500] rev 20951
tests: fix test output typo
Mon, 24 Mar 2014 19:37:59 -0700 bundle2: first crude version of bundling changeset with bundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Mar 2014 19:37:59 -0700] rev 20950
bundle2: first crude version of bundling changeset with bundle2 The current changegroup format is put in a "changegroup" part and processed by an appropriate handlers. This is not production ready code, but let us start smoke testing.
Wed, 02 Apr 2014 22:37:50 -0700 bundle2: record processing results in the bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 02 Apr 2014 22:37:50 -0700] rev 20949
bundle2: record processing results in the bundleoperation object Part handlers can now add records to the `bundleoperation` object. This can be used to help other parts or to let the caller of the unbundling process react to the results.
Wed, 02 Apr 2014 22:24:44 -0700 bundle2: introduce a bundleoperation object
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 02 Apr 2014 22:24:44 -0700] rev 20948
bundle2: introduce a bundleoperation object This object will hold all data and state gathered through the processing of a bundle. This will allow: - each handler to be aware of the things unbundled so far - the caller to retrieve data about the execution - bear useful object and logic (like repo, transaction) - bear possible bundle2 reply triggered by the unbundling. For now the object is very simple but it will grow at the same time as the bundle2 implementation.
Wed, 02 Apr 2014 13:50:57 -0700 bundle2: feed a unbundle20 to the `processbundle` function
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 02 Apr 2014 13:50:57 -0700] rev 20947
bundle2: feed a unbundle20 to the `processbundle` function The unbundle can comes from multiple sources. (on disk file, peer, etc) and (ultimately) of multiple type (bundle10, bundle20). The `processbundle` is no longer in charge of creating the bundle.
Thu, 03 Apr 2014 17:25:47 -0700 bundle2: lock the repo during unbundle test
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 03 Apr 2014 17:25:47 -0700] rev 20946
bundle2: lock the repo during unbundle test We forgot the lock the repo. It's not too bad during tests, but the lock also still carry some transaction logic. (yes we need to get rid of this)
Sun, 02 Mar 2014 18:52:16 +0100 merge: keep destination filename as key in filemerge actions
Mads Kiilerich <madski@unity3d.com> [Sun, 02 Mar 2014 18:52:16 +0100] rev 20945
merge: keep destination filename as key in filemerge actions Gives more readable debug output and makes it possible to compare/merge actions later.
Sun, 02 Mar 2014 18:49:36 +0100 merge: keep destination filename as key in actions for merge with dir rename
Mads Kiilerich <madski@unity3d.com> [Sun, 02 Mar 2014 18:49:36 +0100] rev 20944
merge: keep destination filename as key in actions for merge with dir rename Avoids None: local renamed directory to b/c -> d updating:None 1/1 files (100.00%) and makes it possible to compare/merge actions later.
Fri, 28 Feb 2014 02:38:33 +0100 merge: include ancestor node in merge actions
Mads Kiilerich <madski@unity3d.com> [Fri, 28 Feb 2014 02:38:33 +0100] rev 20943
merge: include ancestor node in merge actions
Fri, 04 Apr 2014 14:01:25 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Fri, 04 Apr 2014 14:01:25 -0500] rev 20942
merge with stable
Fri, 28 Mar 2014 12:51:05 -0500 repoview: use _gethiddenblockers in computehidden
Sean Farley <sean.michael.farley@gmail.com> [Fri, 28 Mar 2014 12:51:05 -0500] rev 20941
repoview: use _gethiddenblockers in computehidden No functionality has changed, since we've only extracted the code into its own function. Now extensions can wrap _gethiddenblockers to provide their own blocker without polluting bookmarks or local tags.
Thu, 03 Apr 2014 20:07:42 -0500 repoview: add _gethiddenblockers method
Sean Farley <sean.michael.farley@gmail.com> [Thu, 03 Apr 2014 20:07:42 -0500] rev 20940
repoview: add _gethiddenblockers method This is a standalone function that will provide the ability for extensions to wrap.
Thu, 27 Mar 2014 20:14:55 -0500 repoview: improve performance for computehidden (issue4206)
Sean Farley <sean.michael.farley@gmail.com> [Thu, 27 Mar 2014 20:14:55 -0500] rev 20939
repoview: improve performance for computehidden (issue4206) For repos with a large number of heads (including hidden heads), a stale tag cache would cause computehidden to be drastically slower because of a the call to repo.tags() (which would build the tag cache). We actually don't need the tag cache for computehidden because we filter out global tags. This patch replaces the call to repo.tags with readlocaltags so as to avoid the tag cache.
Thu, 03 Apr 2014 20:35:56 -0500 tests: remove unused variables from test-pathencode.py caught by pyflakes stable
Sean Farley <sean.michael.farley@gmail.com> [Thu, 03 Apr 2014 20:35:56 -0500] rev 20938
tests: remove unused variables from test-pathencode.py caught by pyflakes
Thu, 03 Apr 2014 20:32:56 -0500 shelve: remove unused variable caught by pyflakes stable
Sean Farley <sean.michael.farley@gmail.com> [Thu, 03 Apr 2014 20:32:56 -0500] rev 20937
shelve: remove unused variable caught by pyflakes
Thu, 03 Apr 2014 20:29:03 -0500 changegroup: remove unused variable caught by pyflakes stable
Sean Farley <sean.michael.farley@gmail.com> [Thu, 03 Apr 2014 20:29:03 -0500] rev 20936
changegroup: remove unused variable caught by pyflakes
Sat, 15 Mar 2014 18:27:51 +0100 hgk: use hg export to write commits
Andrew Shadura <andrew@shadura.me> [Sat, 15 Mar 2014 18:27:51 +0100] rev 20935
hgk: use hg export to write commits Instead of calling internal command, use hg export to produce changeset diffs compatible with hg import directly.
Tue, 25 Mar 2014 22:47:59 +0100 hgk: add .diff extension when exporting commits
Andrew Shadura <andrew@shadura.me> [Tue, 25 Mar 2014 22:47:59 +0100] rev 20934
hgk: add .diff extension when exporting commits Append the .diff extension automatically.
Tue, 01 Apr 2014 15:27:53 -0700 localrepo: move the addchangegroup method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 15:27:53 -0700] rev 20933
localrepo: move the addchangegroup method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had few callers, not enough to be kept in local repo.
Tue, 01 Apr 2014 15:21:56 -0700 localrepo: move the addchangegroupfiles method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 15:21:56 -0700] rev 20932
localrepo: move the addchangegroupfiles method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had a single caller, far too few for being kept in local repo.
Tue, 01 Apr 2014 15:08:27 -0700 localrepo: move the changegroup method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 15:08:27 -0700] rev 20931
localrepo: move the changegroup method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had few callers, not enough to be kept in local repo. The peer API stay unchanged.
Tue, 01 Apr 2014 14:40:35 -0700 localrepo: move the getbundle method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 14:40:35 -0700] rev 20930
localrepo: move the getbundle method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had few callers, not enough to be kept in local repo. The peer API remains unchanged.
Thu, 03 Apr 2014 12:59:12 -0500 store: drop unused existing list
Matt Mackall <mpm@selenic.com> [Thu, 03 Apr 2014 12:59:12 -0500] rev 20929
store: drop unused existing list
Tue, 01 Apr 2014 14:33:23 -0700 localrepo: move the getlocalbundle method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 14:33:23 -0700] rev 20928
localrepo: move the getlocalbundle method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had 3 callers total, far too few for being kept in local repo.
Tue, 01 Apr 2014 14:25:03 -0700 localrepo: move the changegroupsubset method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 14:25:03 -0700] rev 20927
localrepo: move the changegroupsubset method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had few callers, not enough to be kept in local repo. The peer API remains unchanged.
Tue, 01 Apr 2014 14:13:34 -0700 localrepo: move the changegroupinfo method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 14:13:34 -0700] rev 20926
localrepo: move the changegroupinfo method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had a single caller... already in this changegroup module.
Tue, 01 Apr 2014 13:59:55 -0700 localrepo: move the _changegroupsubset method in changegroup module
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 13:59:55 -0700] rev 20925
localrepo: move the _changegroupsubset method in changegroup module This is a gratuitous code move aimed at reducing the localrepo bloatness. The method had 3 callers total, far too few for being kept in local repo.
Tue, 01 Apr 2014 13:45:48 -0700 push: pass a `pushoperation` object to localrepo.checkpush
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 13:45:48 -0700] rev 20924
push: pass a `pushoperation` object to localrepo.checkpush The `pushoperation` object contains strictly more data the arguments currently passed to `localrepo.checkpush` we pass the new object instead. This function is used by MQ to abort push that includes MQ changesets. Note: extension that may use this function will have to align.
Fri, 28 Mar 2014 14:43:30 -0700 wireproto: use decorator for the ubundle command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:43:30 -0700] rev 20923
wireproto: use decorator for the ubundle command
Fri, 28 Mar 2014 14:43:11 -0700 wireproto: use decorator for the stream command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:43:11 -0700] rev 20922
wireproto: use decorator for the stream command
Fri, 28 Mar 2014 14:42:55 -0700 wireproto: use decorator for the pushkey command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:42:55 -0700] rev 20921
wireproto: use decorator for the pushkey command
Fri, 28 Mar 2014 14:42:38 -0700 wireproto: use decorator for the lookup command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:42:38 -0700] rev 20920
wireproto: use decorator for the lookup command
Fri, 28 Mar 2014 14:42:21 -0700 wireproto: use decorator for the listkeys command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:42:21 -0700] rev 20919
wireproto: use decorator for the listkeys command
Fri, 28 Mar 2014 14:42:06 -0700 wireproto: use decorator for the known command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:42:06 -0700] rev 20918
wireproto: use decorator for the known command
Fri, 28 Mar 2014 14:40:44 -0700 wireproto: use decorator for the hello command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:40:44 -0700] rev 20917
wireproto: use decorator for the hello command
Fri, 28 Mar 2014 14:40:31 -0700 wireproto: use decorator for the heads command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:40:31 -0700] rev 20916
wireproto: use decorator for the heads command
Fri, 28 Mar 2014 14:40:07 -0700 wireproto: use decorator for the getbundle command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:40:07 -0700] rev 20915
wireproto: use decorator for the getbundle command
Fri, 28 Mar 2014 14:39:06 -0700 wireproto: use decorator for the debugwireargs command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:39:06 -0700] rev 20914
wireproto: use decorator for the debugwireargs command
Fri, 28 Mar 2014 14:38:40 -0700 wireproto: use decorator for the changegroupsubset command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:38:40 -0700] rev 20913
wireproto: use decorator for the changegroupsubset command
Fri, 28 Mar 2014 14:38:19 -0700 wireproto: use decorator for the changegroup command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:38:19 -0700] rev 20912
wireproto: use decorator for the changegroup command
Fri, 28 Mar 2014 14:37:28 -0700 wireproto: use decorator for the capabilities command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:37:28 -0700] rev 20911
wireproto: use decorator for the capabilities command
Fri, 28 Mar 2014 14:37:02 -0700 wireproto: use decorator for the branches command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:37:02 -0700] rev 20910
wireproto: use decorator for the branches command
Fri, 28 Mar 2014 14:36:41 -0700 wireproto: use decorator for the branchmap command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:36:41 -0700] rev 20909
wireproto: use decorator for the branchmap command
Fri, 28 Mar 2014 14:36:05 -0700 wireproto: use decorator for the between command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:36:05 -0700] rev 20908
wireproto: use decorator for the between command
Fri, 28 Mar 2014 14:35:36 -0700 wireproto: use decorator for the batch command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:35:36 -0700] rev 20907
wireproto: use decorator for the batch command
Fri, 28 Mar 2014 14:30:11 -0700 wireproto: add decorator for wire protocol command
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:30:11 -0700] rev 20906
wireproto: add decorator for wire protocol command Move move in the same direction we took for command line commands. each wire protocol function will be decorated with its name and arguments. Beside beside easier to read, this open the road to easily adding more metadata (like security level or return type)
Fri, 28 Mar 2014 14:24:13 -0700 wireproto: drop the _decompress method in favor a new call type
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 14:24:13 -0700] rev 20905
wireproto: drop the _decompress method in favor a new call type We already have multiple call function for multiple return type. The `_decompress` function is only used for http and seems like a layer violation. We drop it in favor of a new call type dedicated to "stream that may be useful to compress".
Fri, 28 Mar 2014 12:29:34 -0700 wireproto: document protocol specific function of wirepeer
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 12:29:34 -0700] rev 20904
wireproto: document protocol specific function of wirepeer Those function are explicitly declared and documented now.
Fri, 28 Mar 2014 11:10:33 -0700 wireproto: introduce an abstractserverproto class
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 11:10:33 -0700] rev 20903
wireproto: introduce an abstractserverproto class sshserver and webproto now inherit from an abstractserverproto class. This class is introduced for documentation purpose.
Fri, 28 Mar 2014 11:37:42 -0700 wireproto: document possible return type
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 28 Mar 2014 11:37:42 -0700] rev 20902
wireproto: document possible return type The wireprotocole command use a small set of class as return value. We document the meaning of each of them. AS my knowledge of wire protocol is fairly shallow, the documentation can probably use improvement. But this is a better than nothing.
Tue, 01 Apr 2014 18:56:19 -0700 pull: add a set of steps that remain to be done during the pull
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 18:56:19 -0700] rev 20901
pull: add a set of steps that remain to be done during the pull With bundle2 we'll slowly move current steps into a single bundle2 building and call (changegroup, phases, obsmarkers, bookmarks). But we need to keep the old methods around for servers that do not support bundle2. So we introduce this set of steps that remains to be done.
Tue, 01 Apr 2014 17:35:25 -0700 pull: put discovery step in its own function
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 17:35:25 -0700] rev 20900
pull: put discovery step in its own function The discovery is a full step that will grow to contain more than changesets. We set it in its own function like all other steps.
Tue, 01 Apr 2014 17:28:21 -0700 pull: move the cgresult logic in _pullchangeset
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 17:28:21 -0700] rev 20899
pull: move the cgresult logic in _pullchangeset Logical follow up of the previous changeset. The `_pullchangeset` is now responsible of setting the `pullop.cgresult`.
Tue, 01 Apr 2014 17:21:52 -0700 pull: move return code in the pull operation object
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 17:21:52 -0700] rev 20898
pull: move return code in the pull operation object With bundle2 we'll have multiple code path susceptible to be responsible for adding changeset during the pull. We move it to the pull operation to simplify this the coming logic. The one doing the adding the changegroup will set the value.
Tue, 25 Feb 2014 20:30:08 +0100 merge: use ancestor filename from planning phase instead of filectx ancestor
Mads Kiilerich <madski@unity3d.com> [Tue, 25 Feb 2014 20:30:08 +0100] rev 20897
merge: use ancestor filename from planning phase instead of filectx ancestor test-merge-types.t changes a bit in flag merging. It relied on the implementation detail that 100% identical revlog entries are reused. The revlog reuse did that fctx.ancestor() saw an ancestor where there really not was one.
Wed, 02 Apr 2014 00:01:21 -0700 tests: prevent test-hup from hanging forever if the transaction does not start
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 02 Apr 2014 00:01:21 -0700] rev 20896
tests: prevent test-hup from hanging forever if the transaction does not start If the transaction fails to start because of some programing errors, the test would stay stuck in this while loop forever. We now added a basic safeguard that abort the loop if nothing happen in 10 seconds. 10 seconds sounds enough to let the server catch up and open a transaction.
Mon, 31 Mar 2014 16:03:34 -0700 revset: improve roots revset performance
Durham Goode <durham@fb.com> [Mon, 31 Mar 2014 16:03:34 -0700] rev 20895
revset: improve roots revset performance Previously we would iterate over every item in the subset, checking if it was in the provided args. This often meant iterating over every rev in the repo. Now we iterate over the args provided, checking if they exist in the subset. On a large repo this brings setting phase boundaries (which use this revset roots(X:: - X::Y)) down from 0.8 seconds to 0.4 seconds. The "roots((tip~100::) - (tip~100::tip))" revset in revsetbenchmarks shows it going from 0.12s to 0.10s, so we should be able to catch regressions here in the future. This actually introduces a regression in 'roots(all())' (0.2s to 0.26s) since we're now using spansets, which are slightly slower to do containment checks on. I believe this trade off is worth it, since it makes the revset O(number of args) instead of O(size of repo).
Tue, 25 Mar 2014 14:10:01 -0700 revset: improve _descendants performance
Durham Goode <durham@fb.com> [Tue, 25 Mar 2014 14:10:01 -0700] rev 20894
revset: improve _descendants performance Previously revset._descendants would iterate over the entire subset (which is often the entire repo) and test if each rev was in the descendants list. This is really slow on large repos (3+ seconds). Now we iterate over the descendants and test if they're in the subset. This affects advancing and retracting the phase boundary (3.5 seconds down to 0.8 seconds, which is even faster than it was in 2.9). Also affects commands that move the phase boundary (commit and rebase, presumably). The new revsetbenchmark indicates an improvement from 0.2 to 0.12 seconds. So future revset changes should be able to notice regressions. I removed a bad test. It was recently added and tested '1:: and reverse(all())', which has an amibiguous output direction. Previously it printed in reverse order, because we iterated over the subset (the reverse part). Now it prints in normal order because we iterate over the 1:: . Since the revset itself doesn't imply an order, I removed the test.
Mon, 31 Mar 2014 16:29:39 -0700 revsetbenchmark: remove python 2.7 dependency
Durham Goode <durham@fb.com> [Mon, 31 Mar 2014 16:29:39 -0700] rev 20893
revsetbenchmark: remove python 2.7 dependency revsetbenchmark.py used check_output which only exists in python 2.7. This fixes it.
Mon, 24 Mar 2014 17:20:15 -0700 bundle2: read the whole bundle from stream on abort
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Mar 2014 17:20:15 -0700] rev 20892
bundle2: read the whole bundle from stream on abort When the bundle processing abort on unknown mandatory parts, we now makes sure all the bundle content is read. This avoid leaving the communication channel in an unrecoverable state.
Mon, 24 Mar 2014 13:02:02 -0700 bundle2: add some distinction between mandatory and advisory part
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Mar 2014 13:02:02 -0700] rev 20891
bundle2: add some distinction between mandatory and advisory part Mandatory part cannot be ignored when unknown. We raise a simple KeyError exception when this happen. This is very early version of this logic, see inline comment for future improvement lead.
Mon, 24 Mar 2014 15:51:00 -0700 bundle2: introduce a `parthandler` decorator
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Mar 2014 15:51:00 -0700] rev 20890
bundle2: introduce a `parthandler` decorator Simple syntax sugar to register an handler for a new part type.
Mon, 24 Mar 2014 12:25:33 -0700 bundle2: first version of a bundle processing
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Mar 2014 12:25:33 -0700] rev 20889
bundle2: first version of a bundle processing We now have a function that interpret part content. This is a version early version of this function. It'll see major changes in scope and API in future development. As for previous I'm just focussing on getting minimal logic setup. Refining will happen with real world usage.
Mon, 24 Mar 2014 11:27:00 -0700 bundle2: rename unbundle2 test command to statbundle2
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 24 Mar 2014 11:27:00 -0700] rev 20888
bundle2: rename unbundle2 test command to statbundle2 We will introduce object to actually process the bundle, we need to keep the simplistic unbundle around for the test.
Tue, 01 Apr 2014 00:08:15 -0700 bundle2: safely read unpack data from part header
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 01 Apr 2014 00:08:15 -0700] rev 20887
bundle2: safely read unpack data from part header We use the same approach that the other unpack, as function is given the struct format and his both responsible for reading the right amount of data from the header and unpack the struct. This give use flexibility if we decide to change the size of something in the format before the release.
Wed, 02 Apr 2014 13:41:23 -0500 transaction: drop extra import caught by pyflakes
Matt Mackall <mpm@selenic.com> [Wed, 02 Apr 2014 13:41:23 -0500] rev 20886
transaction: drop extra import caught by pyflakes
Mon, 24 Mar 2014 15:43:15 -0700 fncache: clean up fncache during strips
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:43:15 -0700] rev 20885
fncache: clean up fncache during strips Previously the fncache was cleaned up at read time by noticing when it was out of sync. This caused writes to happen outside the scope of transactions and could have caused race conditions. With this change, we'll keep the fncache up-to-date as we go by removing old entries during repair.strip.
Mon, 24 Mar 2014 15:35:07 -0700 caches: invalidate store caches when lock is taken
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:35:07 -0700] rev 20884
caches: invalidate store caches when lock is taken The fncache was not being properly invalidated each time the lock was taken, so in theory it could contain old data from prior to the caller having the lock. This changes it to be invalidated as soon as the lock is taken (same as all our other caches).
Mon, 24 Mar 2014 15:42:13 -0700 fncache: move fncache writing to be in a transaction
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:42:13 -0700] rev 20883
fncache: move fncache writing to be in a transaction Previously the fncache was written at lock.release time. This meant it was not tracked by a transaction, and if an error occurred during the fncache write it would fail to update the fncache, but would not rollback the transaction, resulting in an fncache that was not in sync with the files on disk (which causes verify to fail, and causes streaming clones to not copy all the revlogs). This uses the new transaction backup mechanism to make the fncache transacted. It also moves the fncache from being written at lock.release time, to being written at transaction.close time.
Mon, 24 Mar 2014 15:21:51 -0700 transaction: add support for non-append files
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:21:51 -0700] rev 20882
transaction: add support for non-append files This adds support for normal, non-append-only files in transactions. For example, .hg/store/fncache and .hg/store/phaseroots should be written as part of the transaction, but are not append only files. This adds a journal.backupfiles along side the normal journal. This tracks which files have been backed up as part of the transaction. transaction.addbackup() creates a backup of the file (using a hardlink), which is later used to recover in the event of the transaction failing. Using a seperate journal allows the repository to still be used by older versions of Mercurial. A future patch will use this functionality and add tests for it.
Mon, 24 Mar 2014 15:57:47 -0700 transaction: add onclose/onabort hook for pre-close logic
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:57:47 -0700] rev 20881
transaction: add onclose/onabort hook for pre-close logic Adds an optional onclose parameter to transactions that gets called just before the transaction is committed. This allows things that build up data over the course of the transaction (like the fncache) to commit their data. Also adds onabort. It's not used, but will allow extensions to hook into onclose and onabort to provide transaction support.
Mon, 24 Mar 2014 15:38:20 -0700 clone: put streaming clones in a transaction
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:38:20 -0700] rev 20880
clone: put streaming clones in a transaction Streaming clones were writing to files outside of a transaction. Soon the fncache will be written at transaction close time, so we need streaming clones to be in a transaction.
Mon, 24 Mar 2014 15:31:47 -0700 fncache: remove the rewriting logic
Durham Goode <durham@fb.com> [Mon, 24 Mar 2014 15:31:47 -0700] rev 20879
fncache: remove the rewriting logic The fncache could rewrite itself during a read operation if it noticed any entries that were no longer on disk. This was problematic because it caused Mercurial to perform write operations outside the scope of a lock or transaction, which could interefere with any other pending writes. This will be replaced in a future patch by logic that cleans up the fncache as files are deleted during strips.
Wed, 26 Mar 2014 15:55:32 -0700 pull: prevent duplicated entry in `op.pulledsubset`
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 26 Mar 2014 15:55:32 -0700] rev 20878
pull: prevent duplicated entry in `op.pulledsubset` In the bare pull case we could add the same node multiple time to the `pulloperation.pulledsubset`. Beside being a bit wrong this confused the new revset implementation of `revset._revancestor` into giving bad result. This changeset fix the pull operation part. The fix for the revset itself will come in another changeset.
Thu, 20 Mar 2014 01:24:45 -0700 bundle2: part params
Pierre-Yves David <pierre-yves.david@fb.com> [Thu, 20 Mar 2014 01:24:45 -0700] rev 20877
bundle2: part params
Wed, 19 Mar 2014 23:36:15 -0700 bundle2: support for bundling and unbundling payload
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 19 Mar 2014 23:36:15 -0700] rev 20876
bundle2: support for bundling and unbundling payload We add the ability to bundle and unbundle a payload in parts. The payload is the actual binary data of the part. It is used to convey all the applicative data. For now we stick to very simple implementation with all the data fit in single chunk. This open the door to some bundle2 testing usage. This will be improved before bundle2 get used for real. We need to be able to stream the payload in multiple part to exchange any changegroup efficiently. This simple version will do for now. Bundling and unbundling are done in the same changeset because the test for parts is less modular. However, the result is not too complex.
Tue, 01 Apr 2014 17:59:06 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Apr 2014 17:59:06 -0500] rev 20875
merge with stable
Tue, 01 Apr 2014 17:57:04 -0500 Added signature for changeset 3f83fc5cfe71 stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Apr 2014 17:57:04 -0500] rev 20874
Added signature for changeset 3f83fc5cfe71
Tue, 01 Apr 2014 17:56:55 -0500 Added tag 2.9.2 for changeset 3f83fc5cfe71 stable
Matt Mackall <mpm@selenic.com> [Tue, 01 Apr 2014 17:56:55 -0500] rev 20873
Added tag 2.9.2 for changeset 3f83fc5cfe71
Sat, 08 Mar 2014 18:52:16 +0900 backout: correct commit status of no changes made (BC) (issue4190) stable 2.9.2
Yuya Nishihara <yuya@tcha.org> [Sat, 08 Mar 2014 18:52:16 +0900] rev 20872
backout: correct commit status of no changes made (BC) (issue4190) If backout generated no changes to commit, it showed wrong status, "changeset <target> backs out changeset <target>", and raised TypeError with -v option. This changes the return code to 1, which is the same as "hg commit" and "hg rebase".
(0) -10000 -3000 -1000 -120 +120 +1000 +3000 +10000 +30000 tip