Tim Hockin
4b7b68d34c
EOL the `--change-permissions` flag
...
This is a breaking change. The `--change-permissions` flag was too
coarse (e.g. changed directories and files alike) and not expressive (no
way to say "g+w").
I doubt if anyone was using it, and if they were, the new
`--group-write` is almost certainly what they want.
2023-05-11 09:42:20 -07:00
Tim Hockin
58cab771fc
e2e: Fix weirdly quoted strings
...
I have been meaning to do this forever.
2023-05-11 09:42:05 -07:00
Tim Hockin
ca36eb5733
Sort deprecated flag vars
2023-05-08 15:51:36 -07:00
Tim Hockin
a16175f4e3
Rename deprecated flag vars
2023-05-08 15:51:36 -07:00
Tim Hockin
12c1ece35f
Support in-place updates from v3
...
A few small accomodations and we can clean up properly.
2023-05-08 15:51:23 -07:00
Tim Hockin
7eaba7605a
Rename metric variables
2023-05-08 15:51:16 -07:00
Tim Hockin
d197740d85
Exercise the git "dubious ownership" path
...
To do this, we run the e2e test as a different user. To do that, we
need git-sync to make sure that everything is group accessible. To
clean up after the test, we need everything to be group writable. To do
that, we add a new flag: `--group-write`.
2023-05-07 10:29:39 -07:00
Tim Hockin
45c7b89674
V4: prevent git's 'dubious ownership' error
2023-05-07 10:29:39 -07:00
Tim Hockin
f287d63171
Fetch just once per run and when hash changes
2023-05-07 10:29:31 -07:00
Kubernetes Prow Robot
edcf77bde2
Merge pull request #730 from thockin/v4_go_1_20
...
Update to go 1.20
2023-05-05 14:51:16 -07:00
Tim Hockin
e033732c3c
Use absPath type for link and touchfile
2023-05-05 13:30:11 -07:00
Tim Hockin
6cd8b5a1cf
Add an absPath type and use it for git.root
2023-05-05 13:30:11 -07:00
Tim Hockin
fd0ec2131b
Update to go 1.20
2023-05-05 13:27:36 -07:00
Tim Hockin
64ed3bb5a7
Capture and simplify a git.Run() method
2023-05-04 17:42:08 -07:00
Tim Hockin
0bd5f19ac0
Make flag defs easier to read
2023-05-04 17:39:31 -07:00
Tim Hockin
7e6b429362
Make all env var names GITSYNC_FOO
...
Still support GIT_SYNC_FOO for compat.
2023-05-04 08:45:25 -07:00
Tim Hockin
5cc7160985
Clean up all old worktrees
2023-05-04 08:45:13 -07:00
Tim Hockin
10af97f51d
Move worktrees to .worktrees/*
...
This will make it easier to enumerate old worktrees and do better
cleanup.
2023-04-29 10:51:13 -07:00
Tim Hockin
988bfb7a01
e2e: handle log capture automatically
...
Same as test_git.sh
2023-04-29 10:44:07 -07:00
Tim Hockin
7370e9dc6f
Back-compat for --v usage
2023-04-29 10:42:52 -07:00
Tim Hockin
707d527e03
Add a doc about changing from v3 to v4
2023-04-29 10:42:26 -07:00
Tim Hockin
e84a4cb4fd
Make --webhook-success-status=0 the same as -1
2023-04-29 10:40:53 -07:00
Tim Hockin
20ed7df894
Makefile: set GOOS,GOARCH defaults to kill warning
2023-04-29 10:39:07 -07:00
Tim Hockin
cbedbc0ca5
Add test for repo size and change default GC
...
--git-gc=always seems to be the right tradeoff.
2023-04-28 14:07:54 -07:00
Tim Hockin
dc56d5d6bf
Tidy up log levels - logs read better now
2023-04-28 14:07:42 -07:00
Tim Hockin
f6678b98e8
Change the default depth to 1
...
For most users this is functionally equivalent and more efficient. For
users who really need the full history, set this to 0.
2023-04-28 14:07:35 -07:00
Tim Hockin
76e91a2304
Fine tune git command verbosity flags
2023-04-28 14:07:18 -07:00
Tim Hockin
07df59eccc
Move code (no edits), document methods
2023-04-28 14:07:05 -07:00
Tim Hockin
ee6664748f
Total overhaul of sync loop
...
The previous (v3) sync loop betrays my lack of understanding about git.
It tried to codify my archaic mental model (e.g. --branch and --rev
being disting things) and was ultimately a patchwork of corner-cases
evolved over a few years.
This commit is less of a "diff" and more of a "rewrite".
The new logic is simpler and more efficient. It does not `git clone`
ever. It does not differentiate the first sync from subsequent syncs.
It uses `git fetch` to get the exact SHA and then makes a worktree from
that.
The new `--ref` flag replaces both `--rev` and `--branch`, though it
will use those if specified. In fact, almost all of the e2e tests
passed without change - using --ref and --branch!
I will follow this commit up with more cleanups and e2es.
2023-04-21 17:25:25 -07:00
Tim Hockin
bb0128b883
Don't ignore invalid env vars
2023-04-06 17:46:19 -07:00
Tim Hockin
b36c6851a2
Use a private gitconfig file
...
This was changing my own ~/.gitconfig whenever run by hand outside of a
container. Oops.
2023-04-06 17:46:05 -07:00
Tim Hockin
026c6814c8
Add execution time to pkg/cmd runs
2023-04-06 17:45:54 -07:00
Tim Hockin
f95f3c24f7
e2e: print failing line
2023-04-06 17:45:36 -07:00
Tim Hockin
f4d067c987
e2e: compare numbers numerically, not lexically
...
Thanks, bash, for supporting `<` and `>` and making them NOT mean the
obvious thing.
This shows up when you set RUNS=10:
`[[ 2 < 10 ]]` is false
`(( 2 < 10 ))` is true
2023-04-06 17:45:26 -07:00
Tim Hockin
c1b8617385
e2e: s/REV/SHA
2023-04-06 17:45:16 -07:00
Kubernetes Prow Robot
cadd8b06e6
Merge pull request #684 from saschagrunert/debian-base
...
Bump debian-base build image to v1.4.3
2023-02-25 14:38:19 -08:00
Kubernetes Prow Robot
abb41da1e9
Merge pull request #683 from KimHyeonwoo/patch-1
...
fix typo
2023-02-25 14:36:20 -08:00
Sascha Grunert
c410fd4a62
Bump debian-base build image to v1.4.3
...
Signed-off-by: Sascha Grunert <sgrunert@redhat.com>
2023-02-22 12:35:40 +01:00
Tommy Hyeonwoo Kim
664fb74867
fix typo
2023-02-21 19:47:26 +09:00
Kubernetes Prow Robot
8fec7fa756
Merge pull request #680 from thockin/v4_git_tests
...
Add a test to exercise git
2023-02-17 11:50:02 -08:00
Kubernetes Prow Robot
1edf40bc2f
Merge pull request #682 from thockin/v4_e2e_init_test_cleanup
...
e2e: rename init tests, remove default-val args
2023-02-17 04:19:56 -08:00
Kubernetes Prow Robot
9cee1d5ba8
Merge pull request #681 from thockin/v4_log_deprecated_flags
...
Add logs when we use deprecated flags
2023-02-17 04:17:57 -08:00
Kubernetes Prow Robot
ee60157c67
Merge pull request #679 from thockin/v4_scripts_to_test_tools
...
e2e: move helper scripts to _test_tools/
2023-02-17 04:15:58 -08:00
Tim Hockin
31e2a2669d
Add logs when we use deprecated flags
2023-02-16 14:44:25 -08:00
Tim Hockin
75a256ee24
e2e: rename init tests, remove default-val args
...
Also don't pass --rev=HEAD when that's not part of the test. It's the
default value.
2023-02-16 13:58:12 -08:00
Tim Hockin
3133c38442
Add a test to exercise git
...
I keep having to cross-check whether things work the way I think they
work. I am codifying them into a test.
2023-02-16 12:52:58 -08:00
Tim Hockin
c5dcd87551
e2e: move helper scripts to _test_tools/
2023-02-15 12:22:29 -08:00
Kubernetes Prow Robot
e025726d0d
Merge pull request #678 from jmhbnz/master
...
Replace deprecated k8s registry references
2023-02-15 12:06:20 -08:00
Timothy Rule
2b3f1bcdd7
Add cli option sync-on-signal to trigger git-sync with a signal. ( #664 )
...
Operation:
git-sync --repo https://github.com/kubernetes/kubernetes --sync-on-signal SIGHUP
git-sync --repo https://github.com/kubernetes/kubernetes --sync-on-signal HUP
git-sync --repo https://github.com/kubernetes/kubernetes --sync-on-signal 1
Signals can be sent to docker containers with cmd:
docker kill -signal SIGHUP <Container ID>
2023-02-15 12:00:22 -08:00
Kubernetes Prow Robot
f7ff396716
Merge pull request #673 from thockin/v4_e2e_runs_maxwait_metrics
...
v4: e2e improvements
2023-02-14 13:31:52 -08:00