CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Tue, 12 Aug 2025 02:28:35 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20250426160724
location: https://web.archive.org/web/20250426160724/https://github.com/git/git/tree/master/copy.c
server-timing: captures_list;dur=0.713160, exclusion.robots;dur=0.023957, exclusion.robots.policy;dur=0.009328, esindex;dur=0.014726, cdx.remote;dur=102.224357, LoadShardBlock;dur=695.520211, PetaboxLoader3.datanode;dur=191.357801, PetaboxLoader3.resolve;dur=483.762600
x-app-server: wwwb-app215
x-ts: 302
x-tr: 832
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app215; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Tue, 12 Aug 2025 02:28:38 GMT
content-type: text/html; charset=utf-8
content-length: 0
x-archive-orig-date: Sat, 26 Apr 2025 16:07:24 GMT
x-archive-orig-content-length: 0
x-archive-orig-vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame,Accept-Encoding, Accept, X-Requested-With
location: https://web.archive.org/web/20250426160724/https://github.com/git/git/blob/master/copy.c
x-archive-orig-cache-control: no-cache
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-frame-options: deny
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-x-xss-protection: 0
x-archive-orig-referrer-policy: no-referrer-when-downgrade
x-archive-orig-content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
x-archive-orig-server: github.com
x-archive-orig-set-cookie: _gh_sess=I%2BrjyVs5TZfN9w9jlB0FUGU%2Fgn4erWcfdZOyAGnfsyL9%2Fy%2Fjyb%2Fbf2oPQBbAmhHHJ2MyfjDCJ1o7IGWBYdZz4XbQAdNoG9hXcTDSuISoWkJ7fqrcOjvE3XiRFoqcCVZYFH%2FC7VJHYZwsB5xmAPbYSj6FXEhbRF0bGaKAq%2FoTEBHl%2FnCjxAx%2BH2ZUic5dm8TS3zSEiy1gCTPpNesdvarViAkw6fc2KnFbLURT%2BmSC88StjfvXdEjXTVcLMnbFAOdH3uej3L72%2FPUSq%2Fhs1Lz12g%3D%3D--Ivq4lE5ndhcIPNW5--L6mH19E%2FmyZVxiw2x7VFdA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
x-archive-orig-set-cookie: _octo=GH1.1.203709968.1745683644; Path=/; Domain=github.com; Expires=Sun, 26 Apr 2026 16:07:24 GMT; Secure; SameSite=Lax
x-archive-orig-set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 26 Apr 2026 16:07:24 GMT; HttpOnly; Secure; SameSite=Lax
x-archive-orig-x-github-request-id: DDDC:8420D:47F3C48:4B1F789:680D04BC
x-archive-orig-connection: close
cache-control: max-age=1800
memento-datetime: Sat, 26 Apr 2025 16:07:24 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 26 Apr 2025 16:07:24 GMT", ; rel="memento"; datetime="Sat, 26 Apr 2025 16:07:24 GMT", ; rel="last memento"; datetime="Sat, 26 Apr 2025 16:07:24 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: SPNOUTLINKS-20250426160417-crawl919/SPNOUTLINKS-20250426160623-00058.warc.gz
server-timing: captures_list;dur=0.491915, exclusion.robots;dur=0.018694, exclusion.robots.policy;dur=0.008756, esindex;dur=0.009248, cdx.remote;dur=2324.260965, LoadShardBlock;dur=413.578315, PetaboxLoader3.resolve;dur=380.694782, PetaboxLoader3.datanode;dur=200.346615, load_resource;dur=191.818878
x-app-server: wwwb-app215
x-ts: 301
x-tr: 2954
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=1
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Tue, 12 Aug 2025 02:28:39 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20250409105654
location: https://web.archive.org/web/20250409105654/https://github.com/git/git/blob/master/copy.c
server-timing: captures_list;dur=0.643644, exclusion.robots;dur=0.024673, exclusion.robots.policy;dur=0.009732, esindex;dur=0.014408, cdx.remote;dur=130.513823, LoadShardBlock;dur=257.248431, PetaboxLoader3.datanode;dur=163.617106, PetaboxLoader3.resolve;dur=50.790783
x-app-server: wwwb-app215
x-ts: 302
x-tr: 413
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Tue, 12 Aug 2025 02:28:40 GMT
content-type: text/html; charset=utf-8
x-archive-orig-date: Wed, 09 Apr 2025 10:56:55 GMT
x-archive-orig-vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame,Accept-Encoding, Accept, X-Requested-With
x-archive-orig-etag: W/"bf01f27d065bf01c9f81bb1e1bcb106f"
x-archive-orig-cache-control: max-age=0, private, must-revalidate
x-archive-orig-strict-transport-security: max-age=31536000; includeSubdomains; preload
x-archive-orig-x-frame-options: deny
x-archive-orig-x-content-type-options: nosniff
x-archive-orig-x-xss-protection: 0
x-archive-orig-referrer-policy: no-referrer-when-downgrade
x-archive-orig-content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
x-archive-orig-server: github.com
x-archive-orig-accept-ranges: bytes
x-archive-orig-set-cookie: _gh_sess=yVsFhEmHCKm47aFsdj8OJwiAnRfaVRSh5u%2BK1N5qPXfsylYodtB5J67AosJYHTWMroKzMyxbc%2FCcBYyqdHRidqhGsJq8mTCQ7wWpbCwhgJ8IcWDOP2LI%2F7Q7hRCD%2F7U%2BzSQqkFbtf%2Fuh7dBPqED29k4kCVtRFd1BO9RrbGrEdciF4YoUaLSoLrlng0w97WQpzZ7NOrDsIameXRaJ8meY%2BvDLV%2Fvkx9bXh5AdJ8GkaM6S61kMsiWYxF2aJGrJ7QdOAYq29b6%2BEGotMZFt%2F17uTQ%3D%3D--VkJSGEP32XcyxRJW--C41OHvkihJ8d7tryTarDig%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
x-archive-orig-set-cookie: _octo=GH1.1.522419815.1744196214; Path=/; Domain=github.com; Expires=Thu, 09 Apr 2026 10:56:54 GMT; Secure; SameSite=Lax
x-archive-orig-set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Thu, 09 Apr 2026 10:56:54 GMT; HttpOnly; Secure; SameSite=Lax
x-archive-orig-x-github-request-id: 9C9E:29F9A3:1B2C3F0:1C647E8:67F65276
x-archive-orig-connection: close
x-archive-orig-transfer-encoding: chunked
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
x-archive-orig-content-encoding: gzip
memento-datetime: Wed, 09 Apr 2025 10:56:54 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Tue, 25 Jul 2017 18:48:03 GMT", ; rel="prev memento"; datetime="Mon, 07 Apr 2025 11:07:27 GMT", ; rel="memento"; datetime="Wed, 09 Apr 2025 10:56:54 GMT", ; rel="next memento"; datetime="Mon, 07 Jul 2025 01:49:25 GMT", ; rel="last memento"; datetime="Sat, 19 Jul 2025 16:03:35 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: SPNOUTLINKS-20250409104647-crawl922/SPNOUTLINKS-20250409105304-00127.warc.gz
server-timing: captures_list;dur=1.934122, exclusion.robots;dur=0.018373, exclusion.robots.policy;dur=0.008726, esindex;dur=0.012673, cdx.remote;dur=495.051030, LoadShardBlock;dur=339.692470, PetaboxLoader3.datanode;dur=253.667239, PetaboxLoader3.resolve;dur=277.938120, load_resource;dur=225.152934
x-app-server: wwwb-app215
x-ts: 200
x-tr: 1190
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
git/copy.c at master · git/git · GitHub
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 26.1k
/
Copy pathcopy.c
74 lines (66 loc) · 1.46 KB
/
copy.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#define USE_THE_REPOSITORY_VARIABLE
#include "git-compat-util.h"
#include "copy.h"
#include "path.h"
#include "gettext.h"
#include "strbuf.h"
#include "abspath.h"
int copy_fd(int ifd, int ofd)
{
while (1) {
char buffer[8192];
ssize_t len = xread(ifd, buffer, sizeof(buffer));
if (!len)
break;
if (len < 0)
return COPY_READ_ERROR;
if (write_in_full(ofd, buffer, len) < 0)
return COPY_WRITE_ERROR;
}
return 0;
}
static int copy_times(const char *dst, const char *src)
{
struct stat st;
struct utimbuf times;
if (stat(src, &st) < 0)
return -1;
times.actime = st.st_atime;
times.modtime = st.st_mtime;
if (utime(dst, ×) < 0)
return -1;
return 0;
}
int copy_file(const char *dst, const char *src, int mode)
{
int fdi, fdo, status;
mode = (mode & 0111) ? 0777 : 0666;
if ((fdi = open(src, O_RDONLY)) < 0)
return fdi;
if ((fdo = open(dst, O_WRONLY | O_CREAT | O_EXCL, mode)) < 0) {
close(fdi);
return fdo;
}
status = copy_fd(fdi, fdo);
switch (status) {
case COPY_READ_ERROR:
error_errno("copy-fd: read returned");
break;
case COPY_WRITE_ERROR:
error_errno("copy-fd: write returned");
break;
}
close(fdi);
if (close(fdo) != 0)
return error_errno("%s: close error", dst);
if (!status && adjust_shared_perm(the_repository, dst))
return -1;
return status;
}
int copy_file_with_time(const char *dst, const char *src, int mode)
{
int status = copy_file(dst, src, mode);
if (!status)
return copy_times(dst, src);
return status;
}
You can’t perform that action at this time.