Skip to content
Snippets Groups Projects
  1. Jan 02, 2011
  2. Dec 25, 2010
  3. Dec 31, 2010
  4. Jan 02, 2011
  5. Dec 28, 2010
  6. Dec 21, 2010
  7. Dec 20, 2010
  8. Dec 30, 2010
  9. Dec 29, 2010
  10. Dec 27, 2010
    • Adrian Buehlmann's avatar
      windows.rename: eliminate temp name race (issue2571) · 650314ed
      Adrian Buehlmann authored
      On Windows, os.rename reliably raises OSError with errno.EEXIST if the
      destination already exists (even on shares served by Samba).
      
      Windows does *not* silently overwrite the destination of a rename.
      
      So there is no need to first call os.path.exists on the chosen temp path.
      
      Trusting os.path.exists is actually harmful, since using it enables the
      following racy sequence of actions:
      
       1) os.path.exists(temp) returns False
       2) some evil other process creates a file with name temp
       3) os.rename(dst, temp) now fails because temp has been taken
      
      Not using os.path.exists and directly trying os.rename(dst, temp)
      eliminates this race.
      650314ed
  11. Dec 13, 2010
    • Adrian Buehlmann's avatar
      checknlink: use two testfiles (issue2543) · 5b83ab61
      Adrian Buehlmann authored
      Preventing file loss repository corruption (e.g. vanished changelog.i) when
      Mercurial pushes to repositories on Windows shares served by Samba.
      
      This is a workaround for Samba bug 7863, which is present in current latest
      stable Samba 3.5.6 and various prior versions down to 3.0.26a (the oldest one
      I tested).
      
      Of course this should be fixed in Samba, but there probably aren't that many
      other applications who use hardlinks that extensively and keep files open like
      Mercurial, so the pressure to fix this on Samba is probably not that high. And
      even if the Samba project should be able to fix their bug within a month or
      two, it will take quite some time until users upgrade their Samba installs.
      5b83ab61
  12. Dec 20, 2010
  13. Dec 23, 2010
  14. Dec 27, 2010
  15. Dec 22, 2010
  16. Dec 20, 2010
  17. Dec 17, 2010
    • Adrian Buehlmann's avatar
      fncachestore: copy dh directory before the manifest · 4c1fbed0
      Adrian Buehlmann authored
      Before this patch, the copy order on clone was:
      
        requires
        00changelog.i
        store\data
        store\00manifest.d
        store\00manifest.i
        store\00changelog.d
        store\00changelog.i
        store\dh
        store\fncache
      
      Which provides a theoretical non-zero probability of a race during clone where
      a very early reader might see a repository with missing revlog files if it sees
      00changelog.i before all files inside dh have been copied.
      
      The dh directory is similar to the data directory -- just for files with long
      names (which are hashed). The manifest refers to files in data *and* dh, so dh
      should be copied before the manifest.
      
      This patch improves the copy order to:
      
        requires
        00changelog.i
        store\data
        store\dh
        store\fncache
        store\00manifest.d
        store\00manifest.i
        store\00changelog.d
        store\00changelog.i
      
      I'm putting fncache to before the manifest while I'm at it, since fncache
      provides a mechanism to enumerate all repository files without visiting the
      manifest revisions. fncache depends only on data and dh.
      
      Note that data must be copied first, since copying data triggers the creation
      of the repository write lock in the destination repo (see hg.clone).
      4c1fbed0
  18. Dec 20, 2010
  19. Dec 10, 2010
  20. Dec 04, 2010
  21. Dec 18, 2010
    • kiilerix's avatar
      https: warn when server certificate isn't verified · 2fa2e644
      kiilerix authored
      Mercurial will verify HTTPS server certificates if web.cacerts is configured,
      but it will by default silently not verify any certificates.
      
      We now warn the user that when the certificate isn't verified she won't get the
      security she might expect from https:
        warning: localhost certificate not verified (check web.cacerts config setting)
      
      Self-signed certificates can be accepted silently by configuring web.cacerts to
      point to a suitable certificate file.
      2fa2e644
  22. Dec 07, 2010
    • Kevin Bullock's avatar
      tag: abort if not at a branch head (issue2552) · 1c1ca9d3
      Kevin Bullock authored
      Since it's usually only desirable to make tag commits on top of branch
      heads, abort if the working dir parent is not a branch head. -f/--force
      may be passed to commit at a non-head anyway.
      
      Does not abort if working dir parent is a named branch head but not a
      topological head.
      1c1ca9d3
    • Kevin Bullock's avatar
      tag: fix uncommitted merge check and error message (issue2542) · ea3c93b5
      Kevin Bullock authored
      This patch corrects the check for tagging on an uncommitted merge. We
      should never commit a new tag changeset on an uncommitted merge, whether
      or not --rev is specified. It also changes the error message from:
      
        abort: cannot partially commit a merge (do not specify files or patterns)
      
      to the much more accurate (and terse):
      
        abort: uncommitted merge
      
      Local tags are ok.
      ea3c93b5
  23. Dec 14, 2010
  24. Dec 13, 2010
  25. Nov 22, 2010
  26. Dec 13, 2010
  27. Dec 11, 2010
  28. Dec 07, 2010
  29. Dec 11, 2010
  30. Dec 10, 2010
  31. Dec 07, 2010
    • Brodie Rao's avatar
      bookmarks: create undo.bookmarks using repo.opener instead of util.copyfile · 6e79a3bb
      Brodie Rao authored
      This more closely matches how the other undo files are created, and we
      don't care about settings permissions or times on the file, which can
      fail if the user running hg doesn't own the file.
      6e79a3bb
    • Brodie Rao's avatar
      archival: don't set gzip filename header when there's no filename · 2956945c
      Brodie Rao authored
      This mainly affects hgweb, which can generate tar.gz archives without
      filenames. Without this change, the header would be set to ".gz",
      which can confuse Safari into extracting the file and renaming it to
      "gz" when "Open 'safe' files after downloading" is enabled.
      
      file(1) before:
      
      hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, was ".gz", last modified: Thu Dec  2 11:46:20 2010, max compression
      
      after:
      
      hg-crew-5e51254ad4d4.tar.gz: gzip compressed data, last modified: Thu Dec  2 11:46:20 2010, max compression
      2956945c
  32. Dec 03, 2010
    • Patrick Mezard's avatar
      patch: write .rej files without rewriting EOLs · 66d7a125
      Patrick Mezard authored
      Do not pass reject file content to patchfile.writelines() to:
      - Avoid line endings transformations
      - Avoid polluting overriding implementations with unrelated data. They should
        override write_rej() to deal or ignore reject files properly.
      
      Bug report, analysis and original patch and test by
      Shun-ichi GOTO <shunichi.goto@gmail.com>
      66d7a125
  33. Dec 02, 2010
Loading