Skip to content
This repository was archived by the owner on Nov 9, 2017. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: msysgit/git
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: dscho/git
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Loading
Showing 4,157 changed files with 1,093,966 additions and 251,212 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
22 changes: 22 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
env:
CIRRUS_CLONE_DEPTH: 1

freebsd_task:
env:
GIT_PROVE_OPTS: "--timer --jobs 10"
GIT_TEST_OPTS: "--no-chain-lint --no-bin-wrappers"
MAKEFLAGS: "-j4"
DEFAULT_TEST_TARGET: prove
DEVELOPER: 1
freebsd_instance:
image_family: freebsd-13-4
memory: 2G
install_script:
pkg install -y gettext gmake perl5
create_user_script:
- pw useradd git
- chown -R git:git .
build_script:
- su git -c gmake
test_script:
- su git -c 'gmake DEFAULT_UNIT_TEST_TARGET=unit-tests-prove test unit-tests'
225 changes: 225 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
# This file is an example configuration for clang-format 5.0.
#
# Note that this style definition should only be understood as a hint
# for writing new code. The rules are still work-in-progress and does
# not yet exactly match the style we have in the existing code.

# Use tabs whenever we need to fill whitespace that spans at least from one tab
# stop to the next one.
#
# These settings are mirrored in .editorconfig. Keep them in sync.
UseTab: Always
TabWidth: 8
IndentWidth: 8
ContinuationIndentWidth: 8
ColumnLimit: 80

# C Language specifics
Language: Cpp

# Align parameters on the open bracket
# someLongFunction(argument1,
# argument2);
AlignAfterOpenBracket: Align

# Don't align consecutive assignments
# int aaaa = 12;
# int b = 14;
AlignConsecutiveAssignments: false

# Don't align consecutive declarations
# int aaaa = 12;
# double b = 3.14;
AlignConsecutiveDeclarations: false

# Align consecutive macro definitions.
AlignConsecutiveMacros: true

# Align escaped newlines as far left as possible
# #define A \
# int aaaa; \
# int b; \
# int cccccccc;
AlignEscapedNewlines: Left

# Align operands of binary and ternary expressions
# int aaa = bbbbbbbbbbb +
# cccccc;
AlignOperands: true

# Don't align trailing comments
# int a; // Comment a
# int b = 2; // Comment b
AlignTrailingComments: false

# By default don't allow putting parameters onto the next line
# myFunction(foo, bar, baz);
AllowAllParametersOfDeclarationOnNextLine: false

# Don't allow short braced statements to be on a single line
# if (a) not if (a) return;
# return;
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false

# By default don't add a line break after the return type of top-level functions
# int foo();
AlwaysBreakAfterReturnType: None

# Pack as many parameters or arguments onto the same line as possible
# int myFunction(int aaaaaaaaaaaa, int bbbbbbbb,
# int cccc);
BinPackArguments: true
BinPackParameters: true

# Add no space around the bit field
# unsigned bf:2;
BitFieldColonSpacing: None

# Attach braces to surrounding context except break before braces on function
# definitions.
# void foo()
# {
# if (true) {
# } else {
# }
# };
BreakBeforeBraces: Linux

# Break after operators
# int value = aaaaaaaaaaaaa +
# bbbbbb -
# ccccccccccc;
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: false

# Don't break string literals
BreakStringLiterals: false

# Use the same indentation level as for the switch statement.
# Switch statement body is always indented one level more than case labels.
IndentCaseLabels: false

# Indents directives before the hash. Each level uses a single space for
# indentation.
# #if FOO
# # include <foo>
# #endif
IndentPPDirectives: AfterHash
PPIndentWidth: 1

# Don't indent a function definition or declaration if it is wrapped after the
# type
IndentWrappedFunctionNames: false

# Align pointer to the right
# int *a;
PointerAlignment: Right

# Don't insert a space after a cast
# x = (int32)y; not x = (int32) y;
SpaceAfterCStyleCast: false

