https://github.com/postgres/postgres
The code introduced by bed9075 to enhance the stat() implementation on Windows for file sizes larger than 4GB fails to properly detect files pending for deletion with its method based on NtQueryInformationFile() or GetFileInformationByHandleEx(), as proved by Alexander Lakhin in a custom TAP test of his own. The method used in the implementation of open() to sleep and loop when when failing on ERROR_ACCESS_DENIED (EACCES) is showing much more stability, so switch to this method. This could still lead to issues if the permission problem stays around for much longer than the timeout of 1 second used, but that should (hopefully) never happen in performance-critical paths. Still, there could be a point in increasing the timeouts for the sake of machines that handle heavy loads. Note that WIN32's open() now uses microsoft_native_stat() as it should be similar to stat() when working around issues with concurrent file deletions. I have spent some time testing this patch with pgbench in combination of the SQL functions from genfile.c, as well as running the TAP test provided on the thread with MSVC builds, and this looks much more stable than the previous method. Author: Alexander Lakhin Reviewed-by: Tom Lane, Michael Paquier, Justin Pryzby Discussion: https://postgr.es/m/c3427edf-d7c0-ff57-90f6-b5de3bb62709@gmail.com Backpatch-through: 14
- HEAD
- refs/heads/REL2_0B
- refs/heads/REL6_4
- refs/heads/REL6_5_PATCHES
- refs/heads/REL7_0_PATCHES
- refs/heads/REL7_1_STABLE
- refs/heads/REL7_2_STABLE
- refs/heads/REL7_3_STABLE
- refs/heads/REL7_4_STABLE
- refs/heads/REL8_0_STABLE
- refs/heads/REL8_1_STABLE
- refs/heads/REL8_2_STABLE
- refs/heads/REL8_3_STABLE
- refs/heads/REL8_4_STABLE
- refs/heads/REL8_5_ALPHA1_BRANCH
- refs/heads/REL8_5_ALPHA2_BRANCH
- refs/heads/REL8_5_ALPHA3_BRANCH
- refs/heads/REL9_0_ALPHA4_BRANCH
- refs/heads/REL9_0_ALPHA5_BRANCH
- refs/heads/REL9_0_STABLE
- refs/heads/REL9_1_STABLE
- refs/heads/REL9_2_STABLE
- refs/heads/REL9_3_STABLE
- refs/heads/REL9_4_STABLE
- refs/heads/REL9_5_STABLE
- refs/heads/REL9_6_STABLE
- refs/heads/REL_10_STABLE
- refs/heads/REL_11_STABLE
- refs/heads/REL_12_STABLE
- refs/heads/REL_13_STABLE
- refs/heads/REL_14_STABLE
- refs/heads/REL_15_STABLE
- refs/heads/REL_16_STABLE
- refs/heads/Release_1_0_3
- refs/heads/WIN32_DEV
- refs/heads/ecpg_big_bison
- refs/heads/master
- refs/tags/PG95-1_01
- refs/tags/PG95-1_08
- refs/tags/PG95-1_09
- refs/tags/REL2_0
- refs/tags/REL6_1
- refs/tags/REL6_1_1
- refs/tags/REL6_2
- refs/tags/REL6_2_1
- refs/tags/REL6_3
- refs/tags/REL6_3_2
- refs/tags/REL6_4_2
- refs/tags/REL6_5
- refs/tags/REL6_5_1
- refs/tags/REL6_5_2
- refs/tags/REL6_5_3
- refs/tags/REL7_0
- refs/tags/REL7_0_2
- refs/tags/REL7_0_3
- refs/tags/REL7_1
- refs/tags/REL7_1_1
- refs/tags/REL7_1_2
- refs/tags/REL7_1_3
- refs/tags/REL7_1_BETA
- refs/tags/REL7_1_BETA2
- refs/tags/REL7_1_BETA3
- refs/tags/REL7_2
- refs/tags/REL7_2_1
- refs/tags/REL7_2_2
- refs/tags/REL7_2_3
- refs/tags/REL7_2_4
- refs/tags/REL7_2_5
- refs/tags/REL7_2_6
- refs/tags/REL7_2_7
- refs/tags/REL7_2_8
- refs/tags/REL7_2_BETA1
- refs/tags/REL7_2_BETA2
- refs/tags/REL7_2_BETA3
- refs/tags/REL7_2_BETA4
- refs/tags/REL7_2_BETA5
- refs/tags/REL7_2_RC1
- refs/tags/REL7_2_RC2
- refs/tags/REL7_3
- refs/tags/REL7_3_1
- refs/tags/REL7_3_10
- refs/tags/REL7_3_11
- refs/tags/REL7_3_12
- refs/tags/REL7_3_13
- refs/tags/REL7_3_14
- refs/tags/REL7_3_15
- refs/tags/REL7_3_16
- refs/tags/REL7_3_17
- refs/tags/REL7_3_18
- refs/tags/REL7_3_19
- refs/tags/REL7_3_2
- refs/tags/REL7_3_20
- refs/tags/REL7_3_21
- refs/tags/REL7_3_3
- refs/tags/REL7_3_4
- refs/tags/REL7_3_5
- refs/tags/REL7_3_6
- refs/tags/REL7_3_7
- refs/tags/REL7_3_8
- refs/tags/REL7_3_9
- refs/tags/REL7_4
- refs/tags/REL7_4_1
- refs/tags/REL7_4_10
- refs/tags/REL7_4_11
- refs/tags/REL7_4_12
- refs/tags/REL7_4_13
- refs/tags/REL7_4_14
- refs/tags/REL7_4_15
- refs/tags/REL7_4_16
- refs/tags/REL7_4_17
- refs/tags/REL7_4_18
- refs/tags/REL7_4_19
- refs/tags/REL7_4_2
- refs/tags/REL7_4_20
- refs/tags/REL7_4_21
- refs/tags/REL7_4_22
- refs/tags/REL7_4_23
- refs/tags/REL7_4_24
- refs/tags/REL7_4_25
- refs/tags/REL7_4_26
- refs/tags/REL7_4_27
- refs/tags/REL7_4_28
- refs/tags/REL7_4_29
- refs/tags/REL7_4_3
- refs/tags/REL7_4_30
- refs/tags/REL7_4_4
- refs/tags/REL7_4_5
- refs/tags/REL7_4_6
- refs/tags/REL7_4_7
- refs/tags/REL7_4_8
- refs/tags/REL7_4_9
- refs/tags/REL7_4_BETA1
- refs/tags/REL7_4_BETA2
- refs/tags/REL7_4_BETA3
- refs/tags/REL7_4_BETA4
- refs/tags/REL7_4_BETA5
- refs/tags/REL7_4_RC1
- refs/tags/REL7_4_RC2
- refs/tags/REL8_0_0
- refs/tags/REL8_0_0BETA1
- refs/tags/REL8_0_0BETA2
- refs/tags/REL8_0_0BETA3
- refs/tags/REL8_0_0BETA4
- refs/tags/REL8_0_0BETA5
- refs/tags/REL8_0_0RC1
- refs/tags/REL8_0_0RC2
- refs/tags/REL8_0_0RC3
- refs/tags/REL8_0_0RC4
- refs/tags/REL8_0_0RC5
- refs/tags/REL8_0_1
- refs/tags/REL8_0_10
- refs/tags/REL8_0_11
- refs/tags/REL8_0_12
- refs/tags/REL8_0_13
- refs/tags/REL8_0_14
- refs/tags/REL8_0_15
- refs/tags/REL8_0_16
- refs/tags/REL8_0_17
- refs/tags/REL8_0_18
- refs/tags/REL8_0_19
- refs/tags/REL8_0_2
- refs/tags/REL8_0_20
- refs/tags/REL8_0_21
- refs/tags/REL8_0_22
- refs/tags/REL8_0_23
- refs/tags/REL8_0_24
- refs/tags/REL8_0_25
- refs/tags/REL8_0_26
- refs/tags/REL8_0_3
- refs/tags/REL8_0_4
- refs/tags/REL8_0_5
- refs/tags/REL8_0_6
- refs/tags/REL8_0_7
- refs/tags/REL8_0_8
- refs/tags/REL8_0_9
- refs/tags/REL8_1_0
- refs/tags/REL8_1_0BETA1
- refs/tags/REL8_1_0BETA2
- refs/tags/REL8_1_0BETA3
- refs/tags/REL8_1_0BETA4
- refs/tags/REL8_1_0RC1
- refs/tags/REL8_1_1
- refs/tags/REL8_1_10
- refs/tags/REL8_1_11
- refs/tags/REL8_1_12
- refs/tags/REL8_1_13
- refs/tags/REL8_1_14
- refs/tags/REL8_1_15
- refs/tags/REL8_1_16
- refs/tags/REL8_1_17
- refs/tags/REL8_1_18
- refs/tags/REL8_1_19
- refs/tags/REL8_1_2
- refs/tags/REL8_1_20
- refs/tags/REL8_1_21
- refs/tags/REL8_1_22
- refs/tags/REL8_1_23
- refs/tags/REL8_1_3
- refs/tags/REL8_1_4
- refs/tags/REL8_1_5
- refs/tags/REL8_1_6
- refs/tags/REL8_1_7
- refs/tags/REL8_1_8
- refs/tags/REL8_1_9
- refs/tags/REL8_2_0
- refs/tags/REL8_2_1
- refs/tags/REL8_2_10
- refs/tags/REL8_2_11
- refs/tags/REL8_2_12
- refs/tags/REL8_2_13
- refs/tags/REL8_2_14
- refs/tags/REL8_2_15
- refs/tags/REL8_2_16
- refs/tags/REL8_2_17
- refs/tags/REL8_2_18
- refs/tags/REL8_2_19
- refs/tags/REL8_2_2
- refs/tags/REL8_2_20
- refs/tags/REL8_2_21
- refs/tags/REL8_2_22
- refs/tags/REL8_2_23
- refs/tags/REL8_2_3
- refs/tags/REL8_2_4
- refs/tags/REL8_2_5
- refs/tags/REL8_2_6
- refs/tags/REL8_2_7
- refs/tags/REL8_2_8
- refs/tags/REL8_2_9
- refs/tags/REL8_2_BETA1
- refs/tags/REL8_2_BETA2
- refs/tags/REL8_2_BETA3
- refs/tags/REL8_2_RC1
- refs/tags/REL8_3_0
- refs/tags/REL8_3_1
- refs/tags/REL8_3_10
- refs/tags/REL8_3_11
- refs/tags/REL8_3_12
- refs/tags/REL8_3_13
- refs/tags/REL8_3_14
- refs/tags/REL8_3_15
- refs/tags/REL8_3_16
- refs/tags/REL8_3_17
- refs/tags/REL8_3_18
- refs/tags/REL8_3_19
- refs/tags/REL8_3_2
- refs/tags/REL8_3_20
- refs/tags/REL8_3_21
- refs/tags/REL8_3_22
- refs/tags/REL8_3_23
- refs/tags/REL8_3_3
- refs/tags/REL8_3_4
- refs/tags/REL8_3_5
- refs/tags/REL8_3_6
- refs/tags/REL8_3_7
- refs/tags/REL8_3_8
- refs/tags/REL8_3_9
- refs/tags/REL8_3_BETA1
- refs/tags/REL8_3_BETA2
- refs/tags/REL8_3_BETA3
- refs/tags/REL8_3_BETA4
- refs/tags/REL8_3_RC1
- refs/tags/REL8_3_RC2
- refs/tags/REL8_4_0
- refs/tags/REL8_4_1
- refs/tags/REL8_4_10
- refs/tags/REL8_4_11
- refs/tags/REL8_4_12
- refs/tags/REL8_4_13
- refs/tags/REL8_4_14
- refs/tags/REL8_4_15
- refs/tags/REL8_4_16
- refs/tags/REL8_4_17
- refs/tags/REL8_4_18
- refs/tags/REL8_4_19
- refs/tags/REL8_4_2
- refs/tags/REL8_4_20
- refs/tags/REL8_4_21
- refs/tags/REL8_4_22
- refs/tags/REL8_4_3
- refs/tags/REL8_4_4
- refs/tags/REL8_4_5
- refs/tags/REL8_4_6
- refs/tags/REL8_4_7
- refs/tags/REL8_4_8
- refs/tags/REL8_4_9
- refs/tags/REL8_4_BETA1
- refs/tags/REL8_4_BETA2
- refs/tags/REL8_4_RC1
- refs/tags/REL8_4_RC2
- refs/tags/REL8_5_ALPHA1
- refs/tags/REL8_5_ALPHA2
- refs/tags/REL8_5_ALPHA3
- refs/tags/REL9_0_0
- refs/tags/REL9_0_1
- refs/tags/REL9_0_10
- refs/tags/REL9_0_11
- refs/tags/REL9_0_12
- refs/tags/REL9_0_13
- refs/tags/REL9_0_14
- refs/tags/REL9_0_15
- refs/tags/REL9_0_16
- refs/tags/REL9_0_17
- refs/tags/REL9_0_18
- refs/tags/REL9_0_19
- refs/tags/REL9_0_2
- refs/tags/REL9_0_20
- refs/tags/REL9_0_21
- refs/tags/REL9_0_22
- refs/tags/REL9_0_23
- refs/tags/REL9_0_3
- refs/tags/REL9_0_4
- refs/tags/REL9_0_5
- refs/tags/REL9_0_6
- refs/tags/REL9_0_7
- refs/tags/REL9_0_8
- refs/tags/REL9_0_9
- refs/tags/REL9_0_ALPHA4
- refs/tags/REL9_0_ALPHA5
- refs/tags/REL9_0_BETA1
- refs/tags/REL9_0_BETA2
- refs/tags/REL9_0_BETA3
- refs/tags/REL9_0_BETA4
- refs/tags/REL9_0_RC1
- refs/tags/REL9_1_0
- refs/tags/REL9_1_1
- refs/tags/REL9_1_10
- refs/tags/REL9_1_11
- refs/tags/REL9_1_12
- refs/tags/REL9_1_13
- refs/tags/REL9_1_14
- refs/tags/REL9_1_15
- refs/tags/REL9_1_16
- refs/tags/REL9_1_17
- refs/tags/REL9_1_18
- refs/tags/REL9_1_19
- refs/tags/REL9_1_2
- refs/tags/REL9_1_20
- refs/tags/REL9_1_21
- refs/tags/REL9_1_22
- refs/tags/REL9_1_23
- refs/tags/REL9_1_24
- refs/tags/REL9_1_3
- refs/tags/REL9_1_4
- refs/tags/REL9_1_5
- refs/tags/REL9_1_6
- refs/tags/REL9_1_7
- refs/tags/REL9_1_8
- refs/tags/REL9_1_9
- refs/tags/REL9_1_ALPHA1
- refs/tags/REL9_1_ALPHA2
- refs/tags/REL9_1_ALPHA3
- refs/tags/REL9_1_ALPHA4
- refs/tags/REL9_1_ALPHA5
- refs/tags/REL9_1_BETA1
- refs/tags/REL9_1_BETA2
- refs/tags/REL9_1_BETA3
- refs/tags/REL9_1_RC1
- refs/tags/REL9_2_0
- refs/tags/REL9_2_1
- refs/tags/REL9_2_10
- refs/tags/REL9_2_11
- refs/tags/REL9_2_12
- refs/tags/REL9_2_13
- refs/tags/REL9_2_14
- refs/tags/REL9_2_15
- refs/tags/REL9_2_16
- refs/tags/REL9_2_17
- refs/tags/REL9_2_18
- refs/tags/REL9_2_19
- refs/tags/REL9_2_2
- refs/tags/REL9_2_20
- refs/tags/REL9_2_21
- refs/tags/REL9_2_22
- refs/tags/REL9_2_23
- refs/tags/REL9_2_24
- refs/tags/REL9_2_3
- refs/tags/REL9_2_4
- refs/tags/REL9_2_5
- refs/tags/REL9_2_6
- refs/tags/REL9_2_7
- refs/tags/REL9_2_8
- refs/tags/REL9_2_9
- refs/tags/REL9_2_BETA1
- refs/tags/REL9_2_BETA2
- refs/tags/REL9_2_BETA3
- refs/tags/REL9_2_BETA4
- refs/tags/REL9_2_RC1
- refs/tags/REL9_3_0
- refs/tags/REL9_3_1
- refs/tags/REL9_3_10
- refs/tags/REL9_3_11
- refs/tags/REL9_3_12
- refs/tags/REL9_3_13
- refs/tags/REL9_3_14
- refs/tags/REL9_3_15
- refs/tags/REL9_3_16
- refs/tags/REL9_3_17
- refs/tags/REL9_3_18
- refs/tags/REL9_3_19
- refs/tags/REL9_3_2
- refs/tags/REL9_3_20
- refs/tags/REL9_3_21
- refs/tags/REL9_3_22
- refs/tags/REL9_3_23
- refs/tags/REL9_3_24
- refs/tags/REL9_3_25
- refs/tags/REL9_3_3
- refs/tags/REL9_3_4
- refs/tags/REL9_3_5
- refs/tags/REL9_3_6
- refs/tags/REL9_3_7
- refs/tags/REL9_3_8
- refs/tags/REL9_3_9
- refs/tags/REL9_3_BETA1
- refs/tags/REL9_3_BETA2
- refs/tags/REL9_3_RC1
- refs/tags/REL9_4_0
- refs/tags/REL9_4_1
- refs/tags/REL9_4_10
- refs/tags/REL9_4_11
- refs/tags/REL9_4_12
- refs/tags/REL9_4_13
- refs/tags/REL9_4_14
- refs/tags/REL9_4_15
- refs/tags/REL9_4_16
- refs/tags/REL9_4_17
- refs/tags/REL9_4_18
- refs/tags/REL9_4_19
- refs/tags/REL9_4_2
- refs/tags/REL9_4_20
- refs/tags/REL9_4_21
- refs/tags/REL9_4_22
- refs/tags/REL9_4_23
- refs/tags/REL9_4_24
- refs/tags/REL9_4_25
- refs/tags/REL9_4_26
- refs/tags/REL9_4_3
- refs/tags/REL9_4_4
- refs/tags/REL9_4_5
- refs/tags/REL9_4_6
- refs/tags/REL9_4_7
- refs/tags/REL9_4_8
- refs/tags/REL9_4_9
- refs/tags/REL9_4_BETA1
- refs/tags/REL9_4_BETA2
- refs/tags/REL9_4_BETA3
- refs/tags/REL9_4_RC1
- refs/tags/REL9_5_0
- refs/tags/REL9_5_1
- refs/tags/REL9_5_10
- refs/tags/REL9_5_11
- refs/tags/REL9_5_12
- refs/tags/REL9_5_13
- refs/tags/REL9_5_14
- refs/tags/REL9_5_15
- refs/tags/REL9_5_16
- refs/tags/REL9_5_17
- refs/tags/REL9_5_18
- refs/tags/REL9_5_19
- refs/tags/REL9_5_2
- refs/tags/REL9_5_20
- refs/tags/REL9_5_21
- refs/tags/REL9_5_22
- refs/tags/REL9_5_23
- refs/tags/REL9_5_24
- refs/tags/REL9_5_25
- refs/tags/REL9_5_3
- refs/tags/REL9_5_4
- refs/tags/REL9_5_5
- refs/tags/REL9_5_6
- refs/tags/REL9_5_7
- refs/tags/REL9_5_8
- refs/tags/REL9_5_9
- refs/tags/REL9_5_ALPHA1
- refs/tags/REL9_5_ALPHA2
- refs/tags/REL9_5_BETA1
- refs/tags/REL9_5_BETA2
- refs/tags/REL9_5_RC1
- refs/tags/REL9_6_0
- refs/tags/REL9_6_1
- refs/tags/REL9_6_10
- refs/tags/REL9_6_11
- refs/tags/REL9_6_12
- refs/tags/REL9_6_13
- refs/tags/REL9_6_14
- refs/tags/REL9_6_15
- refs/tags/REL9_6_16
- refs/tags/REL9_6_17
- refs/tags/REL9_6_18
- refs/tags/REL9_6_19
- refs/tags/REL9_6_2
- refs/tags/REL9_6_20
- refs/tags/REL9_6_21
- refs/tags/REL9_6_22
- refs/tags/REL9_6_23
- refs/tags/REL9_6_24
- refs/tags/REL9_6_3
- refs/tags/REL9_6_4
- refs/tags/REL9_6_5
- refs/tags/REL9_6_6
- refs/tags/REL9_6_7
- refs/tags/REL9_6_8
- refs/tags/REL9_6_9
- refs/tags/REL9_6_BETA1
- refs/tags/REL9_6_BETA2
- refs/tags/REL9_6_BETA3
- refs/tags/REL9_6_BETA4
- refs/tags/REL9_6_RC1
- refs/tags/REL_10_0
- refs/tags/REL_10_1
- refs/tags/REL_10_10
- refs/tags/REL_10_11
- refs/tags/REL_10_12
- refs/tags/REL_10_13
- refs/tags/REL_10_14
- refs/tags/REL_10_15
- refs/tags/REL_10_16
- refs/tags/REL_10_17
- refs/tags/REL_10_18
- refs/tags/REL_10_19
- refs/tags/REL_10_2
- refs/tags/REL_10_20
- refs/tags/REL_10_21
- refs/tags/REL_10_22
- refs/tags/REL_10_23
- refs/tags/REL_10_3
- refs/tags/REL_10_4
- refs/tags/REL_10_5
- refs/tags/REL_10_6
- refs/tags/REL_10_7
- refs/tags/REL_10_8
- refs/tags/REL_10_9
- refs/tags/REL_10_BETA1
- refs/tags/REL_10_BETA2
- refs/tags/REL_10_BETA3
- refs/tags/REL_10_BETA4
- refs/tags/REL_10_RC1
- refs/tags/REL_11_0
- refs/tags/REL_11_1
- refs/tags/REL_11_10
- refs/tags/REL_11_11
- refs/tags/REL_11_12
- refs/tags/REL_11_13
- refs/tags/REL_11_14
- refs/tags/REL_11_15
- refs/tags/REL_11_16
- refs/tags/REL_11_17
- refs/tags/REL_11_18
- refs/tags/REL_11_19
- refs/tags/REL_11_2
- refs/tags/REL_11_20
- refs/tags/REL_11_21
- refs/tags/REL_11_22
- refs/tags/REL_11_3
- refs/tags/REL_11_4
- refs/tags/REL_11_5
- refs/tags/REL_11_6
- refs/tags/REL_11_7
- refs/tags/REL_11_8
- refs/tags/REL_11_9
- refs/tags/REL_11_BETA1
- refs/tags/REL_11_BETA2
- refs/tags/REL_11_BETA3
- refs/tags/REL_11_BETA4
- refs/tags/REL_11_RC1
- refs/tags/REL_12_0
- refs/tags/REL_12_1
- refs/tags/REL_12_10
- refs/tags/REL_12_11
- refs/tags/REL_12_12
- refs/tags/REL_12_13
- refs/tags/REL_12_14
- refs/tags/REL_12_15
- refs/tags/REL_12_16
- refs/tags/REL_12_17
- refs/tags/REL_12_18
- refs/tags/REL_12_2
- refs/tags/REL_12_3
- refs/tags/REL_12_4
- refs/tags/REL_12_5
- refs/tags/REL_12_6
- refs/tags/REL_12_7
- refs/tags/REL_12_8
- refs/tags/REL_12_9
- refs/tags/REL_12_BETA1
- refs/tags/REL_12_BETA2
- refs/tags/REL_12_BETA3
- refs/tags/REL_12_BETA4
- refs/tags/REL_12_RC1
- refs/tags/REL_13_0
- refs/tags/REL_13_1
- refs/tags/REL_13_10
- refs/tags/REL_13_11
- refs/tags/REL_13_12
- refs/tags/REL_13_13
- refs/tags/REL_13_14
- refs/tags/REL_13_2
- refs/tags/REL_13_3
- refs/tags/REL_13_4
- refs/tags/REL_13_5
- refs/tags/REL_13_6
- refs/tags/REL_13_7
- refs/tags/REL_13_8
- refs/tags/REL_13_9
- refs/tags/REL_13_BETA1
- refs/tags/REL_13_BETA2
- refs/tags/REL_13_BETA3
- refs/tags/REL_13_RC1
- refs/tags/REL_14_0
- refs/tags/REL_14_1
- refs/tags/REL_14_10
- refs/tags/REL_14_11
- refs/tags/REL_14_2
- refs/tags/REL_14_3
- refs/tags/REL_14_4
- refs/tags/REL_14_5
- refs/tags/REL_14_6
- refs/tags/REL_14_7
- refs/tags/REL_14_8
- refs/tags/REL_14_9
- refs/tags/REL_14_BETA1
- refs/tags/REL_14_BETA2
- refs/tags/REL_14_BETA3
- refs/tags/REL_14_RC1
- refs/tags/REL_15_0
- refs/tags/REL_15_1
- refs/tags/REL_15_2
- refs/tags/REL_15_3
- refs/tags/REL_15_4
- refs/tags/REL_15_5
- refs/tags/REL_15_6
- refs/tags/REL_15_BETA1
- refs/tags/REL_15_BETA2
- refs/tags/REL_15_BETA3
- refs/tags/REL_15_BETA4
- refs/tags/REL_15_RC1
- refs/tags/REL_15_RC2
- refs/tags/REL_16_0
- refs/tags/REL_16_1
- refs/tags/REL_16_2
- refs/tags/REL_16_BETA1
- refs/tags/REL_16_BETA2
- refs/tags/REL_16_BETA3
- refs/tags/REL_16_RC1
- refs/tags/Release_1_0_2
- refs/tags/Release_2_0
- refs/tags/Release_2_0_0
- refs/tags/release-6-3
- de1510e2f5a1826890b206253016ebfc592c2f0a
Cook and download a directory from the Software Heritage Vault
You have requested the cooking of the directory with identifier swh:1:dir:37a384fceb98097c480d2f5b93ef4244f5652426 into a standard tar.gz archive
.
Are you sure you want to continue ?
Download a directory from the Software Heritage Vault
You have requested the download of the directory with identifier swh:1:dir:37a384fceb98097c480d2f5b93ef4244f5652426 as a standard tar.gz archive
.
Are you sure you want to continue ?
Cook and download a revision from the Software Heritage Vault
You have requested the cooking of the history heading to revision with identifier swh:1:rev:de1510e2f5a1826890b206253016ebfc592c2f0a into a bare git archive
.
Are you sure you want to continue ?
Download a revision from the Software Heritage Vault
You have requested the download of the history heading to revision with identifier swh:1:rev:de1510e2f5a1826890b206253016ebfc592c2f0a as a bare git archive
.
Are you sure you want to continue ?
Invalid Email !
The provided email is not well-formed.
Download link has expired
The requested archive is no longer available for download from the Software Heritage Vault.
Do you want to cook it again ?
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.Processing "take a new snapshot" request ...
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Fix issues with Windows' stat() for files pending on deletion
File | Mode | Size |
---|---|---|
config | ||
contrib | ||
doc | ||
src | ||
.dir-locals.el | -rw-r--r-- | 730 bytes |
.editorconfig | -rw-r--r-- | 183 bytes |
.git-blame-ignore-revs | -rw-r--r-- | 8.6 KB |
.gitattributes | -rw-r--r-- | 1.5 KB |
.gitignore | -rw-r--r-- | 504 bytes |
COPYRIGHT | -rw-r--r-- | 1.2 KB |
GNUmakefile.in | -rw-r--r-- | 4.2 KB |
HISTORY | -rw-r--r-- | 277 bytes |
Makefile | -rw-r--r-- | 1.6 KB |
README | -rw-r--r-- | 1.2 KB |
README.git | -rw-r--r-- | 721 bytes |
aclocal.m4 | -rw-r--r-- | 490 bytes |
configure | -rwxr-xr-x | 566.9 KB |
configure.ac | -rw-r--r-- | 81.9 KB |
Computing file changes ...