File: t-attributes.sh

package info (click to toggle)
git-lfs 2.13.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 4,384 kB
  • sloc: sh: 16,421; makefile: 418; ruby: 100
file content (86 lines) | stat: -rwxr-xr-x 2,015 bytes parent folder | download | duplicates (2)
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
75
76
77
78
79
80
81
82
83
84
85
86
#!/usr/bin/env bash

. "$(dirname "$0")/testlib.sh"

begin_test "macros"
(
  set -e

  reponame="$(basename "$0" ".sh")"
  clone_repo "$reponame" repo

  mkdir dir
  printf '[attr]lfs filter=lfs diff=lfs merge=lfs -text\n*.dat lfs\n' \
    > .gitattributes
  printf '[attr]lfs2 filter=lfs diff=lfs merge=lfs -text\n*.bin lfs2\n' \
    > dir/.gitattributes
  git add .gitattributes dir
  git commit -m 'initial import'

  contents="some data"
  printf "$contents" > foo.dat
  git add *.dat
  git commit -m 'foo.dat'
  assert_local_object "$(calc_oid "$contents")" 9

  contents2="other data"
  printf "$contents2" > dir/foo.bin
  git add dir
  git commit -m 'foo.bin'
  refute_local_object "$(calc_oid "$contents2")"

  git lfs track '*.dat' 2>&1 | tee track.log
  grep '"*.dat" already supported' track.log

  git lfs track 'dir/*.bin' 2>&1 | tee track.log
  ! grep '"dir/*.bin" already supported' track.log
)
end_test

begin_test "macros with HOME"
(
  set -e

  reponame="$(basename "$0" ".sh")-home"
  clone_repo "$reponame" repo-home

  mkdir -p "$HOME/.config/git"
  printf '[attr]lfs filter=lfs diff=lfs merge=lfs -text\n*.dat lfs\n' \
    > "$HOME/.config/git/attributes"

  contents="some data"
  printf "$contents" > foo.dat
  git add *.dat
  git commit -m 'foo.dat'
  assert_local_object "$(calc_oid "$contents")" 9

  git lfs track 2>&1 | tee track.log
  grep '*.dat' track.log
)
end_test

begin_test "macros with HOME split"
(
  set -e

  reponame="$(basename "$0" ".sh")-home-split"
  clone_repo "$reponame" repo-home-split

  mkdir -p "$HOME/.config/git"
  printf '[attr]lfs filter=lfs diff=lfs merge=lfs -text\n' \
    > "$HOME/.config/git/attributes"

  printf '*.dat lfs\n' > .gitattributes
  git add .gitattributes
  git commit -m 'initial import'

  contents="some data"
  printf "$contents" > foo.dat
  git add *.dat
  git commit -m 'foo.dat'
  assert_local_object "$(calc_oid "$contents")" 9

  git lfs track '*.dat' 2>&1 | tee track.log
  grep '"*.dat" already supported' track.log
)
end_test