# No space is inserted after the logical not operator
SpaceAfterLogicalNot: false

# Insert spaces before and after assignment operators
# int a = 5; not int a=5;
# a += 42; a+=42;
SpaceBeforeAssignmentOperators: true

# Spaces will be removed before case colon.
# case 1: break; not case 1 : break;
SpaceBeforeCaseColon: false

# Put a space before opening parentheses only after control statement keywords.
# void f() {
# if (true) {
# f();
# }
# }
SpaceBeforeParens: ControlStatements

# Don't insert spaces inside empty '()'
SpaceInEmptyParentheses: false

# No space before first '[' in arrays
# int a[5][5]; not int a [5][5];
SpaceBeforeSquareBrackets: false

# No space will be inserted into {}
# while (true) {} not while (true) { }
SpaceInEmptyBlock: false

# The number of spaces before trailing line comments (// - comments).
# This does not affect trailing block comments (/* - comments).
SpacesBeforeTrailingComments: 1

# Don't insert spaces in casts
# x = (int32) y; not x = ( int32 ) y;
SpacesInCStyleCastParentheses: false

# Don't insert spaces inside container literals
# var arr = [1, 2, 3]; not var arr = [ 1, 2, 3 ];
SpacesInContainerLiterals: false

# Don't insert spaces after '(' or before ')'
# f(arg); not f( arg );
SpacesInParentheses: false

# Don't insert spaces after '[' or before ']'
# int a[5]; not int a[ 5 ];
SpacesInSquareBrackets: false

# Insert a space after '{' and before '}' in struct initializers
Cpp11BracedListStyle: false

# A list of macros that should be interpreted as foreach loops instead of as
# function calls. Taken from:
# git grep -h '^#define [^[:space:]]*for_\?each[^[:space:]]*(' |
# sed "s/^#define / - '/; s/(.*$/'/" | sort | uniq
ForEachMacros:
- 'for_each_builtin'
- 'for_each_string_list_item'
- 'for_each_ut'
- 'for_each_wanted_builtin'
- 'hashmap_for_each_entry'
- 'hashmap_for_each_entry_from'
- 'kh_foreach'
- 'kh_foreach_value'
- 'list_for_each'
- 'list_for_each_dir'
- 'list_for_each_prev'
- 'list_for_each_prev_safe'
- 'list_for_each_safe'
- 'strintmap_for_each_entry'
- 'strmap_for_each_entry'
- 'strset_for_each_entry'

# A list of macros that should be interpreted as conditionals instead of as
# function calls.
IfMacros:
- 'if_test'

# The maximum number of consecutive empty lines to keep.
MaxEmptyLinesToKeep: 1

# No empty line at the start of a block.
KeepEmptyLinesAtTheStartOfBlocks: false

# Penalties
# This decides what order things should be done if a line is too long
PenaltyBreakAssignment: 5
PenaltyBreakBeforeFirstCallParameter: 5
PenaltyBreakComment: 5
PenaltyBreakFirstLessLess: 0
PenaltyBreakOpenParenthesis: 300
PenaltyBreakString: 5
PenaltyExcessCharacter: 10
PenaltyReturnTypeOnItsOwnLine: 300

# Don't sort #include's
SortIncludes: false
16 changes: 16 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
[*]
charset = utf-8
insert_final_newline = true

# The settings for C (*.c and *.h) files are mirrored in .clang-format. Keep
# them in sync.
[{*.{c,h,sh,perl,pl,pm,txt},config.mak.*,Makefile}]
indent_style = tab
tab_width = 8

[*.py]
indent_style = space
indent_size = 4

