Revision 8fa0ee3b50736eb869a3e13375bb041c1bf5aa12 authored by Shawn O. Pearce on 22 August 2007, 05:33:49 UTC, committed by Junio C Hamano on 22 August 2007, 22:18:13 UTC
If core.bare is set to true in the config file of a repository that the user is trying to create a working directory from we should abort and suggest to the user that they remove the option first. If we leave the core.bare=true setting in the config file then working tree operations will get confused when they attempt to execute in the new workdir, as it shares its config file with the bare repository. The working tree operations will assume that the workdir is bare and abort, which is not what the user wants. If we changed core.bare to be false then working tree operations will function in the workdir but other operations may fail in the bare repository, as it claims to not be bare. If we remove core.bare from the config then Git can fallback on the legacy guessing behavior. This allows operations in the bare repository to work as though it were bare, while operations in the workdirs to act as though they are not bare. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent e301bfe
tree.h
#ifndef TREE_H
#define TREE_H
#include "object.h"
extern const char *tree_type;
struct tree {
struct object object;
void *buffer;
unsigned long size;
};
struct tree *lookup_tree(const unsigned char *sha1);
int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size);
int parse_tree(struct tree *tree);
/* Parses and returns the tree in the given ent, chasing tags and commits. */
struct tree *parse_tree_indirect(const unsigned char *sha1);
#define READ_TREE_RECURSIVE 1
typedef int (*read_tree_fn_t)(const unsigned char *, const char *, int, const char *, unsigned int, int);
extern int read_tree_recursive(struct tree *tree,
const char *base, int baselen,
int stage, const char **match,
read_tree_fn_t fn);
extern int read_tree(struct tree *tree, int stage, const char **paths);
#endif /* TREE_H */
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...