]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'ds/sparse-cone'
authorJunio C Hamano <gitster@pobox.com>
Wed, 25 Dec 2019 19:21:58 +0000 (11:21 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Dec 2019 19:21:58 +0000 (11:21 -0800)
Management of sparsely checked-out working tree has gained a
dedicated "sparse-checkout" command.

* ds/sparse-cone: (21 commits)
  sparse-checkout: improve OS ls compatibility
  sparse-checkout: respect core.ignoreCase in cone mode
  sparse-checkout: check for dirty status
  sparse-checkout: update working directory in-process for 'init'
  sparse-checkout: cone mode should not interact with .gitignore
  sparse-checkout: write using lockfile
  sparse-checkout: use in-process update for disable subcommand
  sparse-checkout: update working directory in-process
  sparse-checkout: sanitize for nested folders
  unpack-trees: add progress to clear_ce_flags()
  unpack-trees: hash less in cone mode
  sparse-checkout: init and set in cone mode
  sparse-checkout: use hashmaps for cone patterns
  sparse-checkout: add 'cone' mode
  trace2: add region in clear_ce_flags
  sparse-checkout: create 'disable' subcommand
  sparse-checkout: add '--stdin' option to set subcommand
  sparse-checkout: 'set' subcommand
  clone: add --sparse mode
  sparse-checkout: create 'init' subcommand
  ...

1  2 
Documentation/config/core.txt
Makefile
builtin/clone.c
cache.h
command-list.txt
dir.c
dir.h
environment.c
unpack-trees.c

Simple merge
diff --cc Makefile
Simple merge
diff --cc builtin/clone.c
Simple merge
diff --cc cache.h
Simple merge
Simple merge
diff --cc dir.c
Simple merge
diff --cc dir.h
index c575f941dc2fd4a8b4602d04da71dd5211f0cba4,77a43dbf89712f6b5063a17ac352f45aede5947b..5855c065a610b794b3777405bba6f343230b7ea2
--- 1/dir.h
--- 2/dir.h
+++ b/dir.h
@@@ -1,44 -1,12 +1,45 @@@
  #ifndef DIR_H
  #define DIR_H
  
 -/* See Documentation/technical/api-directory-listing.txt */
 -
  #include "cache.h"
+ #include "hashmap.h"
  #include "strbuf.h"
  
 +/**
 + * The directory listing API is used to enumerate paths in the work tree,
 + * optionally taking `.git/info/exclude` and `.gitignore` files per directory
 + * into account.
 + */
 +
 +/**
 + * Calling sequence
 + * ----------------
 + *
 + * Note: The index may be checked for .gitignore files that are
 + * CE_SKIP_WORKTREE marked. If you want to exclude files, make sure you have
 + * loaded the index first.
 + *
 + * - Prepare `struct dir_struct dir` and clear it with `memset(&dir, 0,
 + * sizeof(dir))`.
 + *
 + * - To add single exclude pattern, call `add_pattern_list()` and then
 + *   `add_pattern()`.
 + *
 + * - To add patterns from a file (e.g. `.git/info/exclude`), call
 + *   `add_patterns_from_file()` , and/or set `dir.exclude_per_dir`.  A
 + *   short-hand function `setup_standard_excludes()` can be used to set
 + *   up the standard set of exclude settings.
 + *
 + * - Set options described in the Data Structure section above.
 + *
 + * - Call `read_directory()`.
 + *
 + * - Use `dir.entries[]`.
 + *
 + * - Call `clear_directory()` when none of the contained elements are no longer in use.
 + *
 + */
 +
  struct dir_entry {
        unsigned int len;
        char name[FLEX_ARRAY]; /* more */
diff --cc environment.c
Simple merge
diff --cc unpack-trees.c
Simple merge