[COMMIT_EDITMSG]
max_line_length = 72
20 changes: 18 additions & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
* whitespace=!indent,trail,space
*.[ch] whitespace=indent,trail,space
*.sh whitespace=indent,trail,space
*.[ch] whitespace=indent,trail,space diff=cpp
*.sh whitespace=indent,trail,space text eol=lf
*.perl text eol=lf diff=perl
*.pl text eof=lf diff=perl
*.pm text eol=lf diff=perl
*.py text eol=lf diff=python
*.bat text eol=crlf
*.png binary
CODE_OF_CONDUCT.md -whitespace
/Documentation/**/*.txt text eol=lf
/command-list.txt text eol=lf
/GIT-VERSION-GEN text eol=lf
/mergetools/* text eol=lf
/t/oid-info/* text eol=lf
/Documentation/git-merge.txt conflict-marker-size=32
/Documentation/gitk.txt conflict-marker-size=32
/Documentation/user-manual.txt conflict-marker-size=32
/t/t????-*.sh conflict-marker-size=32
22 changes: 22 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Contributing to Git

Thanks for taking the time to contribute to Git! Please be advised that the
Git community does not use github.com for their contributions. Instead, we use
a mailing list (git@vger.kernel.org) for code submissions, code
reviews, and bug reports.

Nevertheless, you can use [GitGitGadget](https://gitgitgadget.github.io/) to
conveniently send your Pull Requests commits to our mailing list.

Please read ["A note from the maintainer"](https://git.kernel.org/pub/scm/git/git.git/plain/MaintNotes?h=todo)
to learn how the Git project is managed, and how you can work with it.
In addition, we highly recommend you to read [our submission guidelines](../Documentation/SubmittingPatches).

If you prefer video, then [this talk](https://www.youtube.com/watch?v=Q7i_qQW__q4&feature=youtu.be&t=6m4s)
might be useful to you as the presenter walks you through the contribution
process by example.

Or, you can follow the ["My First Contribution"](https://git-scm.com/docs/MyFirstContribution)
tutorial for another example of the contribution process.

Your friendly Git community!
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
- [ ] I was not able to find an [open](https://github.com/git-for-windows/git/issues?q=is%3Aopen) or [closed](https://github.com/git-for-windows/git/issues?q=is%3Aclosed) issue matching what I'm seeing

### Setup

- Which version of Git for Windows are you using? Is it 32-bit or 64-bit?

```
$ git --version --build-options
** insert your machine's response here **
```

- Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?

```
$ cmd.exe /c ver
** insert your machine's response here **
```

- What options did you set as part of the installation? Or did you choose the
defaults?

```
# One of the following:
> type "C:\Program Files\Git\etc\install-options.txt"
> type "C:\Program Files (x86)\Git\etc\install-options.txt"
> type "%USERPROFILE%\AppData\Local\Programs\Git\etc\install-options.txt"
> type "$env:USERPROFILE\AppData\Local\Programs\Git\etc\install-options.txt"
$ cat /etc/install-options.txt
** insert your machine's response here **
```

- Any other interesting things about your environment that might be related
to the issue you're seeing?

** insert your response here **

### Details

- Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other

** insert your response here **

- What commands did you run to trigger this issue? If you can provide a
[Minimal, Complete, and Verifiable example](http://stackoverflow.com/help/mcve)
this will help us understand the issue.

```
** insert your commands here **
```
- What did you expect to occur after running these commands?

** insert here **

- What actually happened instead?

** insert here **

- If the problem was occurring with a specific repository, can you provide the
URL to that repository to help us with testing?

** insert URL here **
22 changes: 22 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Thanks for taking the time to contribute to Git!

Those seeking to contribute to the Git for Windows fork should see
http://gitforwindows.org/#contribute on how to contribute Windows specific
enhancements.

If your contribution is for the core Git functions and documentation
please be aware that the Git community does not use the github.com issues
or pull request mechanism for their contributions.

Instead, we use the Git mailing list (git@vger.kernel.org) for code and
documentation submissions, code reviews, and bug reports. The
mailing list is plain text only (anything with HTML is sent directly
to the spam folder).

Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/)
to conveniently send your Pull Requests commits to our mailing list.

For a single-commit pull request, please *leave the pull request description
empty*: your commit message itself should describe your changes.

Please read the "guidelines for contributing" linked above!
Loading