- Dec 11, 2015
-
-
Augie Fackler authored
I'm not entirely happy with using a trailing / on a "file" entry for transferring a treemanifest. We've discussed putting some flags on each file header[0], but I'm unconvinced that's actually any better: if we were going to add another feature to the cg format we'd still be doing a version bump anyway to cg4, so I'm inclined to not spend time coming up with a more sophisticated format until we actually know what the next feature we want to stuff in a changegroup will be. Test changes outside test-treemanifest.t are only due to the new CG3 bundlecap showing up in the wire protocol. Many thanks to adgar@google.com and martinvonz@google.com for helping me with various odd corners of the changegroup and treemanifest API. 0: It's not hard refactoring, nor is it a lot of work. I'm just disinclined to do speculative work when it's not clear what the customer would actually be.
-
- Dec 18, 2015
-
-
Matt Mackall authored
-
Gregory Szorc authored
Revlogs were recently refactored to open file handles in "a+" and use a persistent file handle for reading and writing. This drastically reduced the number of file handles being opened. Unfortunately, it appears that some versions of Solaris lose the file offset when performing a write after the handle has been seeked. The simplest workaround is to seek to EOF on files opened in a+ mode before writing to them, which is what this patch does. Ideally, this code would exist in the vfs layer. However, this would require creating a proxy class for file objects in order to provide a custom implementation of write(). This would add overhead. Since revlogs are the only files we open in a+ mode, the one-off workaround in revlog.py should be sufficient. This patch appears to have little to no impact on performance on my Linux machine.
-
- Dec 15, 2015
-
-
Augie Fackler authored
This means that the diff code does less work, potentially significantly less in the case of treemanifests. It also should ease implementation with narrowed clone cases (such as narrowhg) when we don't always have the entire set of treemanifest revlogs locally. As far as I can tell, this codepath is currently only used by record, so it'll probably die in the near future, and then narrowhg won't have to worry about composing with some unknown matching system.
-
- Dec 17, 2015
-
-
timeless authored
We're not necessarily talking about *the* active branch, just any old branch.
-
timeless authored
-
timeless authored
-
timeless authored
-
timeless authored
-
timeless authored
-
timeless authored
Before it complained about --base
-
timeless authored
-
timeless authored
The file might not be compressed; the interactions between -a, --base, and a named or default repository weren't clear.
-
- Dec 13, 2015
-
-
Yuya Nishihara authored
It made output order unpredictable because two separate buffers are flushed individually. Let's use a thin wrapper that just sends close() to black hole.
-
Yuya Nishihara authored
There's no need to dynamically create wrappedfileobj class and define close() as lambda. Also, __iter__() was missing.
-
Yuya Nishihara authored
It was introduced at 31aa2e5b0750, where "template" argument could be a file object. After that, a306837f8c87 added "len(template)", so "template" must be a string now. Therefore, "fp != template" should always be True. It seems 31aa2e5b0750 was intended to work around a bug in TortoiseHg, and I'm sure I've fixed it completely in TortoiseHg source. https://selenic.com/pipermail/mercurial-devel/2011-February/028467.html
-
Yuya Nishihara authored
Because makefileobj() duplicates or wraps stdout, "fp != sys.stdout" didn't work correctly. Python doc states that special file objects are named in the form '<...>', and absolute filenames should never start with '<', we can ignore names start with '<'. We can't test fp.fileno() because fp may be a command-server channel. https://docs.python.org/2.7/library/stdtypes.html#file.name In the test output, "exporting patch:" line is printed after patch content. This is caused by fdopen() and will be fixed by the subsequent patch.
-
Yuya Nishihara authored
Because unknown attributes are delegated to the underlying file object, commandserver channels said they were '<stdout>' or '<stdin>' even though they weren't. This patch makes them say '<X-channel>'.
-
- Dec 15, 2015
-
-
Mateusz Kwapich authored
The default behaviour to forbid this makes a lot of sense for novice users because it's safeguarding them from dangerous behavior but making it configurable will be apprieciated by power users in at least one big organization. It allows an user to look an histedit rules from declarative perspective and make the rules reflect the state after histedit. If we can move lines t move commits why can't we drop lines to drop commits? Let's put this behind config knob and inform users about this feature the very moment they are trying to use it so they can choose desired behaviour.
-
- Dec 16, 2015
-
-
Mathias De Maré authored
-
- Dec 17, 2015
-
-
timeless authored
-
timeless authored
Always try to give diff context when doing an interactive record
-
Bryan O'Sullivan authored
Suggested by Yuya.
-
Thu Trang Pham authored
-
Matt Mackall authored
-
- Dec 14, 2015
-
-
timeless authored
specifically: 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
timeless authored
specifically: 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
timeless authored
specifically: 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
timeless authored
if called with quietempty=True, suppress: 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
timeless authored
specifically: 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
timeless authored
if called with quietempty=True, suppress: 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
- Dec 17, 2015
-
-
Mateusz Kwapich authored
The diff output without binaries is definitely great for interactive users - a binary patch is not meaningful for them. Although setting diff.nobinary flag can break the automation. Let's force full output for automation.
-
Yuya Nishihara authored
Caught by test-gendoc.t.
-
Matt Mackall authored
Rather than sleep for 2 seconds, we sleep until the next even-numbered second, which has the same effect, but makes tests faster. This removes test-largefiles-update as the long pole of the test suite.
-
Matt Mackall authored
This avoids a significant amount of sleeping in some of our longest tests.
-
Matt Mackall authored
This will allow us to be smarter in upcoming patches.
-
- Dec 07, 2015
-
-
Matt Mackall authored
This gives one line of output per second with one column per -j level that allows analyzing test scheduling problems. First 24 seconds of output at -j 30 looks like this: 0 . 1 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = s. 2 c c o c r l g r s s = c p = c h c a h c g c h c b c c l l c ss 3 h o b o e a e u u u c o a h o e o c g o l h g h u o = a o = s 4 e n s n b r n n b b m t g n l n l w n o e w e n n e r g i . 5 c t o = a g d - r r = m c w v p v . e v g c e c d v x g . m 6 k r l r s e o t e e b a h e e . e . b e . k b k l e t e . p 7 - i e e e f c e p p u n b b r . r . - r . - - - e r e f . o . 8 p b t v - i . s o o n d o d t . t . c t . c s = 2 t n i . r 9 y - e s c l . t - . d - m i - . - . o - . o y r - - s l . t 10 3 p - e h e . s s . l t b r s . s . m s . d m e f s i e . . 11 - e c t e s . . v . e e . . v . v . m v . e r n o v o s . . 12 c r h . c - . . n . 2 m . . n . n . a n . . e a r n n . . . 13 o f e . k u . . . . - p . . - . - . n - . . v m m - . . . . 14 m . c . - p . . . . e l . . s . m . d s . . . e a e . . . . 15 p . k . r d . . . . x a . . i . o . s o . . . - t n . . . . 16 a . h . e a . . . . c t . . n . v . . u . . . m . c . . . . 17 t . e . s t . . . . h e . . k . e . . r . . . e . o . . . . 18 . . a . t e . . . . a . . . . . . . . c . . . r . d . . . . 19 . . d . o . . . . . n . . . . . . . . e . . . g . i . . . . 20 . . s . r . . . . . g . . . . . . . . . . . . e . n . . . . 21 . . . . e . . . . . e . . . . . . . . . . . . 2 . g . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . = . . . . ^C Test names read off vertically, beginning with '='. Idle time (not shown) appears as blank space.
-
- Dec 06, 2015
-
-
Matt Mackall authored
At several seconds each, this is significantly slowing down the test.
-
- Dec 04, 2015
-
-
Matt Mackall authored
The scheduler would like to order test execution by expected run-time, but doesn't know much about how long a test will run. It thus uses test size as a proxy for run-time. By tweaking these weights we can keep CPUs more evenly busy and thus finish sooner. In particular, this change pushes the three currently longest-running tests closer to the beginning: test-largefiles-update.t test-run-tests.t test-gendoc.t As the largefiles test is currently the long pole of the test suite with higher -j factors, the sooner it's started, the sooner the tests can end. We also up the weight on some shorter but long-running tests that could have previously delayed completion with low -j factors by running very close to the end.
-
Matt Mackall authored
Rather than report timed-out tests like this: ERROR: test-convert-svn-sink.t output changed ! ..simply put a 't' rather than a '.' in the stream.
-