Skip to content

Commit 624cd4d

Browse files
committed
Merge pull request #10 from t-b/mergeing-rebase-to-v2.1.2
Merging rebase to v2.1.2
2 parents a7f17aa + 5022dd1 commit 624cd4d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1647
-234
lines changed

Documentation/config.txt

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,12 @@ See linkgit:git-update-index[1].
225225
+
226226
The default is true (when core.filemode is not specified in the config file).
227227

228+
core.hideDotFiles::
229+
(Windows-only) If true (which is the default), mark newly-created
230+
directories and files whose name starts with a dot as hidden.
231+
If 'dotGitOnly', only the .git/ directory is hidden, but no other
232+
files starting with a dot.
233+
228234
core.ignorecase::
229235
If true, this option enables various workarounds to enable
230236
Git to work better on filesystems that are not case sensitive,
@@ -655,6 +661,19 @@ relatively high IO latencies. When enabled, Git will do the
655661
index comparison to the filesystem data in parallel, allowing
656662
overlapping IO's. Defaults to true.
657663

664+
core.fscache::
665+
Enable additional caching of file system data for some operations.
666+
+
667+
Git for Windows uses this to bulk-read and cache lstat data of entire
668+
directories (instead of doing lstat file by file).
669+
670+
core.longpaths::
671+
Enable long path (> 260) support for builtin commands in Git for
672+
Windows. This is disabled by default, as long paths are not supported
673+
by Windows Explorer, cmd.exe and the Git for Windows tool chain
674+
(msys, bash, tcl, perl...). Only enable this if you know what you're
675+
doing and are prepared to live with a few quirks.
676+
658677
core.createObject::
659678
You can set this to 'link', in which case a hardlink followed by
660679
a delete of the source are used to make sure that object creation
@@ -806,6 +825,7 @@ branch.<name>.rebase::
806825
instead of merging the default branch from the default remote when
807826
"git pull" is run. See "pull.rebase" for doing this in a non
808827
branch-specific manner.
828+
When the value is `interactive`, the rebase is run in interactive mode.
809829
+
810830
When preserve, also pass `--preserve-merges` along to 'git rebase'
811831
so that locally committed merge commits will not be flattened
@@ -2543,3 +2563,9 @@ web.browser::
25432563
Specify a web browser that may be used by some commands.
25442564
Currently only linkgit:git-instaweb[1] and linkgit:git-help[1]
25452565
may use it.
2566+
2567+
sendpack.sideband::
2568+
Allows to disable the side-band-64k capability for send-pack even
2569+
when it is advertised by the server. Makes it possible to work
2570+
around a limitation in the git for windows implementation together
2571+
with the dump git protocol. Defaults to true.

Documentation/git-pull.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ Options related to merging
104104
include::merge-options.txt[]
105105

106106
-r::
107-
--rebase[=false|true|preserve]::
107+
--rebase[=false|true|preserve|interactive]::
108108
When true, rebase the current branch on top of the upstream
109109
branch after fetching. If there is a remote-tracking branch
110110
corresponding to the upstream branch and the upstream branch
@@ -117,6 +117,8 @@ locally created merge commits will not be flattened.
117117
+
118118
When false, merge the current branch into the upstream branch.
119119
+
120+
When `interactive`, enable the interactive mode of rebase.
121+
+
120122
See `pull.rebase`, `branch.<name>.rebase` and `branch.autosetuprebase` in
121123
linkgit:git-config[1] if you want to make `git pull` always use
122124
`--rebase` instead of merging.

Makefile

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,14 +1035,11 @@ else
10351035
REMOTE_CURL_NAMES = $(REMOTE_CURL_PRIMARY) $(REMOTE_CURL_ALIASES)
10361036
PROGRAM_OBJS += http-fetch.o
10371037
PROGRAMS += $(REMOTE_CURL_NAMES)
1038-
curl_check := $(shell (echo 070908; curl-config --vernum) 2>/dev/null | sort -r | sed -ne 2p)
1039-
ifeq "$(curl_check)" "070908"
1038+
ifndef NO_CURL_MULTI
10401039
ifndef NO_EXPAT
10411040
PROGRAM_OBJS += http-push.o
10421041
endif
1043-
endif
1044-
curl_check := $(shell (echo 072200; curl-config --vernum) 2>/dev/null | sort -r | sed -ne 2p)
1045-
ifeq "$(curl_check)" "072200"
1042+
# Assume that cURL is new enough
10461043
USE_CURL_FOR_IMAP_SEND = YesPlease
10471044
endif
10481045
ifdef USE_CURL_FOR_IMAP_SEND

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Git for Windows
2+
3+
This is the source code of [Git for Windows](http://msysgit.github.io/),
4+
forked from [Git](http://git-scm.com/).
5+
6+
If you encounter problems, you can report them as [GitHub issues](https://github.com/msysgit/git/issues?direction=desc&sort=updated&state=open), discuss them on Git for Windows' [Google Group](http://groups.google.com/group/msysgit), and encourage others to work on by tipping via [![tip for next commit](http://tip4commit.com/projects/295.svg)](http://tip4commit.com/projects/295).

builtin/clone.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,9 @@ int cmd_clone(int argc, const char **argv, const char *prefix)
961961
}
962962

963963
if (!is_local && !complete_refs_before_fetch)
964-
transport_fetch_refs(transport, mapped_refs);
964+
if (transport_fetch_refs(transport, mapped_refs))
965+
die(_("could not fetch refs from %s"),
966+
transport->url);
965967

966968
remote_head = find_ref_by_name(refs, "HEAD");
967969
remote_head_points_at =

builtin/commit.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,6 +1366,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
13661366
PATHSPEC_PREFER_FULL,
13671367
prefix, argv);
13681368

1369+
enable_fscache(1);
13691370
read_cache_preload(&s.pathspec);
13701371
refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, &s.pathspec, NULL, NULL);
13711372

