Skip to content

Commit b1ea7b9

Browse files
libgit2-1.5.0
test case for multiple repeated commits failing with previous version (#53) test gitserver handle that git using "main" as default branch name update to libgit2-1.5.0 gitpod setup add safe directory config for nodefs tests bump version to v0.0.9 fixes #53
1 parent 769b73c commit b1ea7b9

File tree

14 files changed

+130
-37
lines changed

14 files changed

+130
-37
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ node_modules
99
package
1010
.idea
1111
emsdk
12+
nodefsclonetest

.gitpod.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# This configuration file was automatically generated by Gitpod.
2+
# Please adjust to your needs (see https://www.gitpod.io/docs/config-gitpod-file)
3+
# and commit this file to your remote git repository to share the goodness with others.
4+
5+
tasks:
6+
- init: |
7+
npm install
8+
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
9+
sudo apt update
10+
sudo apt install -y ./google-chrome-stable_current_amd64.deb
11+
rm ./google-chrome-stable_current_amd64.deb
12+
sh setup.sh
13+
git clone https://github.com/emscripten-core/emsdk.git
14+
cd emsdk
15+
./emsdk install latest
16+
./emsdk activate latest
17+
cd ..
18+
source ./emsdk/emsdk_env.sh
19+
20+

emscriptenbuild/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ deps
44
examples
55
libgit2*
66
Makefile
7+
*.cmake
8+
*.a

emscriptenbuild/build.sh

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ ASYNCIFY_FLAGS=" -s ASYNCIFY -s 'ASYNCIFY_IMPORTS=[\"emscriptenhttp_do_get\", \"
55
POST_JS="--post-js $(pwd)/post.js"
66

77
# Reset in case we've done an '-async' build
8-
cp ../libgit2patchedfiles/src/transports/emscriptenhttp.c ../libgit2/src/transports/emscriptenhttp.c
8+
cp ../libgit2patchedfiles/src/transports/emscriptenhttp.c ../libgit2/src/libgit2/transports/emscriptenhttp.c
99

1010
# Set build type to Release for release
1111
if [ "$1" == "Release" ]; then
@@ -16,21 +16,20 @@ fi
1616
# For async transports we overwrite emscripenhttp.c, use post-async.js and change the extra flags
1717
if [ "$1" == "Release-async" ]; then
1818
BUILD_TYPE=Release
19-
cp ../libgit2patchedfiles/src/transports/emscriptenhttp-async.c ../libgit2/src/transports/emscriptenhttp.c
19+
cp ../libgit2patchedfiles/src/transports/emscriptenhttp-async.c ../libgit2/src/libgit2/transports/emscriptenhttp.c
2020

2121
EXTRA_CMAKE_C_FLAGS="-O3 $ASYNCIFY_FLAGS"
2222
POST_JS="--post-js $(pwd)/post-async.js"
2323
elif [ "$1" == "Debug-async" ]; then
2424
BUILD_TYPE=Debug
25-
cp ../libgit2patchedfiles/src/transports/emscriptenhttp-async.c ../libgit2/src/transports/emscriptenhttp.c
25+
cp ../libgit2patchedfiles/src/transports/emscriptenhttp-async.c ../libgit2/src/libgit2/transports/emscriptenhttp.c
2626

2727
EXTRA_CMAKE_C_FLAGS="$ASYNCIFY_FLAGS"
2828
POST_JS="--post-js $(pwd)/post-async.js"
2929
fi
3030

3131
# Before building, remove any ../libgit2/src/transports/emscriptenhttp.c left from running setup.sh
32-
[ -f "../libgit2/src/transports/emscriptenhttp-async.c" ] && rm ../libgit2/src/transports/emscriptenhttp-async.c
32+
[ -f "../libgit2/src/libgit2/transports/emscriptenhttp-async.c" ] && rm ../libgit2/src/libgit2/transports/emscriptenhttp-async.c
3333

3434
emcmake cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_C_FLAGS="$EXTRA_CMAKE_C_FLAGS --pre-js $(pwd)/pre.js $POST_JS -s \"EXTRA_EXPORTED_RUNTIME_METHODS=['FS','callMain']\" -lnodefs.js -lidbfs.js -s INVOKE_RUN=0 -s ALLOW_MEMORY_GROWTH=1" -DREGEX_BACKEND=regcomp -DSONAME=OFF -DUSE_HTTPS=OFF -DBUILD_SHARED_LIBS=OFF -DTHREADSAFE=OFF -DUSE_SSH=OFF -DBUILD_CLAR=OFF -DBUILD_EXAMPLES=ON ../libgit2
35-
emcmake cmake -build ../libgit2
36-
emmake make
35+
emmake make lg2

libgit2patchedfiles/src/transports/emscriptenhttp-async.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
#include "git2/transport.h"
66
#include "smart.h"
77

8+
#define DEFAULT_BUFSIZE 65536
9+
810
static const char *upload_pack_ls_service_url = "/info/refs?service=git-upload-pack";
911
static const char *upload_pack_service_url = "/git-upload-pack";
1012
static const char *receive_pack_ls_service_url = "/info/refs?service=git-receive-pack";
@@ -123,25 +125,25 @@ static int emscriptenhttp_action(
123125
if (emscriptenhttp_stream_alloc(t, &s) < 0)
124126
return -1;
125127

126-
git_buf buf = GIT_BUF_INIT;
128+
git_str buf = GIT_STR_INIT;
127129

128130
switch(action) {
129131
case GIT_SERVICE_UPLOADPACK_LS:
130-
git_buf_printf(&buf, "%s%s", url, upload_pack_ls_service_url);
132+
git_str_printf(&buf, "%s%s", url, upload_pack_ls_service_url);
131133

132134
break;
133135
case GIT_SERVICE_UPLOADPACK:
134-
git_buf_printf(&buf, "%s%s", url, upload_pack_service_url);
136+
git_str_printf(&buf, "%s%s", url, upload_pack_service_url);
135137
break;
136138
case GIT_SERVICE_RECEIVEPACK_LS:
137-
git_buf_printf(&buf, "%s%s", url, receive_pack_ls_service_url);
139+
git_str_printf(&buf, "%s%s", url, receive_pack_ls_service_url);
138140
break;
139141
case GIT_SERVICE_RECEIVEPACK:
140-
git_buf_printf(&buf, "%s%s", url, receive_pack_service_url);
142+
git_str_printf(&buf, "%s%s", url, receive_pack_service_url);
141143
break;
142144
}
143145

144-
s->service_url = git_buf_cstr(&buf);
146+
s->service_url = git_str_cstr(&buf);
145147
*stream = &s->parent;
146148

147149
return 0;

libgit2patchedfiles/src/transports/emscriptenhttp.c

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
#include "git2/transport.h"
66
#include "smart.h"
77

8+
#define DEFAULT_BUFSIZE 65536
9+
810
static const char *upload_pack_ls_service_url = "/info/refs?service=git-upload-pack";
911
static const char *upload_pack_service_url = "/git-upload-pack";
1012
static const char *receive_pack_ls_service_url = "/info/refs?service=git-receive-pack";
@@ -109,25 +111,25 @@ static int emscriptenhttp_action(
109111
if (emscriptenhttp_stream_alloc(t, &s) < 0)
110112
return -1;
111113

112-
git_buf buf = GIT_BUF_INIT;
114+
git_str buf = GIT_STR_INIT;
113115

114116
switch(action) {
115117
case GIT_SERVICE_UPLOADPACK_LS:
116-
git_buf_printf(&buf, "%s%s", url, upload_pack_ls_service_url);
118+
git_str_printf(&buf, "%s%s", url, upload_pack_ls_service_url);
117119

118120
break;
119121
case GIT_SERVICE_UPLOADPACK:
120-
git_buf_printf(&buf, "%s%s", url, upload_pack_service_url);
122+
git_str_printf(&buf, "%s%s", url, upload_pack_service_url);
121123
break;
122124
case GIT_SERVICE_RECEIVEPACK_LS:
123-
git_buf_printf(&buf, "%s%s", url, receive_pack_ls_service_url);
125+
git_str_printf(&buf, "%s%s", url, receive_pack_ls_service_url);
124126
break;
125127
case GIT_SERVICE_RECEIVEPACK:
126-
git_buf_printf(&buf, "%s%s", url, receive_pack_service_url);
128+
git_str_printf(&buf, "%s%s", url, receive_pack_service_url);
127129
break;
128130
}
129131

130-
s->service_url = git_buf_cstr(&buf);
132+
s->service_url = git_str_cstr(&buf);
131133
*stream = &s->parent;
132134

133135
return 0;

nodefsclonetest

Lines changed: 0 additions & 1 deletion
This file was deleted.

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wasm-git",
3-
"version": "0.0.8",
3+
"version": "0.0.9",
44
"author": {
55
"name": "Peter Salomonsen",
66
"url": "https://petersalomonsen.com"

setup.sh

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
curl -L https://github.com/libgit2/libgit2/archive/refs/tags/v1.3.0.tar.gz --output libgit2.tar.gz
1+
curl -L https://github.com/libgit2/libgit2/archive/refs/tags/v1.5.0.tar.gz --output libgit2.tar.gz
22
tar -xzf libgit2.tar.gz
3-
mv libgit2-1.3.0 libgit2
3+
mv libgit2-1.5.0 libgit2
44
rm libgit2.tar.gz
5-
rm libgit2/src/transports/http.c
6-
cp -r libgit2patchedfiles/* libgit2/
7-
# with NODEFS we can't open a file for writing if mode is set to 0444
8-
sed -i 's/GIT_PACK_FILE_MODE 0444/GIT_PACK_FILE_MODE 0644/g' libgit2/src/pack.h
9-
sed -i 's/GIT_OBJECT_FILE_MODE 0444/GIT_OBJECT_FILE_MODE 0644/g' libgit2/src/odb.h
5+
rm libgit2/src/libgit2/transports/http.c
6+
cp -r libgit2patchedfiles/examples/* libgit2/examples/
7+
cp -r libgit2patchedfiles/src/* libgit2/src/libgit2/
8+
echo 'set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=gnu90")' >> libgit2/examples/CMakeLists.txt
9+
echo 'set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=gnu90")' >> libgit2/src/libgit2/CMakeLists.txt
10+
echo 'set(CMAKE_C90_STANDARD_COMPILE_OPTION "-std=gnu90")' >> libgit2/src/util/CMakeLists.txt
11+
sed -i 's/GIT_PACK_FILE_MODE 0444/GIT_PACK_FILE_MODE 0644/g' libgit2/src/libgit2/pack.h
12+
sed -i 's/GIT_OBJECT_FILE_MODE 0444/GIT_OBJECT_FILE_MODE 0644/g' libgit2/src/libgit2/odb.h

0 commit comments

Comments
 (0)