Git development
 help / color / mirror / Atom feed
* [RFC PATCH v2 2/4] gitignore: read from index if .gitignore is assume-unchanged
From: Nguyễn Thái Ngọc Duy @ 2009-08-10 15:19 UTC (permalink / raw)
  To: git; +Cc: Nguyễn Thái Ngọc Duy
In-Reply-To: <1249917562-5931-2-git-send-email-pclouds@gmail.com>

In sparse checkout mode (aka CE_VALID or assume-unchanged) some files
may be missing from working directory. If some of those files are
.gitignore, it will affect how git excludes files.

Because those files are by definition "assume unchanged" we can
instead read them from index. This adds index as a prerequisite for
directory listing. At the moment directory listing is used by "git
clean", "git add", "git ls-files" and "git status"/"git commit" and
unpack_trees()-related commands.  These commands have been
checked/modified to populate index before doing directory listing.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 Documentation/technical/api-directory-listing.txt |    3 +
 builtin-clean.c                                   |    5 +-
 builtin-ls-files.c                                |    4 +-
 dir.c                                             |   70 ++++++++++++++-------
 t/t3001-ls-files-others-exclude.sh                |   20 ++++++
 t/t7300-clean.sh                                  |   19 ++++++
 6 files changed, 96 insertions(+), 25 deletions(-)

diff --git a/Documentation/technical/api-directory-listing.txt b/Documentation/technical/api-directory-listing.txt
index 5bbd18f..7d0e282 100644
--- a/Documentation/technical/api-directory-listing.txt
+++ b/Documentation/technical/api-directory-listing.txt
@@ -58,6 +58,9 @@ The result of the enumeration is left in these fields::
 Calling sequence
 ----------------
 
+* Ensure the_index is populated as it may have CE_VALID entries that
+  affect directory listing.
+
 * Prepare `struct dir_struct dir` and clear it with `memset(&dir, 0,
   sizeof(dir))`.
 
diff --git a/builtin-clean.c b/builtin-clean.c
index 2d8c735..d917472 100644
--- a/builtin-clean.c
+++ b/builtin-clean.c
@@ -71,8 +71,11 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
 
 	dir.flags |= DIR_SHOW_OTHER_DIRECTORIES;
 
-	if (!ignored)
+	if (!ignored) {
+		if (read_cache() < 0)
+			die("index file corrupt");
 		setup_standard_excludes(&dir);
+	}
 
 	pathspec = get_pathspec(prefix, argv);
 	read_cache();
diff --git a/builtin-ls-files.c b/builtin-ls-files.c
index f473220..d1a23c4 100644
--- a/builtin-ls-files.c
+++ b/builtin-ls-files.c
@@ -481,6 +481,9 @@ int cmd_ls_files(int argc, const char **argv, const char *prefix)
 		prefix_offset = strlen(prefix);
 	git_config(git_default_config, NULL);
 