builtin/fast-export.c

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -846,9 +846,20 @@ static void get_tags_and_duplicates(struct rev_cmdline_info *info)
846846
}
847847
}
848848

849+
static void handle_reset(const char *name, struct object *object)
850+
{
851+
int mark = get_object_mark(object);
852+
853+
if (mark)
854+
printf("reset %s\nfrom :%d\n\n", name,
855+
get_object_mark(object));
856+
else
857+
printf("reset %s\nfrom %s\n\n", name,
858+
sha1_to_hex(object->sha1));
859+
}
860+
849861
static void handle_tags_and_duplicates(void)
850862
{
851-
struct commit *commit;
852863
int i;
853864

854865
for (i = extra_refs.nr - 1; i >= 0; i--) {
@@ -862,9 +873,7 @@ static void handle_tags_and_duplicates(void)
862873
if (anonymize)
863874
name = anonymize_refname(name);
864875
/* create refs pointing to already seen commits */
865-
commit = (struct commit *)object;
866-
printf("reset %s\nfrom :%d\n\n", name,
867-
get_object_mark(&commit->object));
876+
handle_reset(name, object);
868877
show_progress();
869878
break;
870879
}

builtin/init-db.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@ int init_db(const char *template_dir, unsigned int flags)
393393
check_repository_format();
394394

395395
reinit = create_default_files(template_dir);
396+
mark_as_git_dir(get_git_dir());
396397

397398
create_object_directory();
398399

builtin/remote.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ static int add(int argc, const char **argv)
245245
struct branch_info {
246246
char *remote_name;
247247
struct string_list merge;
248-
int rebase;
248+
enum { NO_REBASE, NORMAL_REBASE, INTERACTIVE_REBASE } rebase;
249249
};
250250

251251
static struct string_list branch_list;
@@ -306,6 +306,8 @@ static int config_read_branches(const char *key, const char *value, void *cb)
306306
info->rebase = v;
307307
else if (!strcmp(value, "preserve"))
308308
info->rebase = 1;
309+
else if (!strcmp(value, "interactive"))
310+
info->rebase = INTERACTIVE_REBASE;
309311
}
310312
}
311313
return 0;
@@ -1000,7 +1002,9 @@ static int show_local_info_item(struct string_list_item *item, void *cb_data)
10001002

10011003
printf(" %-*s ", show_info->width, item->string);
10021004
if (branch_info->rebase) {
1003-
printf_ln(_("rebases onto remote %s"), merge->items[0].string);
1005+
printf_ln(_(branch_info->rebase == INTERACTIVE_REBASE ?
1006+
"rebases interactively onto remote %s" :
1007+
"rebases onto remote %s"), merge->items[0].string);
10041008
return 0;
10051009
} else if (show_info->any_rebase) {
10061010
printf_ln(_(" merges with remote %s"), merge->items[0].string);

cache.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,17 @@ extern int protect_ntfs;
620620
extern char comment_line_char;
621621
extern int auto_comment_line_char;
622622

623+
enum hide_dotfiles_type {
624+
HIDE_DOTFILES_FALSE = 0,
625+
HIDE_DOTFILES_TRUE,
626+
HIDE_DOTFILES_DOTGITONLY,
627+
};
628+
extern enum hide_dotfiles_type hide_dotfiles;
629+
630+
extern int core_fscache;
631+
632+
extern int core_long_paths;
633+
623634
enum branch_track {
624635
BRANCH_TRACK_UNSPECIFIED = -1,
625636
BRANCH_TRACK_NEVER = 0,

0 commit comments

Comments
 (0)