[GSoC][PATCH v5 0/7] clone: dir-iterator refactoring with tests

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patchset contains:
- a replacement of explicit recursive dir iteration at
  copy_or_link_directory for the dir-iterator API;
- some refactoring and behaviour changes at local clone, mainly to
  take care of symlinks and hidden files at .git/objects; and
- tests for this type of files

Changes since v4:
- Improved and fixed errors at messages from patches 1, 3, 5, 6 and 7.
- At first patch:
  - Simplified construction, changing a multi-line cat for an echo.
  - Removed unnecessary subshells.
  - Disabled gc.auto, just to make sure we don't get any undesired
    behaviour for this test
  - Removed the first section of a sed command ("s!/..\$!/X!;")
    that converts SHA-1s to fixed strings. No SHA-1 seemed to
    be changed by this section and neither it seemed to be used
    after the command.
- At second patch, removed linkat() usage, which is  POSIX.1-2008
  and may not be supported in all platforms git is being built.
  Now the same effect is achieved using real_pathdup() + link().

v4: https://public-inbox.org/git/20190322232237.13293-1-matheus.bernardino@xxxxxx/

Matheus Tavares (6):
  clone: better handle symlinked files at .git/objects/
  dir-iterator: add flags parameter to dir_iterator_begin
  clone: copy hidden paths at local clone
  clone: extract function from copy_or_link_directory
  clone: use dir-iterator to avoid explicit dir traversal
  clone: replace strcmp by fspathcmp

Ævar Arnfjörð Bjarmason (1):
  clone: test for our behavior on odd objects/* content

 builtin/clone.c            |  75 ++++++++++++---------
 dir-iterator.c             |  28 +++++++-
 dir-iterator.h             |  39 +++++++++--
 refs/files-backend.c       |   2 +-
 t/t5604-clone-reference.sh | 133 +++++++++++++++++++++++++++++++++++++
 5 files changed, 235 insertions(+), 42 deletions(-)

-- 
2.20.1




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux