Skip to content
Snippets Groups Projects
  1. Dec 18, 2016
    • Gregory Szorc's avatar
      convert: config option for git rename limit · ea3540e6
      Gregory Szorc authored
      By default, Git applies rename and copy detection to 400 files. The
      diff.renamelimit config option and -l argument to diff commands can
      override this.
      
      As part of converting some repositories in the wild, I was hitting
      the default limit. Unfortunately, the warnings that Git prints in this
      scenario are swallowed because the process running functionality in
      common.py redirects stderr to /dev/null by default. This seems like
      a bug, but a bug for another day.
      
      This commit establishes a config option to send the rename limit
      through to `git diff-tree`. The added tests demonstrate a too-low
      rename limit doesn't result in copy metadata being recorded.
      ea3540e6
  2. Dec 21, 2016
  3. Dec 16, 2016
    • Jun Wu's avatar
      chgserver: override runcommand · 2bb8c53b
      Jun Wu authored
      Next patches will customize chgserver's runcommand. So let's override it.
      The docstring is temporarily missing and will be filled later.
      2bb8c53b
    • Jun Wu's avatar
      chgserver: store csystem separately · dfb19aed
      Jun Wu authored
      Previously, the "system" channel is inside the ui object. In the future, chg
      will let dispatch to create a new ui object from scratch, to maximize
      compatibility. And chgserver will use a "uisetup" like an extension to wrap
      ui.system. To be able to do that cleanly, the system channel needs to be
      accessed directly.
      dfb19aed
  4. Dec 18, 2016
  5. Dec 17, 2016
  6. Dec 21, 2016
  7. Dec 20, 2016
  8. Dec 19, 2016
    • Pierre-Yves David's avatar
      changegroup: simplify logic around enabling changegroup 03 · a001cd72
      Pierre-Yves David authored
      There was multiple spot that took care of adding '03' as supported changegroup
      version for different condition. We gather them all in one location for
      simplicity.
      
      The 'supportedincomingversions' function is now doing nothing, but I kept it
      around because it looks like a great hooking point for extension.
      
      (Note that we should probably just get changegroup3 out of experimental now, But
      that would be a patch with a much wider scope).
      a001cd72
    • Pierre-Yves David's avatar
      changegroup: pass 'repo' to allsupportedversions · 7ace5304
      Pierre-Yves David authored
      In the next changesets, we will introduce more logic directly related to the
      repository to decide what version have to be supported. So we now directly pass
      the repo object instead of just ui.
      7ace5304
    • Pierre-Yves David's avatar
      changegroup: simplify 'allsupportedversions' logic · 438532c9
      Pierre-Yves David authored
      Discarding '03' to add it back is a bit strange. Instead we only discard it when
      needed.
      438532c9
  9. Dec 17, 2016
  10. Dec 19, 2016
    • Jun Wu's avatar
      chg: remove locks · d7875bfb
      Jun Wu authored
      See the previous two patches for the reason. The advantage is a simplified
      code base and better throughput when starting multiple servers with multiple
      confighashes. The disadvantage is starting multiple servers in parallel with
      a single confighash will waste some CPU time, which is probably fine in
      common use-cases.
      
      This makes it easier to switch to relative paths to support long unix domain
      socket paths.
      d7875bfb
    • Jun Wu's avatar
      chg: start server at a unique address · 937c52f0
      Jun Wu authored
      See the previous patch for motivation. Previously, the server is started at
      a globally shared address. This patch appends pid to the address so it
      becomes unique.
      
      Note: with Linux pid namespace, the address may be non-unique, but it does
      not affect correctness of chg - chg client will receive an redirection and
      that's it.
      937c52f0
    • Jun Wu's avatar
      chgserver: truncate base address at "." for hash address · 88efb4fb
      Jun Wu authored
      Previously, the hash address is just appending "-$HASH" to base address.
      This patch makes it truncate the basename address at "." before appending
      "-$HASH".
      
      This makes it possible to spawn new servers in a racy situation and the
      client could be sure the server it connects is the new server just spawned.
      
      This is a step towards removing the lock.
      
      One of the functionalities of the lock is to make sure the connect will
      connect to a server it just created:
      
        1. start server --address foo
        2. connect to foo # wish "foo" is the server just started
      
      With this change, the client could do:
      
        1. start server --address foo.tmp$PID
        2. connect to foo.tmp$PID # is the server just started
           (note: if it is not, it does not affect correctness - linux pid
            namespace is not a concern here)
        3. rename foo.tmp$PID to foo
      
      Another functionality of the lock is to avoid starting multiple servers with
      a same confighash in parallel. But that also prevents starting multiple
      servers with different confighashes in parallel.
      88efb4fb
  11. Oct 23, 2016
  12. Dec 18, 2016
  13. Dec 17, 2016
  14. Dec 16, 2016
  15. Dec 12, 2016
  16. Oct 16, 2016
Loading