+	if (read_cache() < 0)
+		die("index file corrupt");
+
 	argc = parse_options(argc, argv, prefix, builtin_ls_files_options,
 			ls_files_usage, 0);
 	if (show_tag || show_valid_bit) {
@@ -508,7 +511,6 @@ int cmd_ls_files(int argc, const char **argv, const char *prefix)
 	pathspec = get_pathspec(prefix, argv);
 
 	/* be nice with submodule paths ending in a slash */
-	read_cache();
 	if (pathspec)
 		strip_trailing_slash_from_submodules();
 
diff --git a/dir.c b/dir.c
index e05b850..e55344f 100644
--- a/dir.c
+++ b/dir.c
@@ -200,11 +200,36 @@ void add_exclude(const char *string, const char *base,
 	which->excludes[which->nr++] = x;
 }
 
+static void *read_index_data(const char *path, size_t *size)
+{
+	int pos, len;
+	unsigned long sz;
+	enum object_type type;
+	void *data;
+	struct index_state *istate = &the_index;
+
+	len = strlen(path);
+	pos = index_name_pos(istate, path, len);
+	if (pos < 0)
+		return NULL;
+	/* only applies to CE_VALID entries */
+	if (!(istate->cache[pos]->ce_flags & CE_VALID))
+		return NULL;
+	data = read_sha1_file(istate->cache[pos]->sha1, &type, &sz);
+	if (!data || type != OBJ_BLOB) {
+		free(data);
+		return NULL;
+	}
+	*size = xsize_t(sz);
+	return data;
+}
+
 static int add_excludes_from_file_1(const char *fname,
 				    const char *base,
 				    int baselen,
 				    char **buf_p,
-				    struct exclude_list *which)
+				    struct exclude_list *which,
+				    int check_index)
 {
 	struct stat st;
 	int fd, i;
@@ -212,27 +237,31 @@ static int add_excludes_from_file_1(const char *fname,
 	char *buf, *entry;
 
 	fd = open(fname, O_RDONLY);
-	if (fd < 0 || fstat(fd, &st) < 0)
-		goto err;
-	size = xsize_t(st.st_size);
-	if (size == 0) {
-		close(fd);
-		return 0;
+	if (fd < 0 || fstat(fd, &st) < 0) {
+		if (0 <= fd)
+			close(fd);
+		if (!check_index || (buf = read_index_data(fname, &size)) == NULL)
+			return -1;
 	}
-	buf = xmalloc(size+1);
-	if (read_in_full(fd, buf, size) != size)
-	{
-		free(buf);
-		goto err;
+	else {
+		size = xsize_t(st.st_size);
+		if (size == 0) {
+			close(fd);
+			return 0;
+		}
+		buf = xmalloc(size);
+		if (read_in_full(fd, buf, size) != size) {
+			close(fd);
+			return -1;
+		}
+		close(fd);
 	}
-	close(fd);
 
 	if (buf_p)
 		*buf_p = buf;
-	buf[size++] = '\n';
 	entry = buf;
-	for (i = 0; i < size; i++) {
-		if (buf[i] == '\n') {
+	for (i = 0; i <= size; i++) {
+		if (i == size || buf[i] == '\n') {
 			if (entry != buf + i && entry[0] != '#') {
 				buf[i - (i && buf[i-1] == '\r')] = 0;
 				add_exclude(entry, base, baselen, which);
@@ -241,17 +270,12 @@ static int add_excludes_from_file_1(const char *fname,
 		}
 	}
 	return 0;
-
- err:
-	if (0 <= fd)
-		close(fd);
-	return -1;
 }
 
 void add_excludes_from_file(struct dir_struct *dir, const char *fname)
 {
 	if (add_excludes_from_file_1(fname, "", 0, NULL,
-				     &dir->exclude_list[EXC_FILE]) < 0)
+				     &dir->exclude_list[EXC_FILE], 0) < 0)
 		die("cannot use %s as an exclude file", fname);
 }
 
@@ -302,7 +326,7 @@ static void prep_exclude(struct dir_struct *dir, const char *base, int baselen)
 		strcpy(dir->basebuf + stk->baselen, dir->exclude_per_dir);
 		add_excludes_from_file_1(dir->basebuf,
 					 dir->basebuf, stk->baselen,
-					 &stk->filebuf, el);
+					 &stk->filebuf, el, 1);
 		dir->exclude_stack = stk;
 		current = stk->baselen;
 	}
diff --git a/t/t3001-ls-files-others-exclude.sh b/t/t3001-ls-files-others-exclude.sh
index c65bca8..88b69bc 100755
--- a/t/t3001-ls-files-others-exclude.sh
+++ b/t/t3001-ls-files-others-exclude.sh
@@ -85,6 +85,26 @@ test_expect_success \
        >output &&
      test_cmp expect output'
 
+test_expect_success 'setup sparse gitignore' '
+	git add .gitignore one/.gitignore one/two/.gitignore &&
+	git update-index --assume-unchanged .gitignore one/.gitignore one/two/.gitignore &&
+	rm .gitignore one/.gitignore one/two/.gitignore
+'
+
+test_expect_success \
+    'git ls-files --others with various exclude options.' \
+    'git ls-files --others \
+       --exclude=\*.6 \
+       --exclude-per-directory=.gitignore \
+       --exclude-from=.git/ignore \
+       >output &&
+     test_cmp expect output'
+
+test_expect_success 'restore gitignore' '
+	git checkout .gitignore one/.gitignore one/two/.gitignore &&
+	rm .git/index
+'
+
 cat > excludes-file <<\EOF
 *.[1-8]
 e*
diff --git a/t/t7300-clean.sh b/t/t7300-clean.sh
index 929d5d4..4886d5f 100755
--- a/t/t7300-clean.sh
+++ b/t/t7300-clean.sh
@@ -22,6 +22,25 @@ test_expect_success 'setup' '
 
 '
 
+test_expect_success 'git clean with assume-unchanged .gitignore' '
+	git update-index --assume-unchanged .gitignore &&
+	rm .gitignore &&
+	mkdir -p build docs &&
+	touch a.out src/part3.c docs/manual.txt obj.o build/lib.so &&
+	git clean &&
+	test -f Makefile &&
+	test -f README &&
+	test -f src/part1.c &&
+	test -f src/part2.c &&
+	test ! -f a.out &&
+	test ! -f src/part3.c &&
+	test -f docs/manual.txt &&
+	test -f obj.o &&
+	test -f build/lib.so &&
+	git update-index --no-assume-unchanged .gitignore &&
+	git checkout .gitignore
+'
+
 test_expect_success 'git clean' '
 
 	mkdir -p build docs &&
-- 
1.6.3.GIT

^ permalink raw reply related

* [RFC PATCH v2 1/4] Prevent diff machinery from examining assume-unchanged entries on worktree
From: Nguyễn Thái Ngọc Duy @ 2009-08-10 15:19 UTC (permalink / raw)
  To: git; +Cc: Nguyễn Thái Ngọc Duy
In-Reply-To: <1249917562-5931-1-git-send-email-pclouds@gmail.com>


Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 diff-lib.c                       |    5 +++--
 t/t4039-diff-assume-unchanged.sh |   31 +++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+), 2 deletions(-)
 create mode 100755 t/t4039-diff-assume-unchanged.sh

diff --git a/diff-lib.c b/diff-lib.c
index b7813af..f5787f6 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -159,7 +159,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
 				continue;
 		}
 
-		if (ce_uptodate(ce))
+		if (ce_uptodate(ce) || (ce->ce_flags & CE_VALID))
 			continue;
 
 		changed = check_removed(ce, &st);
@@ -337,6 +337,8 @@ static void do_oneway_diff(struct unpack_trees_options *o,
 	struct rev_info *revs = o->unpack_data;
 	int match_missing, cached;
 
+	/* if the entry is not checked out, don't examine work tree */
+	cached = o->index_only || (idx && (idx->ce_flags & CE_VALID));
 	/*
 	 * Backward compatibility wart - "diff-index -m" does
 	 * not mean "do not ignore merges", but "match_missing".
@@ -344,7 +346,6 @@ static void do_oneway_diff(struct unpack_trees_options *o,
 	 * But with the revision flag parsing, that's found in
 	 * "!revs->ignore_merges".
 	 */
-	cached = o->index_only;
 	match_missing = !revs->ignore_merges;
 
 	if (cached && idx && ce_stage(idx)) {
diff --git a/t/t4039-diff-assume-unchanged.sh b/t/t4039-diff-assume-unchanged.sh
new file mode 100755
index 0000000..d0e46a7
--- /dev/null
+++ b/t/t4039-diff-assume-unchanged.sh
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+test_description='diff with assume-unchanged entries'
+
+. ./test-lib.sh
+
+# external diff has been tested in t4020-diff-external.sh
+
+test_expect_success 'setup' '
+	echo zero > zero &&
+	git add zero &&
+	git commit -m zero &&
+	echo one > one &&
+	echo two > two &&
+	git add one two &&
+	git commit -m onetwo &&
+	git update-index --assume-unchanged one &&
+	echo borked >> one &&
+	test "$(git ls-files -v one)" = "h one"
+'
+
+test_expect_success 'diff-index does not examine assume-unchanged entries' '
+	git diff-index HEAD^ -- one | grep -q 5626abf0f72e58d7a153368ba57db4c673c0e171 
+'
+
+# TODO ced_uptodate()
+test_expect_success 'diff-files does not examine assume-unchanged entries' '
+	/usr/bin/git diff-files -- one
+'
+
+test_done
-- 
1.6.3.GIT

^ permalink raw reply related

* [RFC PATCH v2 0/4] Sparse checkout
From: Nguyễn Thái Ngọc Duy @ 2009-08-10 15:19 UTC (permalink / raw)
  To: git; +Cc: Nguyễn Thái Ngọc Duy

Another RFC, which is more usable than the last series I sent out.
Compared to the last one, a few more patches have gone the way of
Dodo; 'git shape-workdir' has become a hook and should be easier
to write too. All you need is a few
"git update-index --[no-]assume-unchanged" in .git/hooks/sparse.

Nguyễn Thái Ngọc Duy (4):
  Prevent diff machinery from examining assume-unchanged entries on
    worktree
  gitignore: read from index if .gitignore is assume-unchanged
  unpack_trees(): add support for sparse checkout
  read-tree: add --no-sparse to turn off sparse hook

 Documentation/technical/api-directory-listing.txt |    3 +
 builtin-clean.c                                   |    5 +-
 builtin-ls-files.c                                |    4 +-
 builtin-read-tree.c                               |    4 +-
 cache.h                                           |    3 +
 diff-lib.c                                        |    5 +-
 dir.c                                             |   70 +++++++---
 t/t1009-read-tree-sparse.sh                       |   48 +++++++
 t/t3001-ls-files-others-exclude.sh                |   20 +++
 t/t4039-diff-assume-unchanged.sh                  |   31 ++++
 t/t7300-clean.sh                                  |   19 +++
 unpack-trees.c                                    |  154 ++++++++++++++++++++-
 unpack-trees.h                                    |    3 +
 13 files changed, 335 insertions(+), 34 deletions(-)
 create mode 100755 t/t1009-read-tree-sparse.sh
 create mode 100755 t/t4039-diff-assume-unchanged.sh

^ permalink raw reply

* Re: Using both JGit and C Git
From: Shawn O. Pearce @ 2009-08-10 15:12 UTC (permalink / raw)
  To: Semen Vadishev; +Cc: git
In-Reply-To: <4A7726E1.2020501@gmail.com>

Semen Vadishev <Semen.Vadishev@gmail.com> wrote:
> I'm working on git client written in Java. Now the application uses both
> implementations but our team is interested in switching to JGit
> completely some day. We consider that for the first version all
> read-only operations should be implemented with JGit and read-write
> functionality should use exec calls to git executable. We would keep
> that approach until we have even the smallest suspect that pure Java
> implementation could corrupt repository somehow. Also we have a number
> of read-write operations implemented with JGit and we will use them
> internally to collect more experience and to see if any problems will
> appear.
> 
> Does anyone here already have any experience with using both JGit and C
> Git together. Is there any kind of test suites which allow to check
> JGit's behavior on different platforms comparing with native git. Is
> there any known issues/workarounds? Any feedback is much appreciated.
> 
> I've noticed that such a question was raised here, but the answers are
> probably out of date now.

There are some tests in the JGit test suite that validate JGit
against C Git output to ensure the data is the same.  For example
we have created certain content with C Git, checked a copy of the
pack file into the JGit repository, then create the same content
in JGit and validate that the data is the same.  But this sort of
test is difficult because of potential unimportant variations in
the zlib library.  The compressed output can safely differ, when
running the output through the inflate method the original content
is still restored.  So we tend not to rely on it that much.


I can say that JGit completely powers Gerrit Code Review[1], and
that Gerrit Code Review is in use at many different sites as a
production server, relied upon by thousands for their daily work.
As a case in point, Gerrit Code Review powers the Android Open
Source Project... and also the Android related teams for many device
manufacturers who are building devices running that operating system.
It also powers the servers used by the Google developers who work
on Android.

Gerrit Code Review completely runs the server side portion of Git,
both the git-upload-pack and git-receive-pack, in a pure Java SSHD.
Its the only interface the teams have to their repository... and
it does it quite nicely.  The users don't know the difference,
it just works.

So, in my humble opinion, as a server technology, JGit is quite
stable and works well.  It doesn't perform as well as C Git does,
especially under high user loads, but we aren't serving volume here
as a public read-only mirror, we are supporting a smaller group.


[1] http://code.google.com/p/gerrit/

-- 
Shawn.

^ permalink raw reply

* Re: [PATCH] gitweb: squelch harmless variable scoping errors
From: Jakub Narebski @ 2009-08-10 15:05 UTC (permalink / raw)
  To: Mark A Rada; +Cc: git, Randal L. Schwartz, Junio C Hamano
In-Reply-To: <F203660D-5123-475D-8288-F398EA670002@mailservices.uwaterloo.ca>

On Sat, 8 Aug 2009, Mark A Rada wrote:

> I fiddled around a bit and this solution seems to work, but is a bit  
> odd, as the method is declared obsolete in the Perl documentation
> (v5.8.8). 
> 
> What do you think?

Below there is alternate solution (from asking on #perl channel on
FreeNode).

> --->8---
> This will use the 'vars' method of declaring global variables instead
> of the 'our' method.
> 
> Though 'vars' has been obsoleted, it has the advantage of pre-declaring
> global symbols; this ensures that those symbols will be available to
> routines loaded later, whereas 'our' does not seem to do this.
> 
> The result is that when using mod_perl you will no longer get any
> warnings printed to your error_log.
> 
> Signed-off-by: Mark Rada <marada@uwaterloo.ca>
> ---
> gitweb/gitweb.perl |    8 +++++---
> 1 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index 37120a3..0544aa2 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -57,12 +57,14 @@ if ($path_info) {
> our $GIT = "++GIT_BINDIR++/git";
> 
> # absolute fs-path which will be prepended to the project path
> -#our $projectroot = "/pub/scm";
> -our $projectroot = "++GITWEB_PROJECTROOT++";
> +use vars qw($projectroot);
> +#$projectroot = "/pub/scm";
> +$projectroot = "++GITWEB_PROJECTROOT++";
> 
> # fs traversing limit for getting project list
> # the number is relative to the projectroot
> -our $project_maxdepth = "++GITWEB_PROJECT_MAXDEPTH++";
> +use vars qw($project_maxdepth);
> +$project_maxdepth = "++GITWEB_PROJECT_MAXDEPTH++";
> 
> # target of the home link on top of all pages
> our $home_link = $my_uri || "/";
> -- 
> 1.6.4

Alternate solution could be (please test that it works as intended),
which is a bit simpler, and do not use obsolete 'use vars' pragma,
which is not BLOCK-scoped like other pragmas like 'use strict'.

diff --git i/gitweb/gitweb.perl w/gitweb/gitweb.perl
index ab0cad2..c0fa53c 100755
--- i/gitweb/gitweb.perl
+++ w/gitweb/gitweb.perl
@@ -2308,6 +2305,7 @@ sub git_get_projects_list {
 			follow_skip => 2, # ignore duplicates
 			dangling_symlinks => 0, # ignore dangling symlinks, silently
 			wanted => sub {
+				our ($project_maxdepth, $projectroot);
 				# skip project-list toplevel, if we get it.
 				return if (m!^[/.]$!);
 				# only directories can be git repositories



-- 
Jakub Narebski

Git User's Survey 2009:
http://tinyurl.com/GitSurvey2009

^ permalink raw reply related

* Re: A tiny documentation patch
From: Thomas Rast @ 2009-08-10 14:59 UTC (permalink / raw)
  To: Štěpán Němec; +Cc: git
In-Reply-To: <20090810144419.GB24183@headley>

Štěpán Němec wrote:
> here's the patch.

Please read Documentation/SubmittingPatches.  In particular, you
should send your patch inline (git-send-email can help) and add a
Signed-off-by.

> I noticed a few typos in the git-remote manpage
[...]
> diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
[...]
> -In mirror mode, enabled with `\--mirror`, the refs will not be stored
> +In mirror mode, enabled with `--mirror`, the refs will not be stored
[...]
> -mode, furthermore, `git push` will always behave as if `\--mirror`
> +mode, furthermore, `git push` will always behave as if `--mirror`

While I'm not sure how far back you'd have to go to find an asciidoc
that does need this escaping, it's definitely *not* a typo.  In some
instances, -- turns into em dashes.

If you are seeing stray backslashes in the output (I don't), I suspect
you are either running asciidoc 8.x but forgot to set ASCIIDOC8, or
8.4.1+ and are missing the patch 71c020c (Disable asciidoc 8.4.1+
semantics for `{plus}` and friends, 2009-07-25).

> -With `--dry-run` option, report what branches will be pruned, but do no
> +With `--dry-run` option, report what branches will be pruned, but do not
>  actually prune them.

Ok.

>  remotes.<group>.  If a named group is not specified on the command line,
> -the configuration parameter remotes.default will get used; if
> +the configuration parameter remotes.default will be used; if

Ok.

-- 
Thomas Rast
trast@{inf,student}.ethz.ch

^ permalink raw reply

* Re: Gitweb giving me some warnings in Apache's error_log
From: Jakub Narebski @ 2009-08-10 14:57 UTC (permalink / raw)
  To: Mark Rada; +Cc: git
In-Reply-To: <88f4c4ee0908071056g5d9da83ft77d56ec2e5e84bac@mail.gmail.com>

On Fri, 7 Aug 2009, Mark Rada wrote:
> On Fri, Aug 7, 2009 at 10:14 AM, Jakub Narebski<jnareb@gmail.com> wrote:
>> Mark A Rada <markrada26@gmail.com> writes:
>>
>>> It doesn't seem to cause any other problems, but I don't know if it is
>>> significant or not.
>>>
>>> [Fri Aug  7 08:51:13 2009] gitweb.cgi: Variable "$project_maxdepth"
>>> may be unavailable at /var/www/private/gitweb/cgi-bin/gitweb.cgi line
>>> 2296.
>>> [Fri Aug  7 08:51:13 2009] gitweb.cgi: Variable "$projectroot" may be
>>> unavailable at /var/www/private/gitweb/cgi-bin/gitweb.cgi line 2304.
>>>
>>>
>>> Apache 2.2.12/ mod_perl 2.04/ perl 5.8.8
>>
>> From perldiag(1) manpage:
>>
>>  Variable "%s" may be unavailable
>>
>>    (W closure) An inner (nested) anonymous subroutine is inside a
>>    named subroutine, and outside that is another subroutine; and the
>>    anonymous (innermost) subroutine is referencing a lexical variable
>>    defined in the outermost subroutine.
[...]

>> The warning is about 'wanted' anonymous subroutine passed to
>> File::Find::find.  The "middle" subroutine is git_get_projects_list,
>> and the "outermost" is mod_perl / ModPerl::Registry request loop.
>>
>> We can't make git_get_projects_list anonymous, but anonymous
>> subroutine is not called or referenced outside git_get_projects_list,
>> nor it is called or referenced outside mod_perl request/event loop.
>>
>> This warning is harmless... but I do not know how to silence it.

> Let me double check my understanding.
> 
> The warnings will not occur if Gitweb is run as a regular CGI script
> because then it won't be nested inside a call from ModPerl::Registry?

Yes, it is true that this happens only when running gitweb as mod_perl
legacy script using ModPerl::Registry.  Otherwise it would be caught
when running t/t9500-gitweb-standalone-no-errors.sh test.

> 
> Will it also not complain if I provided my own $projects_list in the
> first place?

Yes, it would not, because the code is run only when $projects_list is
a directory to search for git repositories.  If $projects_list is
a file you wouldn't get this warning (and it might be slightly faster,
if less flexible, as you would need to regenerate this file when adding
or removing, or renaming, or changing owner of repositories).

-- 
Jakub Narebski
Poland

^ permalink raw reply

* Re: [JGIT PATCH 1/1] Generate javadoc when making jgit. Also, package docs into a zip for distribution.
From: Shawn O. Pearce @ 2009-08-10 14:56 UTC (permalink / raw)
  To: Nicholas Campbell; +Cc: git, Robin Rosenberg
In-Reply-To: <76596580908092132h1aab0c22qb364914ce9e827b2@mail.gmail.com>

Nicholas Campbell <nicholas.j.campbell@gmail.com> wrote:
> Runs through defined "PLUGINS" and creates Javadoc. Assumes src is a subdir.
> 
> Signed-off-by: Nick Campbell <nicholas.j.campbell@gmail.com>
> ---
>  make_jgit.sh |   10 ++++++++++
>  1 files changed, 10 insertions(+), 0 deletions(-)

Thanks.  This didn't apply cleanly to tip of tree, so I hand merged
it in, but then modified it a bit.  This is what I actually applied:
 
--8<--
From: Nicholas Campbell <nicholas.j.campbell@gmail.com>
Subject: [PATCH] Generate javadoc during ./make_jgit.sh

Package docs into a zip for distribution.  Runs through defined
"PLUGINS" and creates Javadoc. Assumes src is a subdir.

Signed-off-by: Nick Campbell <nicholas.j.campbell@gmail.com>
[sp: cleaned up docs/ directory after build; removed docs/ from zip]
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
---
 .gitignore   |    1 +
 make_jgit.sh |   13 ++++++++++++-
 2 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/.gitignore b/.gitignore
index baf2766..5219cbc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /jgit
 /jgit.jar
 /jgit_src.zip
+/jgit_docs.zip
diff --git a/make_jgit.sh b/make_jgit.sh
index baaa3af..9608b70 100755
--- a/make_jgit.sh
+++ b/make_jgit.sh
@@ -3,6 +3,7 @@
 O_CLI=jgit
 O_JAR=jgit.jar
 O_SRC=jgit_src.zip
+O_DOC=jgit_docs.zip
 
 PLUGINS="
 	org.spearce.jgit
@@ -39,6 +40,7 @@ cleanup_bin() {
 	do
 		rm -rf $p/bin2
 	done
+	rm -rf docs
 }
 
 die() {
@@ -49,7 +51,7 @@ die() {
 }
 
 cleanup_bin
-rm -f $O_CLI $O_JAR $O_SRC
+rm -f $O_CLI $O_JAR $O_SRC $O_DOC
 
 VN=`git describe --abbrev=4 HEAD 2>/dev/null`
 git update-index -q --refresh
@@ -118,4 +120,13 @@ chmod 555 $O_CLI+ &&
 mv $O_CLI+ $O_CLI &&
 echo "Created $O_CLI." || die "Build failed."
 
+echo "Building Javadocs ..."
+for p in $PLUGINS; do
+	javadoc -sourcepath "$p/src/" -d "docs/$p/" \
+	`find "$p/src" -name "*.java"`
+done
+
+(cd docs && jar cf "../$O_DOC" .)
+echo "Created $O_DOC."
+
 cleanup_bin
-- 
1.6.4.70.g9c084

-- 
Shawn.

^ permalink raw reply related

* A tiny documentation patch
From: Štěpán Němec @ 2009-08-10 14:44 UTC (permalink / raw)
  To: git

[-- Attachment #1: Type: text/plain, Size: 167 bytes --]

 Hello,

I noticed a few typos in the git-remote manpage, so I fixed the txt
source file and here's the patch.

 Best regards and thank you for Git!

Štěpán Němec

[-- Attachment #2: 0001-Fix-typos-in-git-remote.txt.patch --]
[-- Type: text/x-diff, Size: 1985 bytes --]

>From 65ae3e5cdb241aaaed96a7aeecffb6d305d0b07c Mon Sep 17 00:00:00 2001
From: =?utf-8?q?=C5=A0t=C4=9Bp=C3=A1n=20N=C4=9Bmec?= <stepnem@gmail.com>
Date: Mon, 10 Aug 2009 16:29:08 +0200
Subject: [PATCH] Fix typos in git-remote.txt

---
 Documentation/git-remote.txt |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/git-remote.txt b/Documentation/git-remote.txt
index 9e2b4ea..0964cee 100644
--- a/Documentation/git-remote.txt
+++ b/Documentation/git-remote.txt
@@ -56,10 +56,10 @@ multiple branches without grabbing all branches.
 With `-m <master>` option, `$GIT_DIR/remotes/<name>/HEAD` is set
 up to point at remote's `<master>` branch. See also the set-head command.
 +
-In mirror mode, enabled with `\--mirror`, the refs will not be stored
+In mirror mode, enabled with `--mirror`, the refs will not be stored
 in the 'refs/remotes/' namespace, but in 'refs/heads/'.  This option
 only makes sense in bare repositories.  If a remote uses mirror
-mode, furthermore, `git push` will always behave as if `\--mirror`
+mode, furthermore, `git push` will always behave as if `--mirror`
 was passed.
 
 'rename'::
@@ -114,14 +114,14 @@ These stale branches have already been removed from the remote repository
 referenced by <name>, but are still locally available in
 "remotes/<name>".
 +
-With `--dry-run` option, report what branches will be pruned, but do no
+With `--dry-run` option, report what branches will be pruned, but do not
 actually prune them.
 
 'update'::
 
 Fetch updates for a named set of remotes in the repository as defined by
 remotes.<group>.  If a named group is not specified on the command line,
-the configuration parameter remotes.default will get used; if
+the configuration parameter remotes.default will be used; if
 remotes.default is not defined, all remotes which do not have the
 configuration parameter remote.<name>.skipDefaultUpdate set to true will
 be updated.  (See linkgit:git-config[1]).
-- 
1.6.3.3


^ permalink raw reply related

* give a hint/solution for "It looks like git-am is in progress. Cannot  rebase."
From: Lucian Adrian Grijincu @ 2009-08-10 14:34 UTC (permalink / raw)
  To: git

Hi,

I ran git-am instead of git-apply on my repo. The git-am complained
about the input data, I completely ignored it because I never use
git-am (except on typos + tab-completions like today).

Later, after a few commits I wanted to rebase (interactively) my tree
to merge a few commits.
  $ git rebase -i HEAD~4
  It looks like git-am is in progress. Cannot rebase.

Ok, the message is nice, it tells me it can't do something, but I'm
stupid enough not to know how to proceed.
I see that this message is the same in HEAD (master and next).

It would be nice if git would output one or two hints. For example:
* run "git cancel-a-git-am-in-progress" to cancel a git-am in progress
* run "git commit-the-git-am-in-progress" to commit the git-am in progress

Of course, the commands need to be replaced with some valid git
commands, but I don't know which those commands are :)

The message is generated in git-rebase.sh by this code:
  test -f "$GIT_DIR"/rebase-apply/applying &&
  die 'It looks like git-am is in progress. Cannot rebase.'

For now I think I'll `rm -rf .git/rebase-apply` (and hopefully not
break anything).

-- 
 .
..: Lucian

^ permalink raw reply

* Re: [msysGit] Using VC build git
From: Johannes Schindelin @ 2009-08-10 14:29 UTC (permalink / raw)
  To: Frank Li; +Cc: git, msysGit
In-Reply-To: <alpine.DEB.1.00.0908101606220.8324@intel-tinevez-2-302>

Hi,

On Mon, 10 Aug 2009, Johannes Schindelin wrote:

> Please, we have _high_ standards in git.git, and I really do not want to 
> have to take anything to Junio that does not fulfill that standard.

To elaborate:  if I see something like this in the --stat:

 contrib/vcbuild/include/zlib.h        | 1357 +++++++++++++++++++++++++++++++++
 contrib/vcbuild/lib/zlib.lib          |  Bin 0 -> 104148 bytes

... I know already that there is no way this can make it into git.git.  
There just is not.

Also, if the first commit says nothing else than "Rebase to v1.6.4", it 
is pretty obvious to me that I will not sign off on that (and I just guess 
that is the very reason you did not sign off on that, either).

Further, putting anything into contrib/ that really belongs into contrib/ 
is not cutting it, either.

And I am pretty astonished that mingw.[ch] is touched, as VC is definitely 
not MinGW32.

Changing 1000+ lines of libgit.vcproj in almost every commit is also 
something I really do not look upon favorably.

Finally, if _no single_ commit message says _anything_ about the reasons 
why you had to change code outside of vcbuild/, I am only puzzled.

Now, I want to give you a pretty clear idea what has to be done if this is 
going into 4msysgit.git, ever, because you obviously spent a lot of time 
on it, and other people want it, too:

- changing "open" to "_open" in mingw.c is a no-no-no.  If you need to use 
  "_open" in VC, then define "open" in the compile flags for mingw.c, but 
  leave code that is not written for VC alone.

- introducing trailing whitespace is usually a sign of not caring enough 
  about clean and neat code.  So just don't do it.

- making link() fail on MinGW32 just to be able to compile it with VC is 
  outright rude against all people who use a free and open compiler 
  instead of a closed one.

- changing an "_snprintf" to "_vsnprintf" in vcbuild/porting.c without 
  anything else is a clear and loud sign that the code before was broken, 
  and that you fix a faulty patch in a later patch.  This is not how we do 
  things in git.git.  We fix the proper patch before the patch series is 
  accepted into mainline.

- violating the coding style -- even if it is in your VC-specific part -- 
  is not an option.  You need to fix the coding style.

- violating the coding style in files that are not VC-specific is not an 
  option at all.  You really need to fix it.

- changing the default editor from "vi" to "notepad2" will break almost 
  every existing Git user's setup.  That is just inexcusable.

Note: these comments are _just for the last_ of your 5 patches.

Just a brief comment on the 4th patch, because I really do not want to 
spend more time on this round of patches: spelling the opendir() function 
as "open dir" function in the commit message is misleading, to say the 
least, and moving code that was added in a previous patch in the same 
patch series just shows that it was a mistake to begin with.  Besides, 
don't move anything into mingw.c if MinGW32 does not need it.

Hth,
Dscho

^ permalink raw reply

* Re: Failing a test on OpenServer 6 t5100-mailinfo.sh
From: Boyd Lynn Gerber @ 2009-08-10 14:29 UTC (permalink / raw)
  To: Brandon Casey; +Cc: Git List
In-Reply-To: <9NpKOKLSn88JzY2TZHUJ89wA2DmHDCazUmQpdWGi9Wi25O90kUipEg@cipher.nrlssc.navy.mil>

On Mon, 10 Aug 2009, Brandon Casey wrote:
> Boyd Lynn Gerber wrote:
>> With a config.mak.autogen that is fixed for OpenServer 6.
>> I now have three tests that fail.
>>
>> The first is because of the OS does not allow perl to do somethings.
>>
>> The second is a new problem.
>
> Probably your system is missing support for some character encodings.
>
>> *** t5100-mailinfo.sh ***
...
>> * FAIL 12: mailinfo 0011
>
> This uses charset ISO8859-15.
...
>> * FAIL 16: mailinfo rfc2047/0001
>
> ISO8859-2
>
>> * FAIL 19: mailinfo rfc2047/0004
>
> ISO8859-8
>
>> * FAIL 26: mailinfo rfc2047/0011
>
> ISO8859-2
>
> You can just skip these tests if you don't want to install the missing 
> encoding support.

Thanks,

-- 
Boyd Gerber <gerberb@zenez.com> 801 849-0213
ZENEZ	1042 East Fort Union #135, Midvale Utah  84047

^ permalink raw reply

* Re: Failing a test on OpenServer 6 t5100-mailinfo.sh
From: Brandon Casey @ 2009-08-10 14:25 UTC (permalink / raw)
  To: Boyd Lynn Gerber; +Cc: Git List
In-Reply-To: <alpine.LNX.2.00.0908081014560.13290@suse104.zenez.com>

Boyd Lynn Gerber wrote:
> Hello,
> 
> With a config.mak.autogen that is fixed for OpenServer 6.
> 
> I now have three tests that fail.
> 
> The first is because of the OS does not allow perl to do somethings.
> 
> The second is a new problem.

Probably your system is missing support for some character encodings.

> *** t5100-mailinfo.sh ***
> *   ok 1: split sample box
> *   ok 2: mailinfo 0001
> *   ok 3: mailinfo 0002
> *   ok 4: mailinfo 0003
> *   ok 5: mailinfo 0004
> *   ok 6: mailinfo 0005
> *   ok 7: mailinfo 0006
> *   ok 8: mailinfo 0007
> *   ok 9: mailinfo 0008
> *   ok 10: mailinfo 0009
> *   ok 11: mailinfo 0010
> * FAIL 12: mailinfo 0011

This uses charset ISO8859-15.

> 
>                         git mailinfo -u msg$mail patch$mail <$mail
>> info$mail &&
>                         echo msg &&
>                         test_cmp "$TEST_DIRECTORY"/t5100/msg$mail
> msg$mail &&
>                         echo patch &&
>                         test_cmp "$TEST_DIRECTORY"/t5100/patch$mail
> patch$mail &&
>                         echo info &&
>                         test_cmp "$TEST_DIRECTORY"/t5100/info$mail
> info$mail
> 
> *   ok 13: mailinfo 0012
> *   ok 14: mailinfo 0013
> *   ok 15: split box with rfc2047 samples
> * FAIL 16: mailinfo rfc2047/0001

ISO8859-2

> *   ok 17: mailinfo rfc2047/0002
> *   ok 18: mailinfo rfc2047/0003
> * FAIL 19: mailinfo rfc2047/0004

ISO8859-8

> *   ok 20: mailinfo rfc2047/0005
> *   ok 21: mailinfo rfc2047/0006
> *   ok 22: mailinfo rfc2047/0007
> *   ok 23: mailinfo rfc2047/0008
> *   ok 24: mailinfo rfc2047/0009
> *   ok 25: mailinfo rfc2047/0010
> * FAIL 26: mailinfo rfc2047/0011

ISO8859-2

You can just skip these tests if you don't want to install the missing
encoding support.

-brandon

^ permalink raw reply

* Re: [msysGit] Using VC build git
From: Johannes Schindelin @ 2009-08-10 14:07 UTC (permalink / raw)
  To: Frank Li; +Cc: git, msysGit
In-Reply-To: <1976ea660908100656u57407131h83761329468607a8@mail.gmail.com>

Hi,

On Mon, 10 Aug 2009, Frank Li wrote:

> pull from git://repo.or.cz/tgit.git

Why the heck is this not a fork of git.git?

And did you not forget to mention which branch?

And is "git commit okay" really a sensible _full_ commit message?

Please, we have _high_ standards in git.git, and I really do not want to 
have to take anything to Junio that does not fulfill that standard.

Ciao,
Dscho

^ permalink raw reply

* Using VC build git
From: Frank Li @ 2009-08-10 13:56 UTC (permalink / raw)
  To: git, msysGit

[-- Attachment #1: Type: text/plain, Size: 36 bytes --]

pull from git://repo.or.cz/tgit.git

[-- Attachment #2: 0005-git-commit-okay.patch --]
[-- Type: application/octet-stream, Size: 1970 bytes --]

From 62b705d074a3eeffe8af5c8c0334f12ec76d1cee Mon Sep 17 00:00:00 2001
From: Frank Li <lznuaa@gmail.com>
Date: Sat, 8 Aug 2009 13:35:40 +0800
Subject: [PATCH 5/5] git commit okay

Signed-off-by: Frank Li <lznuaa@gmail.com>
---
 compat/mingw.c            |    6 +++++-
 contrib/vcbuild/porting.c |    2 +-
 editor.c                  |    2 ++
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/compat/mingw.c b/compat/mingw.c
index 1cc2cb7..79cbd9f 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -275,7 +275,7 @@ int mkstemp(char *template)
 	char *filename = mktemp(template);
 	if (filename == NULL)
 		return -1;
-	return open(filename, O_RDWR | O_CREAT, 0600);
+	return _open(filename, _O_RDWR | _O_CREAT | _O_BINARY, 0600);
 }
 
 int gettimeofday(struct timeval *tv, void *tz)
@@ -1144,6 +1144,10 @@ int link(const char *oldpath, const char *newpath)
 {
 	typedef BOOL WINAPI (*T)(const char*, const char*, LPSECURITY_ATTRIBUTES);
 	static T create_hard_link = NULL;
+	
+	errno = ENOSYS;
+	return -1;
+
 	if (!create_hard_link) {
 		create_hard_link = (T) GetProcAddress(
 			GetModuleHandle("kernel32.dll"), "CreateHardLinkA");
diff --git a/contrib/vcbuild/porting.c b/contrib/vcbuild/porting.c
index 0625bb4..cf83efc 100644
--- a/contrib/vcbuild/porting.c
+++ b/contrib/vcbuild/porting.c
@@ -10,7 +10,7 @@ int snprintf(char *buff,int size, char *fmt, ...)
 	int n;
 	va_list pArgList;
 	va_start(pArgList,fmt);
-	n=_snprintf(buff,size-1,fmt,pArgList);
+	n=_vsnprintf(buff,size-1,fmt,pArgList);
 	va_end(pArgList);
 	return n;
 }
diff --git a/editor.c b/editor.c
index 4d469d0..a9a3b7c 100644
--- a/editor.c
+++ b/editor.c
@@ -13,6 +13,8 @@ int launch_editor(const char *path, struct strbuf *buffer, const char *const *en
 		editor = getenv("VISUAL");
 	if (!editor)
 		editor = getenv("EDITOR");
+	if (!editor)
+		editor = "notepad2";
 
 	terminal = getenv("TERM");
 	if (!editor && (!terminal || !strcmp(terminal, "dumb")))
-- 
1.6.4.msysgit.0


[-- Attachment #3: 0001-build-git-library.patch --]
[-- Type: application/octet-stream, Size: 58215 bytes --]

From 5352796e16d5781613968dc4fcf74ad5e3d7306d Mon Sep 17 00:00:00 2001
From: Frank Li <lznuaa@gmail.com>
Date: Wed, 5 Aug 2009 12:51:46 +0800
Subject: [PATCH 1/5] build git library

---
 builtin-fast-export.c                |    1 +
 compat/fopen.c                       |    1 +
 compat/mingw.c                       |    4 +-
 compat/mingw.h                       |    9 +-
 contrib/vcbuild/include/unistd.h     |    8 +-
 contrib/vcbuild/libgit/libgit.vcproj | 2688 +++++++++++++++++-----------------
 contrib/vcbuild/vcbuild.sln          |   29 +
 help.c                               |    3 +-
 run-command.c                        |    3 +
 9 files changed, 1403 insertions(+), 1343 deletions(-)
 create mode 100644 contrib/vcbuild/vcbuild.sln

diff --git a/builtin-fast-export.c b/builtin-fast-export.c
index c48c18d..24a50ae 100644
--- a/builtin-fast-export.c
+++ b/builtin-fast-export.c
@@ -24,6 +24,7 @@ static const char *fast_export_usage[] = {
 
 static int progress;
 static enum { ABORT, VERBATIM, WARN, STRIP } signed_tag_mode = ABORT;
+#undef ERROR
 static enum { ERROR, DROP, REWRITE } tag_of_filtered_mode = ABORT;
 static int fake_missing_tagger;
 
diff --git a/compat/fopen.c b/compat/fopen.c
index b5ca142..b9a02e4 100644
--- a/compat/fopen.c
+++ b/compat/fopen.c
@@ -10,6 +10,7 @@
  */
 #undef FREAD_READS_DIRECTORIES
 #include "../git-compat-util.h"
+#undef stat
 
 FILE *git_fopen(const char *path, const char *mode)
 {
diff --git a/compat/mingw.c b/compat/mingw.c
index 405a51e..f3a74f8 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -151,6 +151,7 @@ static inline time_t filetime_to_time_t(const FILETIME *ft)
  * When a path ends with a slash, the stat will fail with ENOENT. In
  * this case, we strip the trailing slashes and stat again.
  */
+#undef stat
 static int do_lstat(const char *file_name, struct stat *buf)
 {
 	WIN32_FILE_ATTRIBUTE_DATA fdata;
@@ -1200,8 +1201,9 @@ struct dirent *mingw_readdir(DIR *dir)
 
 	if (dir->dd_handle == (long)INVALID_HANDLE_VALUE && dir->dd_stat == 0)
 	{
+		DWORD lasterr;
 		handle = FindFirstFileA(dir->dd_name, &buf);
-		DWORD lasterr = GetLastError();
+		lasterr = GetLastError();
 		dir->dd_handle = (long)handle;
 		if (handle == INVALID_HANDLE_VALUE && (lasterr != ERROR_NO_MORE_FILES)) {
 			errno = err_win_to_posix(lasterr);
diff --git a/compat/mingw.h b/compat/mingw.h
index 0ede971..281bfde 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -171,13 +171,20 @@ int mingw_getpagesize(void);
 /* Use mingw_lstat() instead of lstat()/stat() and
  * mingw_fstat() instead of fstat() on Windows.
  */
+#undef off_t
 #define off_t off64_t
-#define stat _stati64
+#undef stat
+#define stat      _stat64
+#define stat(x,y) _stati64(x,y)
+#undef lseek
 #define lseek _lseeki64
 int mingw_lstat(const char *file_name, struct stat *buf);
 int mingw_fstat(int fd, struct stat *buf);
+#undef fstat
 #define fstat mingw_fstat
+#undef lstat
 #define lstat mingw_lstat
+#undef _stati64
 #define _stati64(x,y) mingw_lstat(x,y)
 
 int mingw_utime(const char *file_name, const struct utimbuf *times);
diff --git a/contrib/vcbuild/include/unistd.h b/contrib/vcbuild/include/unistd.h
index 311cbc0..5b4d780 100644
--- a/contrib/vcbuild/include/unistd.h
+++ b/contrib/vcbuild/include/unistd.h
@@ -4,6 +4,7 @@
 /*Configuration*/
 
 #define __MINGW32__
+#define NO_LIBGEN_H
 #define NO_SYS_SELECT_H
 #define NO_PTHEADS
 #define HAVE_STRING_H 1
@@ -17,7 +18,7 @@
 #define NTDDI_VERSION NTDDI_WIN2KSP1
 #define inline __inline
 #define __inline__ __inline
-#define NO_MMAP
+#define USE_WIN32_MMAP
 #define SHA1_HEADER "mozilla-sha1\\sha1.h"
 #define NO_ST_BLOCKS_IN_STRUCT_STAT
 #define ETC_GITCONFIG "%HOME%"
@@ -30,6 +31,7 @@
 #define va_copy va_start
 #define NO_STRTOUMAX
 #define REGEX_MALLOC
+#define NO_NSEC
 
 /* Win32 define for porting git*/
 
@@ -73,6 +75,8 @@ typedef unsigned long long   uint64_t;
 typedef long long  intmax_t;
 typedef unsigned long long uintmax_t;
 
+typedef int64_t off64_t;
+
 #define STDOUT_FILENO 1
 #define STDERR_FILENO 2
 
@@ -137,6 +141,6 @@ typedef unsigned long long uintmax_t;
 #define close _close
 #define dup _dup
 #define dup2 _dup2
-#define lseek _lseek
+//#define lseek _lseek
 #define write vs_write
 #endif
\ No newline at end of file
diff --git a/contrib/vcbuild/libgit/libgit.vcproj b/contrib/vcbuild/libgit/libgit.vcproj
index b6579e4..8bf9696 100644
--- a/contrib/vcbuild/libgit/libgit.vcproj
+++ b/contrib/vcbuild/libgit/libgit.vcproj
@@ -1,1338 +1,1350 @@
-<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="libgit"
-	ProjectGUID="{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
-	RootNamespace="libgit"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\include;..\..\compat;..\..\compat\fnmatch;..\..\compat\regex;.\"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\porting.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mozilla-sha1\sha1.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath="..\..\..\archive.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\attr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\blob.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\branch.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bundle.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache-tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\color.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\commit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\csum-file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\decorate.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\delta.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\dir.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\exec_cmd.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fetch-pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fsck.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\git-compat-util.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\graph.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\grep.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\hash.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\help.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\http.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\levenshtein.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\list-objects.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ll-merge.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\log-tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mailmap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-recursive.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\notes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\object.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-refs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-revindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\parse-options.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-ids.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pkt-line.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\progress.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\quote.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reachable.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reflog-walk.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\refs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\remote.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\rerere.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\revision.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\run-command.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\send-pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1-lookup.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\shortlog.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sideband.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sigchain.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\strbuf.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\string-list.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tag.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tar.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\thread-utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\transport.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-walk.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\unpack-trees.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\userdiff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\utf8.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\walker.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wt-status.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff-interface.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-		<Filter
-			Name="compat"
-			>
-			<File
-				RelativePath="..\..\..\compat\cygwin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fnmatch\fnmatch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fnmatch\fnmatch.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fopen.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\memmem.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mingw.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mingw.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mkdtemp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mmap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\pread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\qsort.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\regex\regex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\regex\regex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\setenv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\snprintf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strcasestr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strlcpy.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strtoumax.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\unsetenv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\win32.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\winansi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="git"
-			>
-			<File
-				RelativePath="..\..\..\abspath.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\alias.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\alloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive-tar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive-zip.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\attr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\base85.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\blob.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-add.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-annotate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-apply.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-blame.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-bundle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-cat-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-check-attr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-check-ref-format.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-checkout-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-checkout.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-clean.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-clone.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-commit-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-commit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-config.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-count-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-describe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-files.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fast-export.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch--tool.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fmt-merge-msg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-for-each-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fsck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-gc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-grep.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-help.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-init-db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-log.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-files.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mailinfo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mailsplit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-base.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-ours.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-recursive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-name-rev.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-pack-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-pack-refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-prune-packed.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-prune.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-push.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-read-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-receive-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-reflog.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-replace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rerere.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-reset.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rev-list.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rev-parse.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-revert.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rm.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-send-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-shortlog.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-show-branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-show-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-stripspace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-symbolic-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-tar-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-unpack-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-update-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-update-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-upload-archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-verify-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-verify-tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-write-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bundle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\color.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\combine-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\commit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\config.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\connect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\convert.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\copy.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\csum-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ctype.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\date.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\decorate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-lib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-no-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-break.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-order.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-pickaxe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-rename.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\dir.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\editor.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\entry.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\environment.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\exec_cmd.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fsck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\graph.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\grep.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\hash.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\help.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ident.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\levenshtein.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\list-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ll-merge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lockfile.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\log-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mailmap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\match-trees.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-recursive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\name-hash.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\notes.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\object.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-check.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-revindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-write.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pager.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\parse-options.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-ids.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\path.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pkt-line.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\preload-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pretty.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\progress.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\quote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reachable.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\read-cache.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reflog-walk.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\replace_object.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\rerere.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\revision.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\run-command.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\server-info.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\setup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1-lookup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1_file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1_name.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\shallow.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sideband.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sigchain.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\strbuf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\string-list.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\symlinks.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\thread-utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\trace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\transport.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-walk.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\unpack-trees.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\usage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\userdiff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\utf8.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\walker.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wrapper.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\write_or_die.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ws.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wt-status.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff-interface.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="xdiff"
-			>
-			<File
-				RelativePath="..\..\..\xdiff\xdiff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xdiffi.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xdiffi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xemit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xemit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xinclude.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xmacros.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xmerge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xpatience.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xprepare.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xprepare.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xtypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xutils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xutils.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\ReadMe.txt"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="libgit"
+	ProjectGUID="{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
+	RootNamespace="libgit"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\include;..\..\compat;..\..\compat\fnmatch;..\..\compat\regex;.\"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\porting.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mozilla-sha1\sha1.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath="..\..\..\archive.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\attr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\blob.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\branch.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bundle.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache-tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\color.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\commit.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\csum-file.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\decorate.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\delta.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\dir.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\exec_cmd.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fetch-pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fsck.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\git-compat-util.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\graph.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\grep.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\hash.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\help.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\http.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\levenshtein.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\list-objects.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ll-merge.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\log-tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mailmap.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-recursive.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\notes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\object.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-refs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-revindex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\parse-options.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-ids.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pkt-line.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\progress.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\quote.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reachable.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reflog-walk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\refs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\remote.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\rerere.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\revision.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\run-command.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\send-pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1-lookup.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\shortlog.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sideband.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sigchain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\strbuf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\string-list.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tag.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tar.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\thread-utils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\transport.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-walk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\unpack-trees.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\userdiff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\utf8.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\walker.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wt-status.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff-interface.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<Filter
+			Name="compat"
+			>
+			<File
+				RelativePath="..\..\..\compat\basename.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\cygwin.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fnmatch\fnmatch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fnmatch\fnmatch.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fopen.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\memmem.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mingw.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mingw.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mkdtemp.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mkstemps.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\pread.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\qsort.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\regex\regex.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\regex\regex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\setenv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\snprintf.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strcasestr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strlcpy.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strtoumax.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\unsetenv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\win32.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\win32mmap.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\winansi.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="git"
+			>
+			<File
+				RelativePath="..\..\..\abspath.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\alias.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\alloc.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive-tar.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive-zip.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\attr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\base85.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bisect.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\blob.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-add.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-annotate.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-apply.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-bisect--helper.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-blame.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-bundle.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-cat-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-check-attr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-check-ref-format.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-checkout-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-checkout.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-clean.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-clone.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-commit-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-commit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-config.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-count-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-describe.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-files.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fast-export.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch--tool.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fmt-merge-msg.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-for-each-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fsck.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-gc.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-grep.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-help.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-init-db.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-log.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-files.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mailinfo.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mailsplit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-base.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-ours.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-recursive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mktree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-name-rev.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-pack-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-pack-refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-prune-packed.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-prune.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-push.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-read-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-receive-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-reflog.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rerere.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-reset.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rev-list.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rev-parse.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-revert.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rm.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-send-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-shortlog.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-show-branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-show-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-stripspace.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-symbolic-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-tar-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-unpack-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-update-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-update-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-upload-archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-verify-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-verify-tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-write-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bundle.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\color.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\combine-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\commit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\config.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\connect.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\convert.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\copy.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\csum-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ctype.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\date.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\decorate.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-lib.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-no-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-break.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-order.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-pickaxe.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-rename.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\dir.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\editor.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\entry.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\environment.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\exec_cmd.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fsck.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\graph.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\grep.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\hash.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\help.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ident.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\levenshtein.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\list-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ll-merge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\lockfile.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\log-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mailmap.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\match-trees.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-recursive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\name-hash.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\object.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-check.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-revindex.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-write.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pager.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\parse-options.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-ids.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\path.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pkt-line.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\preload-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pretty.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\progress.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\quote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reachable.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\read-cache.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reflog-walk.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\rerere.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\revision.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\run-command.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\server-info.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\setup.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1-lookup.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1_file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1_name.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\shallow.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sideband.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sigchain.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\strbuf.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\string-list.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\symlinks.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\thread-utils.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\trace.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\transport.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-walk.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\unpack-trees.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\usage.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\userdiff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\utf8.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\walker.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wrapper.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\write_or_die.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ws.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wt-status.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff-interface.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="xdiff"
+			>
+			<File
+				RelativePath="..\..\..\xdiff\xdiff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xdiffi.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xdiffi.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xemit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xemit.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xinclude.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xmacros.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xmerge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xpatience.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xprepare.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xprepare.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xtypes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xutils.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xutils.h"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/contrib/vcbuild/vcbuild.sln b/contrib/vcbuild/vcbuild.sln
new file mode 100644
index 0000000..fbd1377
--- /dev/null
+++ b/contrib/vcbuild/vcbuild.sln
@@ -0,0 +1,29 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual Studio 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libgit", "libgit\libgit.vcproj", "{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "git", "git\git.vcproj", "{E3E30E51-C5AD-407B-AB43-985E4111474A}"
+	ProjectSection(ProjectDependencies) = postProject
+		{F6DEC8C3-B803-4A86-8848-430F08B499E3} = {F6DEC8C3-B803-4A86-8848-430F08B499E3}
+	EndProjectSection
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{F6DEC8C3-B803-4A86-8848-430F08B499E3}.Debug|Win32.ActiveCfg = Debug|Win32
+		{F6DEC8C3-B803-4A86-8848-430F08B499E3}.Debug|Win32.Build.0 = Debug|Win32
+		{F6DEC8C3-B803-4A86-8848-430F08B499E3}.Release|Win32.ActiveCfg = Release|Win32
+		{F6DEC8C3-B803-4A86-8848-430F08B499E3}.Release|Win32.Build.0 = Release|Win32
+		{E3E30E51-C5AD-407B-AB43-985E4111474A}.Debug|Win32.ActiveCfg = Debug|Win32
+		{E3E30E51-C5AD-407B-AB43-985E4111474A}.Debug|Win32.Build.0 = Debug|Win32
+		{E3E30E51-C5AD-407B-AB43-985E4111474A}.Release|Win32.ActiveCfg = Release|Win32
+		{E3E30E51-C5AD-407B-AB43-985E4111474A}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/help.c b/help.c
index 6c46d8b..399b0b4 100644
--- a/help.c
+++ b/help.c
@@ -127,7 +127,7 @@ static int is_executable(const char *name)
 		return 0;
 
 #ifdef __MINGW32__
-	/* cannot trust the executable bit, peek into the file instead */
+{	/* cannot trust the executable bit, peek into the file instead */
 	char buf[3] = { 0 };
 	int n;
 	int fd = open(name, O_RDONLY);
@@ -140,6 +140,7 @@ static int is_executable(const char *name)
 				st.st_mode |= S_IXUSR;
 		close(fd);
 	}
+}
 #endif
 	return st.st_mode & S_IXUSR;
 }
diff --git a/run-command.c b/run-command.c
index ff3d8e2..06cce47 100644
--- a/run-command.c
+++ b/run-command.c
@@ -123,6 +123,7 @@ int start_command(struct child_process *cmd)
 		exit(127);
 	}
 #else
+{
 	int s0 = -1, s1 = -1, s2 = -1;	/* backups of stdin, stdout, stderr */
 	const char **sargv = cmd->argv;
 	char **env = environ;
@@ -186,6 +187,7 @@ int start_command(struct child_process *cmd)
 		dup2(s1, 1), close(s1);
 	if (s2 >= 0)
 		dup2(s2, 2), close(s2);
+}
 #endif
 
 	if (cmd->pid < 0) {
@@ -293,6 +295,7 @@ int run_command_v_opt_cd_env(const char **argv, int opt, const char *dir, const
 }
 
 #ifdef __MINGW32__
+#define __stdcall
 static __stdcall unsigned run_thread(void *data)
 {
 	struct async *async = data;
-- 
1.6.4.msysgit.0


[-- Attachment #4: 0002-enable-release-build.patch --]
[-- Type: application/octet-stream, Size: 55475 bytes --]

From ba67bc0341367ccaab1317902ae8acd7209214b7 Mon Sep 17 00:00:00 2001
From: Frank Li <lznuaa@gmail.com>
Date: Wed, 5 Aug 2009 14:39:01 +0800
Subject: [PATCH 2/5] enable release build

---
 compat/mingw.c                       |    1 -
 compat/mingw.h                       |   13 +-
 contrib/vcbuild/git/git.vcproj       |    6 +-
 contrib/vcbuild/include/unistd.h     |   39 +-
 contrib/vcbuild/libgit/libgit.vcproj | 2700 +++++++++++++++++-----------------
 5 files changed, 1394 insertions(+), 1365 deletions(-)

diff --git a/compat/mingw.c b/compat/mingw.c
index f3a74f8..96c1a5f 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -151,7 +151,6 @@ static inline time_t filetime_to_time_t(const FILETIME *ft)
  * When a path ends with a slash, the stat will fail with ENOENT. In
  * this case, we strip the trailing slashes and stat again.
  */
-#undef stat
 static int do_lstat(const char *file_name, struct stat *buf)
 {
 	WIN32_FILE_ATTRIBUTE_DATA fdata;
diff --git a/compat/mingw.h b/compat/mingw.h
index 281bfde..b4276c4 100644
--- a/compat/mingw.h
+++ b/compat/mingw.h
@@ -173,19 +173,24 @@ int mingw_getpagesize(void);
  */
 #undef off_t
 #define off_t off64_t
-#undef stat
+
+
+#define stat(x,y) mingw_lstat(x,y)
 #define stat      _stat64
-#define stat(x,y) _stati64(x,y)
+
 #undef lseek
 #define lseek _lseeki64
+
 int mingw_lstat(const char *file_name, struct stat *buf);
 int mingw_fstat(int fd, struct stat *buf);
+
 #undef fstat
 #define fstat mingw_fstat
+
 #undef lstat
 #define lstat mingw_lstat
-#undef _stati64
-#define _stati64(x,y) mingw_lstat(x,y)
+
+
 
 int mingw_utime(const char *file_name, const struct utimbuf *times);
 #define utime mingw_utime
diff --git a/contrib/vcbuild/git/git.vcproj b/contrib/vcbuild/git/git.vcproj
index ff5e1d9..49ab8bf 100644
--- a/contrib/vcbuild/git/git.vcproj
+++ b/contrib/vcbuild/git/git.vcproj
@@ -91,10 +91,10 @@
 		</Configuration>
 		<Configuration
 			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)\bin"
 			IntermediateDirectory="$(ConfigurationName)"
 			ConfigurationType="1"
-			CharacterSet="1"
+			CharacterSet="0"
 			WholeProgramOptimization="1"
 			>
 			<Tool
@@ -116,6 +116,7 @@
 				Name="VCCLCompilerTool"
 				Optimization="2"
 				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
 				RuntimeLibrary="2"
 				EnableFunctionLevelLinking="true"
@@ -134,6 +135,7 @@
 			/>
 			<Tool
 				Name="VCLinkerTool"
+				AdditionalDependencies="wininet.lib ws2_32.lib ../lib/zlib.lib"
 				LinkIncremental="1"
 				GenerateDebugInformation="true"
 				SubSystem="1"
diff --git a/contrib/vcbuild/include/unistd.h b/contrib/vcbuild/include/unistd.h
index 5b4d780..3450bc3 100644
--- a/contrib/vcbuild/include/unistd.h
+++ b/contrib/vcbuild/include/unistd.h
@@ -4,13 +4,35 @@
 /*Configuration*/
 
 #define __MINGW32__
+#define NO_PREAD
+#define NO_OPENSSL
 #define NO_LIBGEN_H
+#define NO_SYMLINK_HEAD
+#define NO_IPV6
+#define NO_SETENV
+#define NO_UNSETENV
+#define NO_STRCASESTR
+#define NO_STRLCPY
+#define NO_MEMMEM
+#define NO_C99_FORMAT
+#define NO_STRTOUMAX
+#define NO_MKDTEMP
+#define NO_MKSTEMPS
+
+#define RUNTIME_PREFIX
+#define NO_ST_BLOCKS_IN_STRUCT_STAT
+#define NO_NSEC
+#define USE_WIN32_MMAP
+#define USE_NED_ALLOCATOR
+
+#define NO_REGEX
+
 #define NO_SYS_SELECT_H
 #define NO_PTHEADS
 #define HAVE_STRING_H 1
 #define STDC_HEADERS
 #define NO_ICONV
-#define NO_OPENSSL
+
 #define WINVER 0x0500
 #define _WIN32_WINNT 0x0500
 #define _WIN32_WINDOWS 0x0410
@@ -18,20 +40,21 @@
 #define NTDDI_VERSION NTDDI_WIN2KSP1
 #define inline __inline
 #define __inline__ __inline
-#define USE_WIN32_MMAP
+
 #define SHA1_HEADER "mozilla-sha1\\sha1.h"
-#define NO_ST_BLOCKS_IN_STRUCT_STAT
+
 #define ETC_GITCONFIG "%HOME%"
-#define NO_IPV6
-#define RUNTIME_PREFIX
+
 #define NO_PTHREADS
 #define NO_CURL
-#define NO_MEMMEM
-#define NO_STRCASESTR
+
+
 #define va_copy va_start
 #define NO_STRTOUMAX
 #define REGEX_MALLOC
-#define NO_NSEC
+
+
+
 
 /* Win32 define for porting git*/
 
diff --git a/contrib/vcbuild/libgit/libgit.vcproj b/contrib/vcbuild/libgit/libgit.vcproj
index 8bf9696..7e45146 100644
--- a/contrib/vcbuild/libgit/libgit.vcproj
+++ b/contrib/vcbuild/libgit/libgit.vcproj
@@ -1,1350 +1,1350 @@
-<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="libgit"
-	ProjectGUID="{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
-	RootNamespace="libgit"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="1"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\include;..\..\compat;..\..\compat\fnmatch;..\..\compat\regex;.\"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\porting.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mozilla-sha1\sha1.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath="..\..\..\archive.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\attr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\blob.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\branch.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bundle.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache-tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\color.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\commit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\csum-file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\decorate.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\delta.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\dir.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\exec_cmd.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fetch-pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fsck.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\git-compat-util.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\graph.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\grep.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\hash.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\help.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\http.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\levenshtein.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\list-objects.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ll-merge.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\log-tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mailmap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-recursive.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\notes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\object.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-refs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-revindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\parse-options.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-ids.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pkt-line.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\progress.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\quote.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reachable.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reflog-walk.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\refs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\remote.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\rerere.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\revision.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\run-command.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\send-pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1-lookup.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\shortlog.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sideband.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sigchain.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\strbuf.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\string-list.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tag.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tar.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\thread-utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\transport.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-walk.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\unpack-trees.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\userdiff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\utf8.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\walker.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wt-status.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff-interface.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-		<Filter
-			Name="compat"
-			>
-			<File
-				RelativePath="..\..\..\compat\basename.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\cygwin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fnmatch\fnmatch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fnmatch\fnmatch.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fopen.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\memmem.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mingw.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mingw.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mkdtemp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mkstemps.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\pread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\qsort.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\regex\regex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\regex\regex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\setenv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\snprintf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strcasestr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strlcpy.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strtoumax.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\unsetenv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\win32.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\win32mmap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\winansi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="git"
-			>
-			<File
-				RelativePath="..\..\..\abspath.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\alias.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\alloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive-tar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive-zip.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\attr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\base85.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bisect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\blob.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-add.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-annotate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-apply.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-bisect--helper.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-blame.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-bundle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-cat-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-check-attr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-check-ref-format.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-checkout-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-checkout.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-clean.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-clone.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-commit-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-commit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-config.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-count-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-describe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-files.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fast-export.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch--tool.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fmt-merge-msg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-for-each-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fsck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-gc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-grep.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-help.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-init-db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-log.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-files.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mailinfo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mailsplit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-base.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-ours.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-recursive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mktree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-name-rev.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-pack-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-pack-refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-prune-packed.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-prune.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-push.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-read-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-receive-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-reflog.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rerere.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-reset.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rev-list.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rev-parse.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-revert.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rm.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-send-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-shortlog.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-show-branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-show-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-stripspace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-symbolic-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-tar-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-unpack-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-update-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-update-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-upload-archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-verify-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-verify-tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-write-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bundle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\color.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\combine-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\commit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\config.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\connect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\convert.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\copy.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\csum-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ctype.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\date.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\decorate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-lib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-no-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-break.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-order.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-pickaxe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-rename.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\dir.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\editor.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\entry.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\environment.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\exec_cmd.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fsck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\graph.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\grep.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\hash.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\help.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ident.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\levenshtein.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\list-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ll-merge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lockfile.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\log-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mailmap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\match-trees.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-recursive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\name-hash.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\object.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-check.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-revindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-write.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pager.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\parse-options.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-ids.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\path.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pkt-line.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\preload-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pretty.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\progress.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\quote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reachable.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\read-cache.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reflog-walk.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\rerere.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\revision.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\run-command.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\server-info.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\setup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1-lookup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1_file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1_name.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\shallow.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sideband.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sigchain.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\strbuf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\string-list.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\symlinks.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\thread-utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\trace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\transport.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-walk.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\unpack-trees.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\usage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\userdiff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\utf8.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\walker.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wrapper.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\write_or_die.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ws.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wt-status.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff-interface.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="xdiff"
-			>
-			<File
-				RelativePath="..\..\..\xdiff\xdiff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xdiffi.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xdiffi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xemit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xemit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xinclude.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xmacros.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xmerge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xpatience.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xprepare.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xprepare.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xtypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xutils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xutils.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\ReadMe.txt"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="libgit"
+	ProjectGUID="{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
+	RootNamespace="libgit"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\porting.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mozilla-sha1\sha1.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath="..\..\..\archive.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\attr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\blob.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\branch.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bundle.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache-tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\color.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\commit.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\csum-file.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\decorate.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\delta.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\dir.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\exec_cmd.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fetch-pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fsck.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\git-compat-util.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\graph.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\grep.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\hash.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\help.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\http.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\levenshtein.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\list-objects.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ll-merge.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\log-tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mailmap.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-recursive.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\notes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\object.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-refs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-revindex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\parse-options.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-ids.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pkt-line.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\progress.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\quote.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reachable.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reflog-walk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\refs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\remote.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\rerere.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\revision.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\run-command.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\send-pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1-lookup.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\shortlog.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sideband.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sigchain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\strbuf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\string-list.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tag.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tar.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\thread-utils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\transport.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-walk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\unpack-trees.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\userdiff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\utf8.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\walker.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wt-status.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff-interface.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<Filter
+			Name="compat"
+			>
+			<File
+				RelativePath="..\..\..\compat\basename.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\cygwin.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fnmatch\fnmatch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fnmatch\fnmatch.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fopen.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\memmem.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mingw.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mingw.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mkdtemp.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mkstemps.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\pread.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\qsort.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\regex\regex.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\regex\regex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\setenv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\snprintf.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strcasestr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strlcpy.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strtoumax.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\unsetenv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\win32.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\win32mmap.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\winansi.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="git"
+			>
+			<File
+				RelativePath="..\..\..\abspath.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\alias.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\alloc.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive-tar.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive-zip.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\attr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\base85.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bisect.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\blob.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-add.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-annotate.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-apply.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-bisect--helper.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-blame.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-bundle.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-cat-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-check-attr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-check-ref-format.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-checkout-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-checkout.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-clean.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-clone.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-commit-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-commit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-config.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-count-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-describe.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-files.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fast-export.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch--tool.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fmt-merge-msg.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-for-each-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fsck.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-gc.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-grep.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-help.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-init-db.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-log.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-files.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mailinfo.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mailsplit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-base.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-ours.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-recursive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mktree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-name-rev.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-pack-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-pack-refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-prune-packed.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-prune.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-push.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-read-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-receive-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-reflog.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rerere.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-reset.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rev-list.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rev-parse.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-revert.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rm.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-send-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-shortlog.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-show-branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-show-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-stripspace.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-symbolic-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-tar-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-unpack-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-update-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-update-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-upload-archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-verify-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-verify-tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-write-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bundle.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\color.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\combine-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\commit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\config.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\connect.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\convert.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\copy.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\csum-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ctype.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\date.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\decorate.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-lib.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-no-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-break.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-order.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-pickaxe.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-rename.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\dir.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\editor.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\entry.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\environment.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\exec_cmd.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fsck.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\graph.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\grep.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\hash.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\help.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ident.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\levenshtein.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\list-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ll-merge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\lockfile.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\log-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mailmap.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\match-trees.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-recursive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\name-hash.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\object.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-check.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-revindex.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-write.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pager.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\parse-options.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-ids.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\path.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pkt-line.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\preload-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pretty.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\progress.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\quote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reachable.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\read-cache.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reflog-walk.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\rerere.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\revision.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\run-command.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\server-info.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\setup.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1-lookup.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1_file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1_name.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\shallow.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sideband.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sigchain.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\strbuf.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\string-list.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\symlinks.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\thread-utils.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\trace.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\transport.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-walk.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\unpack-trees.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\usage.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\userdiff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\utf8.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\walker.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wrapper.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\write_or_die.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ws.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wt-status.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff-interface.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="xdiff"
+			>
+			<File
+				RelativePath="..\..\..\xdiff\xdiff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xdiffi.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xdiffi.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xemit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xemit.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xinclude.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xmacros.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xmerge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xpatience.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xprepare.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xprepare.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xtypes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xutils.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xutils.h"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
-- 
1.6.4.msysgit.0


[-- Attachment #5: 0003-Release-log-command-okay.patch --]
[-- Type: application/octet-stream, Size: 848 bytes --]

From bbec8b9376d7183abda907de0e4f995f79fe9914 Mon Sep 17 00:00:00 2001
From: Frank Li <lznuaa@gmail.com>
Date: Wed, 5 Aug 2009 21:31:36 +0800
Subject: [PATCH 3/5] Release log command okay

---
 contrib/vcbuild/libgit/libgit.vcproj |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/contrib/vcbuild/libgit/libgit.vcproj b/contrib/vcbuild/libgit/libgit.vcproj
index 7e45146..4f2d234 100644
--- a/contrib/vcbuild/libgit/libgit.vcproj
+++ b/contrib/vcbuild/libgit/libgit.vcproj
@@ -105,6 +105,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="2"
+				InlineFunctionExpansion="1"
 				EnableIntrinsicFunctions="true"
 				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
 				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-- 
1.6.4.msysgit.0


[-- Attachment #6: 0004-Move-open-dir-function-to-mingw.c.patch --]
[-- Type: application/octet-stream, Size: 55367 bytes --]

From b152ebd366280699a166c51466a031329e3d1300 Mon Sep 17 00:00:00 2001
From: Frank Li <lznuaa@gmail.com>
Date: Sat, 8 Aug 2009 11:45:17 +0800
Subject: [PATCH 4/5] Move open dir function to mingw.c

Signed-off-by: Frank Li <lznuaa@gmail.com>
---
 compat/mingw.c                       |   32 +
 contrib/vcbuild/include/unistd.h     |    9 +-
 contrib/vcbuild/libgit/libgit.vcproj | 2702 +++++++++++++++++-----------------
 contrib/vcbuild/porting.c            |   66 +-
 4 files changed, 1393 insertions(+), 1416 deletions(-)

diff --git a/compat/mingw.c b/compat/mingw.c
index 96c1a5f..1cc2cb7 100644
--- a/compat/mingw.c
+++ b/compat/mingw.c
@@ -1234,4 +1234,36 @@ struct dirent *mingw_readdir(DIR *dir)
 
 	return (struct dirent*)&dir->dd_dir;
 }
+
+DIR *opendir(const char *name)
+{
+	int len;
+	DIR *p;
+	p=(DIR*)malloc(sizeof(DIR));
+	memset(p,0,sizeof(DIR));
+	strncpy(p->dd_name,name,PATH_MAX);
+	len=strlen(p->dd_name);
+	p->dd_name[len]='/';
+	p->dd_name[len+1]='*';
+
+	if(p==NULL)
+		return NULL;
+
+	p->dd_handle=_findfirst(p->dd_name,&p->dd_dta);
+
+	if(p->dd_handle == -1) 
+	{
+		free(p);
+		return NULL;
+	}
+	return p;
+}
+int closedir(DIR *dir)
+{
+	_findclose(dir->dd_handle);
+	free(dir);
+	return 0;
+}
+
 #endif // !NO_MINGW_REPLACE_READDIR
+
diff --git a/contrib/vcbuild/include/unistd.h b/contrib/vcbuild/include/unistd.h
index 3450bc3..93ecd74 100644
--- a/contrib/vcbuild/include/unistd.h
+++ b/contrib/vcbuild/include/unistd.h
@@ -151,9 +151,10 @@ typedef int64_t off64_t;
 #define GIT_VERSION "1.6"
 #define BINDIR "bin"
 #define PREFIX "."
-#define GIT_MAN_PATH "../man"
-#define GIT_INFO_PATH "../info"
-#define GIT_HTML_PATH "../html"
+#define GIT_MAN_PATH "man"
+#define GIT_INFO_PATH "info"
+#define GIT_HTML_PATH "html"
+#define DEFAULT_GIT_TEMPLATE_DIR "templates"
 
 #define NO_STRLCPY
 #define NO_UNSETENV
@@ -165,5 +166,5 @@ typedef int64_t off64_t;
 #define dup _dup
 #define dup2 _dup2
 //#define lseek _lseek
-#define write vs_write
+//#define write vs_write
 #endif
\ No newline at end of file
diff --git a/contrib/vcbuild/libgit/libgit.vcproj b/contrib/vcbuild/libgit/libgit.vcproj
index 4f2d234..5bac103 100644
--- a/contrib/vcbuild/libgit/libgit.vcproj
+++ b/contrib/vcbuild/libgit/libgit.vcproj
@@ -1,1351 +1,1351 @@
-<?xml version="1.0" encoding="gb2312"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="libgit"
-	ProjectGUID="{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
-	RootNamespace="libgit"
-	Keyword="Win32Proj"
-	TargetFrameworkVersion="196613"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				InlineFunctionExpansion="1"
-				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
-				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="3"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="4"
-			CharacterSet="0"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				InlineFunctionExpansion="1"
-				EnableIntrinsicFunctions="true"
-				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
-				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
-				RuntimeLibrary="2"
-				EnableFunctionLevelLinking="true"
-				UsePrecompiledHeader="0"
-				WarningLevel="3"
-				DebugInformationFormat="3"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLibrarianTool"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath="..\porting.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mozilla-sha1\sha1.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath="..\..\..\archive.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\attr.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\blob.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\branch.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bundle.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache-tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\color.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\commit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\csum-file.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\decorate.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\delta.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\dir.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\exec_cmd.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fetch-pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fsck.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\git-compat-util.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\graph.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\grep.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\hash.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\help.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\http.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\levenshtein.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\list-objects.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ll-merge.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\log-tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mailmap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-recursive.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\notes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\object.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-refs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-revindex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\parse-options.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-ids.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pkt-line.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\progress.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\quote.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reachable.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reflog-walk.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\refs.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\remote.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\rerere.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\revision.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\run-command.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\send-pack.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1-lookup.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\shortlog.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sideband.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sigchain.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\strbuf.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\string-list.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tag.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tar.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\thread-utils.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\transport.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-walk.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\unpack-trees.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\userdiff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\utf8.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\walker.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wt-status.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff-interface.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-		</Filter>
-		<Filter
-			Name="compat"
-			>
-			<File
-				RelativePath="..\..\..\compat\basename.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\cygwin.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fnmatch\fnmatch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fnmatch\fnmatch.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\fopen.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\memmem.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mingw.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mingw.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mkdtemp.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\mkstemps.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\pread.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\qsort.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\regex\regex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\regex\regex.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\setenv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\snprintf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strcasestr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strlcpy.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\strtoumax.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\unsetenv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\win32.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\win32mmap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\compat\winansi.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="git"
-			>
-			<File
-				RelativePath="..\..\..\abspath.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\alias.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\alloc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive-tar.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive-zip.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\attr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\base85.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bisect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\blob.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-add.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-annotate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-apply.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-bisect--helper.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-blame.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-bundle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-cat-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-check-attr.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-check-ref-format.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-checkout-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-checkout.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-clean.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-clone.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-commit-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-commit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-config.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-count-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-describe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-files.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fast-export.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch--tool.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fetch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fmt-merge-msg.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-for-each-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-fsck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-gc.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-grep.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-help.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-init-db.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-log.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-files.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-ls-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mailinfo.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mailsplit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-base.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-ours.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge-recursive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-merge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mktree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-mv.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-name-rev.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-pack-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-pack-refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-prune-packed.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-prune.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-push.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-read-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-receive-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-reflog.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rerere.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-reset.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rev-list.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rev-parse.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-revert.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-rm.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-send-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-shortlog.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-show-branch.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-show-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-stripspace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-symbolic-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-tar-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-unpack-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-update-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-update-ref.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-upload-archive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-verify-pack.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-verify-tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\builtin-write-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\bundle.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\cache-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\color.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\combine-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\commit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\config.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\connect.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\convert.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\copy.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\csum-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ctype.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\date.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\decorate.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-lib.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff-no-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-break.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-order.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-pickaxe.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\diffcore-rename.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\dir.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\editor.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\entry.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\environment.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\exec_cmd.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\fsck.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\graph.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\grep.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\hash.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\help.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ident.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\levenshtein.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\list-objects.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ll-merge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\lockfile.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\log-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\mailmap.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\match-trees.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-recursive.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\merge-tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\name-hash.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\object.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-check.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-revindex.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pack-write.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pager.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\parse-options.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-delta.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\patch-ids.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\path.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pkt-line.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\preload-index.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\pretty.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\progress.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\quote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reachable.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\read-cache.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\reflog-walk.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\refs.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\remote.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\rerere.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\revision.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\run-command.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\server-info.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\setup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1-lookup.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1_file.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sha1_name.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\shallow.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sideband.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\sigchain.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\strbuf.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\string-list.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\symlinks.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tag.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\thread-utils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\trace.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\transport.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-diff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree-walk.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\tree.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\unpack-trees.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\usage.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\userdiff.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\utf8.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\walker.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wrapper.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\write_or_die.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\ws.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\wt-status.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff-interface.c"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="xdiff"
-			>
-			<File
-				RelativePath="..\..\..\xdiff\xdiff.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xdiffi.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xdiffi.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xemit.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xemit.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xinclude.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xmacros.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xmerge.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xpatience.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xprepare.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xprepare.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xtypes.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xutils.c"
-				>
-			</File>
-			<File
-				RelativePath="..\..\..\xdiff\xutils.h"
-				>
-			</File>
-		</Filter>
-		<File
-			RelativePath=".\ReadMe.txt"
-			>
-		</File>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="gb2312"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9.00"
+	Name="libgit"
+	ProjectGUID="{F6DEC8C3-B803-4A86-8848-430F08B499E3}"
+	RootNamespace="libgit"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="0"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="0"
+				InlineFunctionExpansion="1"
+				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
+				PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="4"
+			CharacterSet="0"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="2"
+				InlineFunctionExpansion="1"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\..;..\..;..\;..\include;..\..\..\compat;..\..\..\compat\fnmatch;..\..\..\compat\regex;.\"
+				PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLibrarianTool"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Source Files"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\porting.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mozilla-sha1\sha1.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Header Files"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath="..\..\..\archive.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\attr.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\blob.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\branch.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bundle.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache-tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\color.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\commit.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\csum-file.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\decorate.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\delta.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\dir.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\exec_cmd.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fetch-pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fsck.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\git-compat-util.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\graph.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\grep.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\hash.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\help.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\http.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\levenshtein.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\list-objects.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ll-merge.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\log-tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mailmap.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-recursive.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\notes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\object.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-refs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-revindex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\parse-options.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-ids.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pkt-line.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\progress.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\quote.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reachable.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reflog-walk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\refs.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\remote.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\rerere.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\revision.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\run-command.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\send-pack.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1-lookup.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\shortlog.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sideband.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sigchain.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\strbuf.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\string-list.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tag.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tar.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\thread-utils.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\transport.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-walk.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\unpack-trees.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\userdiff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\utf8.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\walker.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wt-status.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff-interface.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Resource Files"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+		<Filter
+			Name="compat"
+			>
+			<File
+				RelativePath="..\..\..\compat\basename.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\cygwin.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fnmatch\fnmatch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fnmatch\fnmatch.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\fopen.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\memmem.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mingw.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mingw.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mkdtemp.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\mkstemps.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\pread.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\qsort.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\regex\regex.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\regex\regex.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\setenv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\snprintf.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strcasestr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strlcpy.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\strtoumax.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\unsetenv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\win32.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\win32mmap.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\compat\winansi.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="git"
+			>
+			<File
+				RelativePath="..\..\..\abspath.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\alias.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\alloc.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive-tar.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive-zip.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\attr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\base85.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bisect.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\blob.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-add.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-annotate.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-apply.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-bisect--helper.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-blame.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-bundle.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-cat-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-check-attr.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-check-ref-format.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-checkout-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-checkout.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-clean.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-clone.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-commit-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-commit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-config.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-count-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-describe.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-files.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fast-export.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch--tool.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fetch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fmt-merge-msg.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-for-each-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-fsck.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-gc.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-grep.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-help.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-init-db.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-log.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-files.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-ls-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mailinfo.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mailsplit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-base.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-ours.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge-recursive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-merge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mktree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-mv.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-name-rev.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-pack-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-pack-refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-prune-packed.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-prune.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-push.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-read-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-receive-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-reflog.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rerere.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-reset.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rev-list.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rev-parse.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-revert.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-rm.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-send-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-shortlog.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-show-branch.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-show-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-stripspace.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-symbolic-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-tar-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-unpack-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-update-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-update-ref.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-upload-archive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-verify-pack.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-verify-tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\builtin-write-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\bundle.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\cache-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\color.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\combine-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\commit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\config.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\connect.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\convert.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\copy.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\csum-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ctype.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\date.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\decorate.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-lib.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff-no-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-break.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-order.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-pickaxe.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\diffcore-rename.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\dir.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\editor.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\entry.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\environment.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\exec_cmd.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\fsck.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\graph.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\grep.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\hash.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\help.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ident.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\levenshtein.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\list-objects.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ll-merge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\lockfile.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\log-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\mailmap.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\match-trees.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-recursive.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\merge-tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\name-hash.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\object.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-check.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-revindex.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pack-write.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pager.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\parse-options.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-delta.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\patch-ids.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\path.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pkt-line.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\preload-index.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\pretty.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\progress.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\quote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reachable.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\read-cache.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\reflog-walk.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\refs.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\remote.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\rerere.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\revision.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\run-command.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\server-info.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\setup.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1-lookup.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1_file.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sha1_name.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\shallow.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sideband.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\sigchain.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\strbuf.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\string-list.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\symlinks.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tag.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\thread-utils.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\trace.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\transport.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-diff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree-walk.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\tree.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\unpack-trees.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\usage.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\userdiff.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\utf8.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\walker.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wrapper.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\write_or_die.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\ws.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\wt-status.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff-interface.c"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="xdiff"
+			>
+			<File
+				RelativePath="..\..\..\xdiff\xdiff.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xdiffi.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xdiffi.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xemit.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xemit.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xinclude.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xmacros.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xmerge.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xpatience.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xprepare.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xprepare.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xtypes.h"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xutils.c"
+				>
+			</File>
+			<File
+				RelativePath="..\..\..\xdiff\xutils.h"
+				>
+			</File>
+		</Filter>
+		<File
+			RelativePath=".\ReadMe.txt"
+			>
+		</File>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>
diff --git a/contrib/vcbuild/porting.c b/contrib/vcbuild/porting.c
index 5381862..0625bb4 100644
--- a/contrib/vcbuild/porting.c
+++ b/contrib/vcbuild/porting.c
@@ -7,10 +7,12 @@
 
 int snprintf(char *buff,int size, char *fmt, ...)
 {
+	int n;
 	va_list pArgList;
 	va_start(pArgList,fmt);
-	_snprintf(buff,size-1,fmt,pArgList);
+	n=_snprintf(buff,size-1,fmt,pArgList);
 	va_end(pArgList);
+	return n;
 }
 
 int strcasecmp (const char *s1, const char *s2)
@@ -18,16 +20,12 @@ int strcasecmp (const char *s1, const char *s2)
 	int size1=strlen(s1);
 	int sisz2=strlen(s2);
 
-	_strnicmp(s1,s2,sisz2>size1?sisz2:size1);
+	return _strnicmp(s1,s2,sisz2>size1?sisz2:size1);
 }
 
 int strncasecmp (const char *s1, const char *s2,size_t n)
 {
-	_strnicmp(s1,s2,n);
-}
-size_t getpagesize(void)
-{
-	return 0x1000;
+	return _strnicmp(s1,s2,n);
 }
 
 unsigned long long int
@@ -35,57 +33,3 @@ strtoull(const char *nptr, char **endptr, int base)
 {
 	return _strtoui64(nptr,endptr,base);
 }
-
-DIR *opendir(const char *name)
-{
-	int len;
-	DIR *p;
-	p=(DIR*)malloc(sizeof(DIR));
-	memset(p,0,sizeof(DIR));
-	strncpy(p->dd_name,name,PATH_MAX);
-	len=strlen(p->dd_name);
-	p->dd_name[len]='/';
-	p->dd_name[len+1]='*';
-
-	if(p==NULL)
-		return NULL;
-
-	p->dd_handle=_findfirst(p->dd_name,&p->dd_dta);
-
-	if(p->dd_handle == -1) 
-	{
-		free(p);
-		return NULL;
-	}
-	return p;
-}
-int closedir(DIR *dir)
-{
-	_findclose(dir->dd_handle);
-	free(dir);
-	return 0;
-}
-struct dirent *readdir(DIR *dir)
-{
-	if(_findnext(dir->dd_handle,&dir->dd_dta))
-		return NULL;
-
-	strcpy(dir->dd_dir.d_name,dir->dd_dta.name);
-	dir->dd_dir.d_namlen = dir->dd_dta.size;
-	
-	return &dir->dd_dir;
-}
-char *mkdtemp(char *template)
-{
-	return NULL;
-}
-ssize_t pread(int fd, void *buf, size_t nbytes, off_t offset)
-{
-	_lseek(fd,offset,SEEK_SET);
-	return read(fd,buf,nbytes);
-}
-
-int vs_write(int fd, void * buf, size_t nbytes)
-{
-	return _write(fd,buf,nbytes);
-}
\ No newline at end of file
-- 
1.6.4.msysgit.0


^ permalink raw reply related

* Re: .gitignore vs untracked working file
From: Rostislav Svoboda @ 2009-08-10 13:49 UTC (permalink / raw)
  To: Johannes Sixt, git
In-Reply-To: <4A801D48.3020902@viscovery.net>

> This is not only about ignored files, but untracked files. And the check
> is already there: git said:
>
> Untracked working tree file 'Project/bin/path/file.jjt' would be
> overwritten by merge.

Well the meaning of the error message is clear to you but it wasn't
for me. I simply would not ask if I knew how to correctly interpret
it. I hope I'll have a time to make a little improvement here...

Bost

PS: ...and you can reject it if you don't agree :-)

^ permalink raw reply

* Re: backups with git
From: Sitaram Chamarty @ 2009-08-10 13:38 UTC (permalink / raw)
  To: Roald de Vries; +Cc: git
In-Reply-To: <41CB836B-6057-448E-805F-F25EAF765D27@roalddevries.nl>

On Mon, Aug 10, 2009 at 1:57 PM, Roald de Vries<rdv@roalddevries.nl> wrote:

> I'm thinking of using git as a backup solution for my whole system, setting
> my $GIT_DIR to something like "/backupdisc/backup". Does that seem sensible?

The two questions you have to ask yourself are: will I ever branch and
merge in this "repo", and do I really want versions from weeks and
months ago?

A "no" to the first question means you're essentially using a very
powerful VCS as a mere backup system.  I suggest rdiff-backup or (if
it's mature enough now, not sure) duplicity..

A "no" to the second question means you're needlessly keeping lots of
old data, and have to jump through hoops to get rid of it if you need
to.

There's a limit to how much you can Macgyver git into doing what it is
not intended for :-)

Having said all that, I do use git to manage parts of my $HOME that do
satisfy those constraints (config files, ~/bin, etc) -- I do sometimes
branch and merge, and I do want really old versions.  I do this by
putting all of them in a repo, and symlinking them to $HOME.

Regards,

Sitaram

^ permalink raw reply

* [PATCH] Check return value of ftruncate call in http.c.  Remove possible mem leak
From: Jeff Lasslett @ 2009-08-10 13:42 UTC (permalink / raw)
  To: git, gitster; +Cc: Jeff Lasslett

In new_http_object_request(), check ftruncate() call return value and
handle possible errors.  Remove possible leak of mem pointed to by url.

Signed-off-by: Jeff Lasslett <jeff.lasslett@gmail.com>
---
 http.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/http.c b/http.c
index a2720d5..e8317e1 100644
--- a/http.c
+++ b/http.c
@@ -1098,7 +1098,7 @@ struct http_object_request *new_http_object_request(const char *base_url,
 	char *hex = sha1_to_hex(sha1);
 	char *filename;
 	char prevfile[PATH_MAX];
-	char *url;
+	char *url = NULL;
 	int prevlocal;
 	unsigned char prev_buf[PREV_BUF_SIZE];
 	ssize_t prev_read = 0;
@@ -1189,7 +1189,11 @@ struct http_object_request *new_http_object_request(const char *base_url,
 		if (prev_posn>0) {
 			prev_posn = 0;
 			lseek(freq->localfile, 0, SEEK_SET);
-			ftruncate(freq->localfile, 0);
+			if (ftruncate(freq->localfile, 0) < 0) {
+				error("Couldn't truncate temporary file %s for %s: %s",
+					  freq->tmpfile, freq->filename, strerror(errno));
+				goto abort;
+			}
 		}
 	}
 
@@ -1198,7 +1202,7 @@ struct http_object_request *new_http_object_request(const char *base_url,
 	curl_easy_setopt(freq->slot->curl, CURLOPT_FILE, freq);
 	curl_easy_setopt(freq->slot->curl, CURLOPT_WRITEFUNCTION, fwrite_sha1_file);
 	curl_easy_setopt(freq->slot->curl, CURLOPT_ERRORBUFFER, freq->errorstr);
-	curl_easy_setopt(freq->slot->curl, CURLOPT_URL, url);
+	curl_easy_setopt(freq->slot->curl, CURLOPT_URL, freq->url);
 	curl_easy_setopt(freq->slot->curl, CURLOPT_HTTPHEADER, no_pragma_header);
 
 	/*
@@ -1216,10 +1220,12 @@ struct http_object_request *new_http_object_request(const char *base_url,
 				 CURLOPT_HTTPHEADER, range_header);
 	}
 
+	free(url);
 	return freq;
 
-	free(url);
 abort:
+	free(url);
+	free(freq->url);
 	free(filename);
 	free(freq);
 	return NULL;
-- 
1.6.4.59.g4d590.dirty

^ permalink raw reply related

* Re: backups with git
From: Martin Langhoff @ 2009-08-10 13:20 UTC (permalink / raw)
  To: Roald de Vries; +Cc: git
In-Reply-To: <41CB836B-6057-448E-805F-F25EAF765D27@roalddevries.nl>

On Mon, Aug 10, 2009 at 4:27 AM, Roald de Vries<rdv@roalddevries.nl> wrote:
> I'm thinking of using git as a backup solution for my whole system, setting

There are lots of little problems. The two main ones are, IMHO

 - permissions & ownership
 - large files

Some ppl use it for their homedir, and it can be a moderate success as
long as they don't deal with large files.

cheers,


m
-- 
 martin.langhoff@gmail.com
 martin@laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff

^ permalink raw reply

* Re: .gitignore vs untracked working file
From: Johannes Sixt @ 2009-08-10 13:14 UTC (permalink / raw)
  To: Rostislav Svoboda; +Cc: git, Uwe Kleine-König
In-Reply-To: <286817520908100559u6cdcaab0u3a7fdb92cd43eed9@mail.gmail.com>

Rostislav Svoboda schrieb:
> $ git ls-tree master Project/bin/path/file.jjt
> 100644 blob 8d5e24f12c37fd1a435de2d4402591f5b0c2a3cc
> Project/bin/path/file.jjt
> 
> There's a file.jjt in the repo already! But guys! I bet I'm not the
> first one having this problem. Do you think it would be wise to have a
> kind of a check returning
>     'The file '...' ignored in the branch X is not ignored in the
> branch Y (or something)'

This is not only about ignored files, but untracked files. And the check
is already there: git said:

Untracked working tree file 'Project/bin/path/file.jjt' would be
overwritten by merge.

-- Hannes

^ permalink raw reply

* Re: .gitignore vs untracked working file
From: Rostislav Svoboda @ 2009-08-10 12:59 UTC (permalink / raw)
  To: Johannes Sixt, git, Uwe Kleine-König
In-Reply-To: <4A800785.8050909@viscovery.net>

2009/8/10 Johannes Sixt <j.sixt@viscovery.net>:
> Rostislav Svoboda schrieb:
>> 2009/8/10 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
>>> Hello,
>>>
>>>> $ git checkout master
>>>> error: Untracked working tree file 'Project/bin/path/file.jjt' would
>>>> be overwritten by merge.
>>> What is the output of
>>>
>>>        $ git ls-files master bin/
>>
>> Nothing:
>
> It should have been
>
>        $ git ls-tree master bin

Merde!

$ git ls-tree master Project/bin/path/file.jjt
100644 blob 8d5e24f12c37fd1a435de2d4402591f5b0c2a3cc
Project/bin/path/file.jjt

There's a file.jjt in the repo already! But guys! I bet I'm not the
first one having this problem. Do you think it would be wise to have a
kind of a check returning
    'The file '...' ignored in the branch X is not ignored in the
branch Y (or something)'

instead of responding questions like mine over and over again?

Bost

PS: ... and yea, thx a lot!

^ permalink raw reply

* Re: [PATCH] fix potential infinite loop given large unsigned integer
From: Johannes Schindelin @ 2009-08-10 12:24 UTC (permalink / raw)
  To: Erik Faye-Lund; +Cc: Christian Couder, Junio C Hamano, Ryan Flynn, git
In-Reply-To: <40aa078e0908100412l3c2afd1bnda9b10aaf1de383f@mail.gmail.com>

Hi,

On Mon, 10 Aug 2009, Erik Faye-Lund wrote:

> On Mon, Aug 10, 2009 at 7:24 AM, Christian
> Couder<chriscool@tuxfamily.org> wrote:
> >> log10() appears to be C99, but can be emulated on earlier C-versions by
> >> doing #define log10(x) (log(x) / log(10.0))
> >
> > That would mean linking with -lm?
> 
> I guess so. Are we currently trying to avoid linking to the math-parts 
> of libc?

Yes.

I guess we could fix the overflow thing very easily, though:

static unsigned int digits_of_number(unsigned int number) {
	unsigned int result;
	for (result = 1; number; number /= 10, result++)
		; /* do nothing */
	return result;
}

Ciao,
Dscho

^ permalink raw reply

* Re: [PATCH] gitweb: Optimize git-favicon.png
From: Benjamin Kramer @ 2009-08-10 12:09 UTC (permalink / raw)
  To: Jakub Narebski; +Cc: git
In-Reply-To: <200908101357.49967.jnareb@gmail.com>

Reduce size of git-favicon.png using a combination of optipng and
pngout. From 164 bytes to 115 bytes (30% reduction). Also reduce
git-logo.png's size by one byte using advcomp.

Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
---

Am 10.08.09 13:57, schrieb Jakub Narebski:
> 
> Can you optimize git-logo.png?  Smush.it wasn't able to do it, but
> perhaps different PNG optimization tool will reduce git-logo.png
> size...
> 

advcomp was able to shave one byte off git-logo.png. I don't know if
that's worth the effort.

 gitweb/git-favicon.png |  Bin 164 -> 115 bytes
 gitweb/git-logo.png    |  Bin 208 -> 207 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/gitweb/git-favicon.png b/gitweb/git-favicon.png
index de637c0608090162a6ce6b51d5f9bfe512cf8bcf..aae35a70e70351fe6dcb3e905e2e388cf0cb0ac3 100644
GIT binary patch
delta 85
zcmZ3&SUf?+pEJNG#Pt9J149GD|NsBH{?u>)*{Yr{jv*Y^lOtGJcy4sCvGS>LGzvuT
nGSco!%*slUXkjQ0+{(x>@rZKt$^5c~Kn)C@u6{1-oD!M<s|Fj6

delta 135
zcmXS3!Z<;to+rR3#Pt9J149GDe=s<ftM(tr<t*@sEM{Qf76xHPhFNnYfP!|OE{-7;
zjI0MY3OYE5upapO?DR{I1pyyR7cx(jY7y^{FfMCvb5IaiQM`NJfeQjFwttKJyJNq@
hveI=@x=fAo=hV3$-MIWu9%vGSr>mdKI;RB2CICA_GnfDX

diff --git a/gitweb/git-logo.png b/gitweb/git-logo.png
index 16ae8d5382de5ffe63b54139245143513a87446e..f4ede2e944868b9a08401dafeb2b944c7166fd0a 100644
GIT binary patch
delta 156
zcmV;N0Av5q0nY)D7zqdi0002!DLE{WAt!%wNkl<Zc-rli(F%Yd6hp6fOaK3mORa}A
z2z1~>otGhl0|P~i$)-spEt!DmG!4Oj(E`y{=&}QVPE<oMZAOGbjq8K~(J6VKR=YOW
zicn}%Cu(Zk>Vav`S8+sy%-3K4v`F-e93n=ACyP7?a2n|X$Q?(91Ro%p-ctYo000O{
KMNUMnLSTYNOFs$#

delta 157
zcmV;O0Al~o0nh=E7zqRe0000j+0-qOAt!%xNkl<ZD9>X^XCMShTo?)nDq>S%AOZ*t
zX+^A|p#d-qlVCO`QjxI%5!T^VWNd8AY-|jo3~(x91}ec~9kT%fQ=|y!00S5%RuR<U
zAeS59v<@{SaVdhCFu0Qn5xGT(!HuAzL?H$zL4rVq!9|H6Z~*|MJt4&s9Gd<B000R9
LNkvXXu0mjfVZ1Yp

-- 
1.6.4.67.gea5b1
 

^ permalink raw reply

* Re: [PATCH] gitweb: Optimize git-favicon.png
From: Jakub Narebski @ 2009-08-10 11:57 UTC (permalink / raw)
  To: Benjamin Kramer; +Cc: git
In-Reply-To: <4A8006DD.30504@googlemail.com>

On Mon, 10 Aug 2009, Benjamin Kramer wrote:

> Reduce size of git-favicon.png using a combination of optipng and
> pngout. From 164 bytes to 115 bytes (30% reduction).
> 
> Signed-off-by: Benjamin Kramer <benny.kra@googlemail.com>
> ---
> 
> The contest is now open. Who can do better?
> 
>  gitweb/git-favicon.png |  Bin 164 -> 115 bytes
>  1 files changed, 0 insertions(+), 0 deletions(-)

Can you optimize git-logo.png?  Smush.it wasn't able to do it, but
perhaps different PNG optimization tool will reduce git-logo.png
size...

-- 
Jakub Narebski

Git User's Survey 2009
http://tinyurl.com/GitSurvey2009

^ permalink raw reply

* Re: .gitignore vs untracked working file
From: Johannes Sixt @ 2009-08-10 11:41 UTC (permalink / raw)
  To: Rostislav Svoboda; +Cc: git, Uwe Kleine-König
In-Reply-To: <286817520908100317k4e98faf9n4e852b7abd4719fe@mail.gmail.com>

Rostislav Svoboda schrieb:
> 2009/8/10 Uwe Kleine-König <u.kleine-koenig@pengutronix.de>:
>> Hello,
>>
>>> $ git checkout master
>>> error: Untracked working tree file 'Project/bin/path/file.jjt' would
>>> be overwritten by merge.
>> What is the output of
>>
>>        $ git ls-files master bin/
> 
> Nothing:

It should have been

	$ git ls-tree master bin

> BTW the rule to ignore bin/ is exclusively in the .gitignore on the
> branch mybranch not in the master branch. Might this be the problem?

It might be, depending on how precious Project/bin/path/file.jjt is for
you. Try this:

	$ git checkout -f master

This will overwrite the existing file with the version from master. If you
later

	$ git checkout mybranch

then the file will be *removed*.

-- Hannes

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox